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

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

Standardmäßig verschlüsselt Google Cloud Daten im inaktiven Zustand automatisch mit Verschlüsselungsschlüsseln, die Google gehören und von Google verwaltet werden. Wenn Sie mehr Kontrolle über die Schlüssel benötigen, die Ihre Daten schützen, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel für Filestore verwenden.

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

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 Verfügbarkeit der Schlüssel verantwortlich.

Wenn der Cloud Key Management Service (Cloud KMS) vom External Key Manager (EKM) darüber benachrichtigt 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 für die Instanz. Wenn der Schlüsselstatus nach einer Stunde unverändert ist, werden die folgenden Aktionen ausgeführt:

  • Der Schlüssel ist deaktiviert.
  • Alle Ver- und Entschlüsselungsvorgänge schlagen fehl.
  • Die Filestore-Instanz ist ausgesetzt.

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

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

Zur Seite mit den Filestore-Instanzen

Nutzer erhalten auch 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

Die folgende Tabelle zeigt die Filestore-Dienststufen, die vom Kunden verwaltete Verschlüsselungsschlüssel unterstützen:

Stufe CMEK-Unterstützung
Basic HDD Nein
Basic SSD Nein
Zonal Yes
Regional Yes
Enterprise Yes

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 die Rolle "Cloud KMS CryptoKey Encrypter/Decrypter" zu, indem Sie den Befehl projects add-iam-policy-binding ausführen:

    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 "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 erforderlichen 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

Ersetzen Sie Folgendes:

  • TIER durch eine 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 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 statt mit einem Google-eigenen und von Google verwalteten Schlüssel 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 erkannt wird, beendet die Instanz automatisch die Bereitstellung von Daten. Einige Beispiele:

  • Einen Schlüssel oder eine Schlüsselversion deaktivieren
  • Löschen eines Schlüssels oder einer Schlüsselversion
  • Berechtigungen eines Schlüssels ändern.

Diese Erkennung erfolgt in der Regel innerhalb weniger Minuten nach der Änderung des Schlüsselstatus, kann aber 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 beendete Filestore-Instanz einen Cloud KMS-Schlüssel für die 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 Schlüsseländerungen und startet ohne weitere Maßnahmen neu, in der Regel innerhalb von 20 Minuten.

CMEK-Unterstützung für Sicherungsketten

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

Sicherungsketten befinden sich in einem einzelnen Bucket und in einer 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 einige Anforderungen:

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

  • 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.

Für Sicherungen auf der Basisstufe ist keine CMEK-Unterstützung verfügbar.

Weitere Informationen finden Sie unter Sicherungen.

Nächste Schritte