Kundenverwaltete Verschlüsselungsschlüssel für Managed Lustre

Standardmäßig verschlüsselt Google Cloud Managed Lustre inaktive Kundendaten. Die Verschlüsselung wird von Managed Lustre übernommen. Weitere Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.

Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Managed Lustre verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutz level, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem die Schlüsselnutzung verfolgen, Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu besitzen und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.

Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Managed Lustre-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselung soptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).

Die folgenden Managed Lustre-Daten werden durch CMEK geschützt:

  • Dateidaten
  • Dateisystemmetadaten wie Dateinamen

Wenn Sie CMEK in Managed Lustre verwenden, können Ihre Projekte Kontingente für kryptografische Cloud KMS-Anfragen verbrauchen. CMEK-verschlüsselte Instanzen verbrauchen Kontingente, wenn Daten in Managed Lustre gelesen oder geschrieben werden. Ver- und Entschlüsselungsvorgänge über CMEK-Schlüssel wirken sich nur dann auf Cloud KMS-Kontingente aus, wenn Sie Hardware- (Cloud HSM) oder externe Schlüssel (Cloud EKM) verwenden. Weitere Informationen finden Sie unter Cloud KMS-Kontingente.

Beschränkungen

Es gelten folgende Einschränkungen:

  • Die dynamische Bereitstellung von CMEK-geschützten Managed Lustre-Instanzen wird in Google Kubernetes Engine nicht unterstützt, die statische Bereitstellung jedoch schon.

  • Cluster Toolkit unterstützt keine CMEK-geschützten Managed Lustre-Instanzen.

  • Wenn Sie eine CMEK-geschützte Managed Lustre-Instanz innerhalb eines VPC Service Controls-Perimeters erstellen, muss Ihr Cloud KMS-Schlüssel eine der folgenden Bedingungen erfüllen:

Cloud KMS-Schlüssel erstellen

Bevor Sie eine CMEK-fähige Lustre-Instanz erstellen, benötigen Sie einen Cloud KMS-Schlüsselbund und einen Cloud KMS-Schlüssel.

Managed Lustre unterstützt drei Schutzlevel:

  • Software (SOFTWARE)
  • Hardware (HSM)
  • Extern über das Internet (EXTERNAL)

Beim Erstellen des Schlüssels empfehlen wir, den Cloud KMS-Schlüssel in einem anderen Projekt als dem Projekt zu erstellen, das Ihre Managed Lustre-Instanz enthält. Weitere Informationen finden Sie unter Aufgabentrennung.

Der Cloud KMS-Schlüssel muss in derselben Region wie die Managed Lustre-Instanz erstellt werden.

So erstellen Sie einen Schlüssel:

  1. Erstellen Sie einen Schlüsselbund, falls noch nicht geschehen. create a key ring.
  2. Cloud KMS-Schlüssel erstellen.

IAM-Berechtigungen für den Managed Lustre-Dienst-Agent erteilen

Managed Lustre verwendet einen Dienst-Agent, um auf Ihre Ressourcen zuzugreifen und in Ihrem Namen Aktionen auszuführen. Sie erteilen dem Dienst-Agent IAM-Rollen, um den Zugriff zu verwalten. Der Managed Lustre-Dienst-Agent wird automatisch erstellt, wenn Sie eine Managed Lustre-Instanz erstellen.

Die Dienst-Agent-Identität hat das Format service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.

Google Cloud Console-Nutzer

Wenn Sie Ihre CMEK-geschützte Managed Lustre mit der Google Cloud Console erstellen, können Sie diesen Abschnitt überspringen. Die Google Cloud Console erteilt die erforderlichen Berechtigungen im Rahmen des Instanzerstellungsprozesses.

Weiter zu CMEK-fähige Managed Lustre-Instanz erstellen.

Dienst-Agent erstellen oder abrufen

Wenn Sie noch keinen Managed Lustre-Dienst-Agent haben

Wenn Sie noch nie eine Managed Lustre-Instanz im Projekt erstellt haben, führen Sie den folgenden Befehl aus, um den Dienst-Agent manuell zu erstellen:

gcloud beta services identity create \
  --service=lustre.googleapis.com \
  --project=PROJECT_NUMBER_OR_ID

Ersetzen Sie PROJECT_NUMBER_OR_ID durch die Projektnummer oder ID des Projekts, in dem Sie die Managed Lustre Instanz erstellen möchten. Die Ausgabe sieht etwa so aus:

Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.com

