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.
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.
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:
Rufen Sie in der Google Cloud Console die Seite „ Filestore-Instanzen“ auf.
Klicken Sie auf Instanz erstellen.
Wählen Sie eine Instanzstufe aus, die CMEKs unterstützt, und füllen Sie wie gewohnt alle anderen Pflichtfelder und optionalen Felder aus.
Klicken Sie auf Erweiterte Optionen einblenden.
Klicken Sie das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden an.
Wählen Sie den Cloud KMS-Schlüssel aus, den Sie für die Instanz verwenden möchten.
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
Zur Seite mit den Filestore-Instanzen
Klicken Sie auf die Instanz-ID, um die Detailseite der Instanz zu öffnen.
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
- Weitere Informationen zu CMEK
- Weitere Informationen zur Verschlüsselung bei der Übertragung zu Google Cloud