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

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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

Standardmäßig verschlüsselt Google Cloud Daten im inaktiven Zustand automatisch mit von Google 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.

Der Cloud Key Management Service unterstützt vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK), die als Softwareschlüssel in einem HSM-Cluster oder extern in Cloud External Key Manager (Cloud EKM) gespeichert werden können. Cloud EKM wird für die Verwendung mit Filestore noch nicht unterstützt. Versuche, die Funktion zu verwenden, können zu inkonsistenten Fehlermeldungen und Dienstunterbrechungen führen.

Weitere Informationen finden Sie unter Cloud Key Management Service und Vom Kunden verwaltete Verschlüsselungsschlüssel.

Unterstützte Stufen

In der folgenden Tabelle sind die Filestore-Ebenen aufgeführt, die CMEK unterstützen:

Stufe CMEK-Unterstützung
Basic HDD Nein
Basic SSD Nein
High Scale 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 CMEK verwendet, muss das Filestore-Dienstkonto die Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler-Rolle (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 die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ zu. Führen Sie dazu den Befehl projects add-iam-policy-binding aus:

    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
    

    Dabei gilt:

    • 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 „ 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 wie gewohnt alle anderen Pflichtfelder und optionalen Felder 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

Dabei gilt:

  • TIER durch eine Filestore-Ebene, die CMEKs 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

Dabei gilt:

  • 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

Dabei gilt:

  • 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

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

Dabei gilt:

  • 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 Sie eine Schlüssel- oder Schlüsselversion deaktivieren oder zerstören, erkennt die Instanz die Änderung des Schlüsselstatus und beendet die Bereitstellung von Daten automatisch. Diese Erkennung findet normalerweise innerhalb weniger Minuten nach der Änderung des Schlüsselstatus statt, kann in manchen Fällen aber auch bis zu einer Stunde dauern.

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

Beendete Instanz starten

Wenn eine beendete Filestore-Instanz einen Cloud KMS-Schlüssel zur Datenverschlüsselung verwendet, müssen alle Schlüsselversionen des Schlüssels vor dem Neustart der Instanz aktiviert oder wiederhergestellt werden.

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

CMEK für Sicherungsketten

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

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

  • Ein CMEK muss sich in derselben Region wie die Sicherungskette befinden, die er verschlüsselt.

  • 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 wird für Sicherungen der Basis-Stufe nicht unterstützt.

Weitere Informationen finden Sie unter Sicherungen.

Nächste Schritte