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

Auf dieser Seite erfahren Sie, wie Sie Ihre Filestore-Daten auf Instanzen der Enterprise-Stufe 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 benötigen, die Ihre Daten schützen, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEKs) für Filestore verwenden.

Weitere allgemeine Informationen zu CMEK einschließlich ihrer Aktivierung finden Sie in der Dokumentation zum Cloud Key Management Service.

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-Verschlüsseler/Entschlüsseler" (roles/cloudkms.cryptoKeyEncrypterDecrypter) haben.

  1. Erstellen Sie das Filestore-Dienstkonto, falls es noch nicht vorhanden ist. Führen Sie dazu folgenden 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, indem Sie Folgendes 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

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 beta filestore instances create nfs-server \
    --tier=ENTERPRISE \
    --location=us-central1 \
    --file-share=name="vol1",capacity=1TiB \
    --network=name="default" \
    --kms-key=KMS_KEY

Ersetzen Sie 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 folgenden 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.

Liste mit Schlüsseln abrufen

Mit dem folgenden Befehl 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

Instanzinformationen abrufen

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

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

gcloud beta 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 beta 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

Führen Sie Folgendes aus, um Cloud KMS-Schlüsselinformationen für eine Filestore-Instanz abzurufen:

gcloud beta 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

Filestore überwacht nicht den Status Ihrer Cloud KMS-Schlüssel. Wenn ein Schlüssel oder eine Schlüsselversion deaktiviert oder gelöscht wird, kann die Filestore-Instanz weiterhin Daten bereitstellen, kann jedoch aufgrund der Nichtverfügbarkeit des Schlüssels jederzeit fehlschlagen.

Um den Zugriff auf die Daten nach dem Deaktivieren oder Löschen eines Schlüssels zu blockieren, wenden Sie sich an den Google-Support und stellen Sie eine Anfrage zum Beenden der Instanz.

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

Bevor Sie eine angehaltene Filestore-Instanz starten können, die einen Cloud KMS-Schlüssel für die Datenverschlüsselung verwendet, müssen Sie zuerst alle Schlüsselversionen aktivieren oder wiederherstellen. Wenn eine Instanz länger als vier Wochen beendet ist, wird sie nach Möglichkeit neu gestartet.

Nächste Schritte