Kopieren Sie den Wert der Dienst-Agent-Identität, um ihn im nächsten Schritt zu verwenden.

Wenn Sie bereits eine Managed Lustre-Instanz erstellt haben

  1. Rufen Sie Ihre Projektnummer ab, um die Dienst-Agent-Identität zu erstellen. Ein PROJECT_NUMBER ist nicht dasselbe wie eine Projekt-ID:

    • Eine Projekt-ID ist ein eindeutiger String, der eine Kombination aus Buchstaben, Zahlen und Bindestrichen sein kann. Sie geben eine Projekt-ID an, wenn Sie Ihr Projekt erstellen. Beispiel: example-project-123.
    • Eine Projektnummer ist eine automatisch generierte eindeutige ID für Ihr Projekt, die nur aus Zahlen besteht. Beispiel: 1234567890.

    Verwenden Sie den gcloud projects describe Befehl, um die PROJECT_NUMBER für eine bestimmte Projekt-ID abzurufen:

    gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    
  2. Kopieren Sie die zurückgegebene Projektnummer in die Dienst-Agent-Identität:

    service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
    
  3. Kopieren Sie die Dienst-Agent-Identität, um sie im nächsten Schritt zu verwenden.

Berechtigungen für den Dienst-Agent erteilen

Managed Lustre benötigt die Autorisierung, um Vorgänge mit Ihrem Schlüssel auszuführen.

Sie müssen dem Managed Lustre-Dienst-Agent die IAM-Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter für Ihren Cloud KMS-Schlüssel zuweisen.

Verwenden Sie den Befehl gcloud kms keys add-iam-policy-binding:

gcloud kms keys add-iam-policy-binding KEY_NAME \
  --keyring=KEY_RING \
  --location=REGION \
  --project=KMS_PROJECT_ID \
  --member=serviceAccount:service-SERVICE_AGENT_IDENTITY \
  --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Ersetzen Sie die folgenden Variablen:

  • KEY_NAME: Der Name Ihres Cloud KMS-Schlüssels.
  • KEY_RING: Der Name des Schlüsselbunds, der den Schlüssel enthält.
  • REGION: Die Region, in der sich Ihr Schlüsselbund befindet.
  • KMS_PROJECT_ID: Die ID des Projekts, das Ihren Cloud KMS-Schlüssel enthält.
  • SERVICE_AGENT_IDENTITY: Die Managed Lustre-Dienst-Agent Identität aus dem vorherigen Schritt im Format: service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.

CMEK-fähige Managed Lustre-Instanz erstellen

So erstellen Sie eine Managed Lustre-Instanz, die durch CMEK geschützt ist:

gcloud

Wenn Sie eine CMEK-geschützte Instanz mit gcloud erstellen möchten, folgen Sie den Schritten unter Instanz erstellen. Geben Sie die Schlüssel-ID als Wert von --kms-key-name an, wie unten gezeigt:

gcloud lustre instance create INSTANCE_ID \
  --filesystem=FILESYSTEM_NAME \
  --per-unit-storage-throughput=PERF_TIER \
  --capacity-gib=CAPACITY_GIB \
  --location=ZONE \
  --network=NETWORK_NAME \
  --project=PROJECT_ID \
  --kms-key-name=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

Der Cloud KMS-Schlüssel muss sich in derselben Region wie die Managed Lustre-Instanz befinden.

REST

Wenn Sie eine CMEK-geschützte Instanz mit der REST API erstellen möchten, folgen Sie der Anleitung unter Instanz erstellen. Geben Sie die Schlüssel-ID als Wert von kmsKey an, wie unten gezeigt:

POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_NAME
Authorization: Bearer AUTH_TOKEN
{
  "filesystem": "FILESYSTEM_NAME",
  "perUnitStorageThroughput": PERF_TIER,
  "capacityGib": CAPACITY_GIB,
  "network": "NETWORK_NAME",
  "kmsKey": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
}

Der Cloud KMS-Schlüssel muss sich in derselben Region wie die Managed Lustre-Instanz befinden.

Eine vollständige Liste der Felder und ihrer Beschreibungen finden Sie in der Instance Referenzdokumentation zur Ressource.

Google Cloud Console

