Daten mit vom Kunden verwalteten Verschlüsselungsschlüsseln verschlüsseln

Auf dieser Seite wird beschrieben, wie Sie die Daten auf Ihren Filestore-Instanzen und Backup-Sicherungen mit Ihren eigenen Verschlüsselungsschlüsseln verschlüsseln.

Standardmäßig verschlüsselt Google Cloud inaktive Daten automatisch mit von Google Cloud verwalteten Verschlüsselungsschlüsseln. Wenn Sie mehr Kontrolle über die Schlüssel zum Schutz Ihrer Daten benötigen, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel für Filestore verwenden.

Optionen für vom Kunden verwaltete Verschlüsselungsschlüssel

Der Cloud Key Management Service unterstützt vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK), die als Softwareschlüssel, als Hardwareschlüssel in einem HSM-Cluster oder extern in Cloud External Key Manager (Cloud EKM) gespeichert werden können. Es stehen mehrere Optionen zur Verfügung.

Weitere Informationen finden Sie unter Cloud Key Management Service.

Cloud External Key Manager

Cloud EKM-Unterstützung für Filestore ist jetzt allgemein verfügbar (GA). Weitere Informationen finden Sie unter Cloud External Key Manager.

Störungen des EKM-Dienstes

Externe Schlüssel werden standardmäßig von einem Drittanbieter verwaltet. In diesen Fällen ist Google Cloud nicht für die Schlüsselverfügbarkeit verantwortlich.

Wenn der Cloud Key Management Service (Cloud KMS) vom External Key Manager (EKM) darüber informiert wird, dass ein externer Schlüssel nicht erreichbar ist, erhalten Nutzer eine ekm_key_unreachable_detected-Benachrichtigung. Nutzer haben bis zu einer Stunde lang eingeschränkten Zugriff auf Vorgänge in der Instanz. Wenn der Schlüsselstatus nach einer Stunde unverändert ist, werden die folgenden Aktionen ausgeführt:

  • Der Schlüssel ist deaktiviert.
  • Alle Verschlüsselungs- und Entschlüsselungsvorgänge schlagen fehl.
  • Die Filestore-Instanz wurde angehalten.

In einigen Fällen, z. B. bei einem ungeplanten Ereignis wie einem VM-Neustart, kann der Zugriff auf die Instanz bereits vor einer Stunde unterbrochen werden.

Benachrichtigungen zu nicht erreichbaren Schlüsseln können auf der Detailseite der Filestore-Instanz eingesehen werden:

Zur Seite mit den Filestore-Instanzen

Nutzer erhalten außerdem ekm_key_unreachable_detected-Benachrichtigungen zu einem der folgenden Vorgänge, wenn sie innerhalb einer Stunde nach der ersten gemeldeten Benachrichtigung ausgeführt werden:

Unterstützte Stufen

In der folgenden Tabelle sehen Sie die Filestore-Dienststufen, die vom Kunden verwaltete Verschlüsselungsschlüssel unterstützen:

Stufe CMEK-Unterstützung
Basic HDD Nein
Basic SSD Nein
Zonal mit geringerem Kapazitätsbereich Ja
Zonal mit einem höheren Kapazitätsbereich (zuvor hochskalierte SSD) Ja
Enterprise Ja

Schlüsselbund und Schlüssel zur Verwendung mit Ihrer Instanz erstellen

Der Schlüsselbund und der Schlüssel können sich in einem anderen Projekt als die Filestore-Instanz befinden, müssen sich aber am selben Standort befinden. Wenn Sie bereits einen Cloud KMS-Schlüsselbund und -Schlüssel haben, den Sie mit Filestore verwenden möchten, fahren Sie mit dem nächsten Abschnitt fort. Folgen Sie andernfalls der Anleitung unter Symmetrische Verschlüsselungsschlüssel erstellen, um einen Schlüsselbund und Schlüssel zu erstellen.

Schlüsselzugriffsberechtigung für das Filestore-Dienstkonto gewähren