Wenn Sie eine CMEK-geschützte Instanz mit der Google Cloud Console erstellen möchten, folgen Sie der Anleitung unter Instanz erstellen. Gehen Sie auf der Instanz erstellen Seite der Google Cloud Console so vor:

  1. Wählen Sie im Abschnitt Verschlüsselung die Option Cloud KMS-Schlüssel aus.

  2. Wählen Sie Cloud KMS als Schlüsselverwaltungstyp aus und wählen Sie Ihren Schlüssel aus. Wenn sich Ihr Schlüssel in einem anderen Projekt befindet (empfohlen), klicken Sie auf Projekt wechseln, wählen Sie das Schlüsselprojekt und dann Ihren Schlüssel aus. Der Cloud KMS-Schlüssel muss sich in derselben Region wie die Managed Lustre-Instanz befinden.

  3. Wenn Ihr Managed Lustre-Dienst-Agent nicht die erforderlichen Berechtigungen zur Verwendung von CMEK hat, werden Sie aufgefordert, die Rolle cloudkms.cryptoKeyEncrypterDecrypter zu erteilen. Klicken Sie auf Erteilen , um die Rolle anzuwenden.

Wenn der Cloud KMS-Schlüssel nicht verfügbar ist oder Berechtigungsprobleme auftreten, wenn Sie den Erstellungsvorgang starten, schlägt der Vorgang fehl und gibt den Fehler FAILED_PRECONDITION zurück.

Schlüsselverwaltung

Cloud Key Management Service-Schlüssel können rotiert, deaktiviert, wieder aktiviert oder gelöscht werden. Sie können aus verschiedenen Gründen nicht verfügbar sein.

Schlüssel rotieren

Sie können Ihren Cloud KMS-Schlüssel rotieren. Beim Rotieren eines Schlüssels wird eine neue Schlüsselversion erstellt.

  • Beim Rotieren eines Schlüssels werden die Daten in Ihrer Managed Lustre-Instanz nicht neu verschlüsselt. Managed Lustre unterstützt das Entschlüsseln oder Neuverschlüsseln von Daten nicht.

  • Die vorhandene Kapazität Ihrer Managed Lustre-Instanz wird weiterhin mit der Schlüsselversion verschlüsselt, die bei der Erstellung der Instanz verwendet wurde.

  • Wenn Sie die Speicherkapazität Ihrer Instanz erhöhen, wird die neue Kapazität durch die Schlüsselversion geschützt, die beim Senden der Anfrage zur Erhöhung der Kapazität primär ist. Alle Daten, die in diese Kapazität geschrieben werden, werden durch diese Schlüsselversion geschützt.

Das bedeutet, dass mehrere Schlüsselversionen Ihre Managed Lustre-Instanz verschlüsseln können, wenn Sie die Kapazität der Instanz nach dem Rotieren der Schlüsselversion erhöht haben.

Schlüssel deaktivieren

Sie können eine Schlüsselversion deaktivieren. Solange eine der von Ihrer Managed Lustre-Instanz verwendeten Schlüsselversionen deaktiviert ist, wird die Instanz gesperrt. Wenn Sie Ihre Instanz wieder aktivieren möchten, müssen alle Schlüsselversionen, die Ihre Instanz schützen, wieder verfügbar sein. Informationen zu gesperrten Instanzen finden Sie unter Nicht verfügbare Schlüssel.

Weitere Informationen finden Sie unter Schlüsselversionen aktivieren und deaktivieren.

Schlüssel wieder aktivieren

Wenn eine Schlüsselversion deaktiviert ist, können Sie sie über die Cloud KMS API wieder aktivieren. Weitere Informationen finden Sie unter Schlüsselversionen aktivieren und deaktivieren.

Wenn Sie die Managed Lustre-Instanz wieder aktivieren möchten, müssen alle Versionen des Schlüssels, die die Speicherkapazität verschlüsseln, aktiviert oder wiederhergestellt werden.

Nachdem alle erforderlichen Schlüssel wieder den Status ENABLED haben, erkennt Managed Lustre automatisch die Schlüsseländerungen und startet die Instanz neu. Der Instanzstatus ändert sich in ACTIVE und der Managed Lustre-Dienst nimmt den normalen Betrieb wieder auf. Sie können E/A-Vorgänge und alle anderen Vorgänge mit langer Ausführungszeit ausführen.

Schlüssel löschen

Cloud KMS-Schlüsselversionen können gelöscht werden. Das bedeutet, dass das Schlüsselmaterial dauerhaft gelöscht wird.

Cloud KMS-Schlüssel können nicht sofort gelöscht werden. Stattdessen müssen Sie eine Schlüsselversion zum Löschen vormerken. Während des geplanten Zeitraums können Sie eine Schlüsselversion wiederherstellen, um das Löschen abzubrechen. Weitere Informationen finden Sie unter Schlüsselversionen löschen und wiederherstellen.