Bevor Sie eine Filestore-Instanz erstellen können, die einen vom Kunden verwalteten Verschlüsselungsschlüssel verwendet, muss das Filestore-Dienstkonto die Rolle "Cloud KMS CryptoKey Encrypter/Decrypter" (roles/cloudkms.cryptoKeyEncrypterDecrypter) haben.

  1. Ein Filestore-Dienstkonto wird erstellt, wenn Sie zum ersten Mal eine Filestore-Instanz im Projekt erstellen. Wenn Sie noch kein Filestore-Dienstkonto haben, führen Sie den folgenden services identity create-Befehl aus:

    gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_ID
    

    Ersetzen Sie INSTANCE_PROJECT_NUMBER_OR_ID durch die Projektnummer oder ID des Projekts, in dem Sie die Filestore-Instanz erstellen möchten.

  2. Weisen Sie dem Filestore-Dienstkonto mit dem Befehl projects add-iam-policy-binding die Rolle "Cloud KMS CryptoKey Encrypter/Decrypter" zu:

    gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \
        --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter
    

    Ersetzen Sie Folgendes:

    • KMS_PROJECT_NUMBER_OR_ID durch die Projektnummer oder ID des Projekts, das den zu verwendenden Cloud KMS-Schlüssel enthält.
    • INSTANCE_PROJECT_NUMBER durch die Projektnummer (nicht die Projekt-ID) des Projekts, in dem Sie die Filestore-Instanz erstellen möchten.

Instanz erstellen, die Ihren Cloud KMS-Schlüssel verwendet

Google Cloud Console

So erstellen Sie eine Instanz, die Ihren Cloud KMS-Schlüssel für die Datenverschlüsselung verwendet:

  1. Rufen Sie in der Google Cloud Console die Seite der Filestore-Instanzen auf.

    Zur Seite mit den Filestore-Instanzen

  2. Klicken Sie auf Instanz erstellen.

  3. Wählen Sie eine Instanzstufe aus, die CMEKs unterstützt, und füllen Sie alle anderen erforderlichen und optionalen Felder wie gewohnt aus.

  4. Klicken Sie auf Erweiterte Optionen einblenden.

  5. Klicken Sie das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden an.

  6. Wählen Sie den Cloud KMS-Schlüssel aus, den Sie für die Instanz verwenden möchten.

  7. Klicken Sie auf Erstellen.

gcloud-CLI

Geben Sie im Befehl filestore instances create das Flag --kms-key an, um eine Filestore-Instanz zu erstellen, die Ihren Cloud KMS-Schlüssel für die Datenverschlüsselung verwendet:

gcloud filestore instances create nfs-server \
    --tier=<var>TIER</var> \
    --location=us-central1 \
    --file-share=name="vol1",capacity=1TiB \
    --network=name="default" \
    --kms-key=KMS_KEY

Ersetzen Sie Folgendes:

  • TIER mit einer Filestore-Stufe, die vom Kunden verwaltete Verschlüsselungsschlüssel unterstützt.
  • KMS_KEY durch den voll qualifizierten Namen des Cloud KMS-Schlüssels, den Sie verwenden möchten. Alternativ können Sie jedes Argument separat im Format angeben:
--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID

Ersetzen Sie Folgendes:

  • KMS_KEY durch den Namen des Cloud KMS-Schlüssels.
  • KMS_PROJECT_NUMBER_OR_ID durch die Projektnummer oder ID des Projekts, in dem der Schlüssel erstellt wird.
  • KMS_KEY_RING durch den Namen des Schlüsselbunds.
  • KMS_REGION durch die Region des Schlüsselbunds. Der Schlüsselbund und die Instanz müssen sich in derselben Region befinden.

Liste mit Schlüsseln abrufen

Mit dem Befehl kms keys list können Sie eine Liste der Schlüssel abrufen:

gcloud kms keys list \
    --project=KMS_PROJECT_NUMBER_OR_ID \
    --keyring=KEY_RING \
    --location=KMS_REGION

Ersetzen Sie Folgendes:

  • KMS_PROJECT_NUMBER_OR_ID durch die Projektnummer oder ID des Projekts, in dem der Schlüssel erstellt wird.
  • KEY_RING durch den Namen des Schlüsselbunds.
  • KMS_REGION durch die Region des Schlüsselbunds.

In der Spalte Name der Ausgabe wird der voll qualifizierte Name der vorhandenen Schlüssel angegeben. Beispiel:

projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key

Informationen zum Instanzschlüssel abrufen

In den folgenden Abschnitten wird beschrieben, wie Sie Informationen zu Instanzschlüsseln abrufen.

Instanzen auflisten, die einen bestimmten Cloud KMS-Schlüssel verwenden

Sie können Filestore-Instanzen, die einen bestimmten Schlüssel verwenden, mit dem Befehl instances list auflisten:

gcloud filestore instances list --filter="kmsKeyName=KMS_KEY"

Ersetzen Sie KMS_KEY durch den voll qualifizierten Namen des Schlüssels, den Sie verwenden möchten.

Example:

gcloud filestore instances list \
    --filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"

Die Ausgabe sieht so aus:

INSTANCE_NAME LOCATION    TIER       CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS   STATE CREATE_TIME
nfs-server    us-central1 ENTERPRISE 1024        vol1            10.166.108.2 READY 2021-08-12T11:38:56

Cloud KMS-Schlüsselinformationen für eine Instanz abrufen

Verwenden Sie eine der folgenden Methoden, um Cloud KMS-Schlüsselinformationen für eine Filestore-Instanz abzurufen:

Google Cloud Console

  1. Zur Seite mit den Filestore-Instanzen

    Zur Seite mit den Filestore-Instanzen

  2. Klicken Sie auf die Instanz-ID, um die Detailseite der Instanz zu öffnen.

  3. Klicken Sie auf den Tab Übersicht.

Wenn die Instanz Daten mit einem Cloud KMS-Schlüssel anstelle eines von Google verwalteten Verschlüsselungsschlüssels verschlüsselt, wird der Schlüsselname im Feld Verschlüsselungsschlüssel angezeigt.

gcloud-CLI

Führen Sie dazu den Befehl instances describe aus.

gcloud filestore instances describe INSTANCE_ID \
   --location=INSTANCE_LOCATION

Ersetzen Sie Folgendes:

  • INSTANCE_ID durch die Instanz-ID der Filestore-Instanz, zu der Sie Informationen abrufen möchten.
  • INSTANCE_LOCATION durch die Region oder Zone, in der sich die Instanz befindet.

Die Ausgabe sieht so aus:

createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
  name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
  key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
  - 10.0.100.2
  modes:
  - MODE_IPV4
  network: network
  reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE

Von einer Instanz verwendeten Cloud KMS-Schlüssel deaktivieren oder löschen

Wenn eine Änderung des Cloud KMS-Schlüsselstatus festgestellt wird, beendet die Instanz automatisch die Bereitstellung von Daten. Einige Beispiele:

  • Schlüssel oder Schlüsselversion deaktivieren
  • Schlüssel oder Schlüsselversion löschen:
  • Berechtigungen eines Schlüssels ändern

Die Erkennung erfolgt in der Regel innerhalb weniger Minuten nach der Änderung des Schlüsselstatus, kann aber manchmal auch bis zu einer Stunde dauern.

Sobald eine Instanz beendet ist, wird der Zugriff auf Dateifreigabedaten und alle Snapshots blockiert. Beendete Instanzen werden weiterhin in Rechnung gestellt, bis sie gelöscht werden.

Beendete Instanz starten

Wenn eine angehaltene Filestore-Instanz einen Cloud KMS-Schlüssel für die Datenverschlüsselung verwendet, müssen alle Schlüsselversionen des Schlüssels aktiviert oder wiederhergestellt werden, bevor die Instanz neu gestartet wird.

Sobald der Cloud KMS-Schlüsselstatus aktiviert ist, erkennt die Instanz automatisch Schlüsseländerungen und wird in der Regel innerhalb von 20 Minuten ohne weitere Aktion neu gestartet.

CMEK-Unterstützung für Sicherungsketten

Mit CMEKs können Sie nicht nur Filestore-Instanzen, sondern auch Ihre Sicherungsketten verschlüsseln.

Sicherungsketten befinden sich in einem einzelnen Bucket und in einer einzelnen Region. Zum Speichern und Verschlüsseln von Sicherungsdaten in einer Region außerhalb der Quellinstanz müssen Nutzer zwei separate CMEKs anwenden: einen für die Instanz und einen für die Sicherungskette. Es gelten folgende Anforderungen:

  • Ein CMEK muss sich in derselben Region wie die verschlüsselte Sicherungskette befinden.

  • Ein einzelner CMEK wird auf den Bucket angewendet, in dem die Sicherungskette gespeichert ist, und kann nicht kombiniert oder ersetzt werden.

  • Zum Erstellen einer Sicherung mit einem neuen CMEK muss zuerst die gesamte vorhandene Sicherungskette gelöscht werden.

CMEK-Unterstützung ist für Sicherungen der Basisstufe nicht verfügbar.

Weitere Informationen finden Sie unter Sicherungen.

Nächste Schritte