Eine Schlüsselversion, die zum Löschen vorgemerkt wurde, ist nicht verfügbar. Alle Managed Lustre-Instanzen, die durch diese Schlüsselversion geschützt sind, werden gesperrt. Informationen zu gesperrten Instanzen finden Sie unter Nicht verfügbare Schlüssel.

Nachdem eine Schlüsselversion gelöscht wurde, kann sie nicht wiederhergestellt werden. Ihre Instanz bleibt dauerhaft gesperrt. Der einzige Vorgang, der für die Managed Lustre-Instanz verfügbar ist, ist das Löschen der Instanz.

Nicht verfügbare Schlüssel

Ein Schlüssel kann aus folgenden Gründen nicht verfügbar sein:

  • Der Schlüssel ist deaktiviert.
  • Der Schlüssel wurde gelöscht oder ist zum Löschen vorgemerkt.
  • Die erforderlichen Berechtigungen wurden aus dem Dienst Agent entfernt.
  • Die Abrechnung ist für das Projekt des Cloud KMS-Schlüssels deaktiviert und bleibt länger als eine Stunde deaktiviert.
  • Ein externer Schlüssel ist länger als eine Stunde nicht erreichbar.

In diesen Fällen wird die Managed Lustre-Instanz innerhalb weniger Minuten nach dem Ereignis heruntergefahren und der Instanzstatus wird auf SUSPENDED gesetzt.

Eine SUSPENDED-Instanz kann wiederhergestellt werden, indem der Schlüssel wieder verfügbar gemacht wird.

Mögliche Gründe für die Sperrung sind:

Aktion für Schlüssel Instanzstatus Grund für die Sperrung Kann wieder aktiviert werden
Deaktivieren SUSPENDED KEY_DISABLE Ja
Zum Löschen vormerken SUSPENDED KEY_DESTROY_SCHEDULED Ja
Löschen SUSPENDED KEY_DESTROY Nein
Berechtigung entfernen SUSPENDED PERMISSION_DENIED Ja
Abrechnung für 1 Stunde deaktivieren SUSPENDED BILLING_DISABLED Ja
EKM-Schlüssel für 1 Stunde nicht erreichbar SUSPENDED EKM_KEY_UNREACHABLE Ja

Wenn eine Instanz gesperrt ist:

  • Vorgänge mit langer Ausführungszeit wie Instanzaktualisierungen und Import/Export werden blockiert und geben den Fehler FAILED_PRECONDITION zurück.
  • E/A-Vorgänge reagieren nicht mehr, bis die Serverknoten heruntergefahren sind. Das dauert maximal 30 Minuten.
  • Der einzige zulässige Vorgang mit langer Ausführungszeit ist DeleteInstance.

Instanzen, die länger als vier Monate gesperrt waren, können möglicherweise nicht wieder aktiviert werden.

Abrechnung für gesperrte Instanzen

Wenn eine Managed Lustre-Instanz aufgrund der Nichtverfügbarkeit des Schlüssels in den Status SUSPENDED wechselt, fallen weiterhin Kosten für die Instanz an. Der Status „Gesperrt“ pausiert die Abrechnung nicht. Wenn Sie keine weiteren Kosten für die Instanz verursachen möchten, müssen Sie sie löschen.

Außerdem werden Ihnen alle verwendeten Schlüsselversionen separat von Cloud KMS in Rechnung gestellt.

Schlüsselnutzung ansehen und Schlüsselversionen auflisten

Sie können die Google Cloud Ressourcen in Ihrer Organisation ansehen, die durch Ihre Cloud KMS-Schlüssel geschützt sind. Weitere Informationen finden Sie unter Schlüsselnutzung ansehen.

Verwenden Sie den Befehl gcloud kms inventory search-protected-resources, um die vollständige Liste der Schlüsselversionen aufzurufen, die von Ihrer Managed Lustre-Instanz verwendet werden:

gcloud kms inventory search-protected-resources \
  --keyname=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
  --scope=organizations/ORGANIZATION_ID \
  --filter="name:projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID" \
  --flatten="cryptoKeyVersions" \
  --format="value(cryptoKeyVersions)"

Dabei gilt:

Sie können auch auf der Seite Schlüsselinventar wichtige Informationen zu Schlüsseln aufrufen.

Schlüsselinventar aufrufen