Auf dieser Seite wird beschrieben, wie Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für AlloyDB for PostgreSQL erstellen, konfigurieren und anwenden.
Weitere Informationen zu CMEK finden Sie unter Informationen zu CMEK.
CMEK-Schlüssel für AlloyDB erstellen und autorisieren
Erstellen Sie einen Schlüssel im Cloud Key Management Service (Cloud KMS). AlloyDB unterstützt die folgenden Arten von Schlüsseln:
Der Schlüssel muss sich am selben Speicherort wie Ihr AlloyDB-Cluster befinden. Ein AlloyDB-Cluster in
us-west1
kann beispielsweise nur Schlüssel inus-west1
verwenden.Wenn Sie bereits einen Cloud KMS-Schlüssel am richtigen Speicherort haben, können Sie diesen Schritt überspringen.
Gewähren Sie AlloyDB Zugriff auf den Schlüssel.
Erstellen und rufen Sie den Dienstmitarbeiter mit der Google Cloud CLI auf oder rufen Sie ihn auf, falls das Konto bereits vorhanden ist:
gcloud beta services identity create --service=alloydb.googleapis.com \ --project=PROJECT
Mit dem Befehl gcloud services identity wird der Dienst-Agent erstellt oder abgerufen, mit dem AlloyDB in Ihrem Namen auf den Cloud KMS-Schlüssel zugreifen kann.
Die Dienstkonto-ID ähnelt einer E-Mail-Adresse:
Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com
Weisen Sie dem Dienstkonto die Rolle
cloudkms.cryptoKeyEncrypterDecrypter
zu:gcloud kms keys add-iam-policy-binding KEY \ --location REGION \ --keyring KEYRING \ --project=PROJECT \ --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie Folgendes:
- KEY: die Cloud KMS-ID des Schlüssels
- REGION: die Region des Schlüssels, z. B.
us-central1
- PROJECT: die ID des Projekts des Schlüssels
- KEYRING: die ID des Cloud KMS-Schlüsselbunds des Schlüssels
Mit dieser Rolle hat das Dienstkonto die Berechtigung, mit dem Cloud KMS-Schlüssel sowohl zu verschlüsseln als auch zu entschlüsseln. Weitere Informationen finden Sie unter Cloud KMS-Berechtigungen und ‑Rollen.
CMEK-verschlüsselten Cluster erstellen
Wenn Sie einen neuen Cluster erstellen, können Sie auswählen, ob er mit der standardmäßigen von Google verwalteten Verschlüsselung oder stattdessen mit einem CMEK-Schlüssel verschlüsselt werden soll. Weitere Informationen finden Sie unter Cluster und primäre Instanz erstellen.
Verschlüsselungsmethode und CMEK-Schlüssel eines Clusters aufrufen
Console
In der Spalte Verschlüsselung der Seite Cluster sehen Sie, ob für jeden Cluster in Ihrem Projekt die von Google verwaltete Verschlüsselung oder CMEK verwendet wird.
Wenn Sie die wichtigsten Details eines Clusters mit CMEK aufrufen möchten, klicken Sie in der Spalte Ressourcenname auf seinen Namen. Das Feld Verschlüsselungsschlüssel auf der nachfolgenden Detailseite enthält eine Beschreibung des Schlüssels, einschließlich eines Links zu seiner eigenen Cloud KMS-Detailseite.
gcloud
Rufen Sie den Befehl gcloud alloydb clusters describe
auf:
gcloud alloydb clusters describe CLUSTER \
--project=PROJECT \
--region=REGION
Ersetzen Sie Folgendes:
- CLUSTER: die ID des zu beschreibenden Clusters
- PROJECT: die ID des Projekts des Clusters
- REGION: Die Region des Clusters, z. B.
us-central1
Die Ausgabe enthält das Feld encryptionInfo
mit einer Zusammenfassung der Verschlüsselung des Clusters.
CMEK auf Sicherungen anwenden
Wenn Sie eine neue Sicherung erstellen, können Sie auswählen, ob sie mit der standardmäßigen von Google verwalteten Verschlüsselung oder stattdessen mit einem CMEK-Schlüssel verschlüsselt werden soll. Weitere Informationen finden Sie unter On-Demand-Sicherung erstellen oder Automatische Sicherungen planen.
Sie haben auch die Möglichkeit, einen CMEK-Schlüssel auf den Cluster anzuwenden, der beim Wiederherstellen aus einer Sicherung erstellt wurde, unabhängig von der Verschlüsselungsmethode dieser Sicherung. Weitere Informationen finden Sie unter Cluster wiederherstellen.
Verschlüsselungsmethode und CMEK-Schlüssel einer Sicherung aufrufen
Console
In der Spalte Verschlüsselung auf der Seite Sicherungen sehen Sie, ob für jeden Cluster in Ihrem Projekt die von Google verwaltete Verschlüsselung oder CMEK verwendet wird.
Klicken Sie auf Wiederherstellen, um die wichtigsten Details zu einer Sicherung mit CMEK aufzurufen. Das Feld Verschlüsselungsschlüssel im nachfolgenden Detailbereich enthält eine Beschreibung des Schlüssels, einschließlich eines Links zu seiner eigenen Cloud KMS-Detailseite.
gcloud
Rufen Sie den Befehl gcloud alloydb backups describe
auf:
gcloud alloydb backups describe CLUSTER \
--project=PROJECT \
--region=REGION
Ersetzen Sie Folgendes:
- CLUSTER: die ID der zu beschreibenden Sicherung
- PROJECT: die ID des Projekts der Sicherung
- REGION: die Region der Sicherung, z. B.
us-central1
Die Ausgabe enthält das Feld encryptionInfo
mit einer Zusammenfassung der Verschlüsselung der Sicherung.
Schlüssel deaktivieren
Wenn Sie den CMEK-Schlüssel eines Clusters deaktivieren, sind die Daten dieses Clusters nicht mehr zugänglich, bis Sie den Schlüssel wieder aktivieren.
Es kann jedoch bis zu drei Stunden dauern, bis die Deaktivierung eines Schlüssels auf Ihren AlloyDB-Cluster angewendet wird. So deaktivieren Sie einen Schlüssel und verhindern sofort den Zugriff auf Ihre Daten:
Löschen Sie die primäre Instanz Ihres Clusters. Das hat keine Auswirkungen auf die Daten Ihres Clusters. Sie können eine neue primäre Instanz erstellen, nachdem Sie den Schlüssel wie im folgenden Abschnitt beschrieben reaktiviert haben.
Schlüssel aktivieren
So aktivieren Sie einen Schlüssel:
Wenn Sie die primäre Instanz Ihres Clusters gelöscht haben, bevor Sie den Schlüssel deaktiviert haben, erstellen Sie eine neue primäre Instanz.
Es kann bis zu drei Stunden dauern, bis die Aktivierung eines Schlüssels auf Ihren Cluster angewendet wird. Sobald die Daten übernommen wurden, können Sie auf sie zugreifen.
Audit-Logs für einen Cloud KMS-Schlüssel aufrufen
So rufen Sie Audit-Logs für einen bestimmten CMEK-Schlüssel auf:
Achten Sie darauf, dass für die Cloud KMS API in Ihrem Projekt Logging aktiviert ist .
Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Beschränken Sie die Logeinträge auf Ihren Cloud KMS-Schlüssel, indem Sie dem Query Builder die folgenden Zeilen hinzufügen:
resource.type="cloudkms_cryptokey" resource.labels.location="REGION" resource.labels.key_ring_id="KEYRING" resource.labels.crypto_key_id="KEY"
Ersetzen Sie Folgendes:
- REGION: die Region des Schlüssels, z. B.
us-central1
- KEYRING: die ID des Cloud KMS-Schlüsselbunds des Schlüssels
- KEY: die Cloud KMS-ID des Schlüssels
- REGION: die Region des Schlüssels, z. B.
Im Normalbetrieb werden Verschlüsselungs- und Entschlüsselungsvorgänge mit der
INFO
-Schweregradstufe protokolliert. Diese Einträge werden protokolliert, wenn die Instanzen in Ihrem AlloyDB-Cluster den Schlüssel {kms_name_short} validieren. Das geschieht etwa alle fünf Minuten.Wenn AlloyDB nicht auf den Schlüssel zugreifen kann, werden die Vorgänge als
ERROR
protokolliert.
Begründungen für den Zugriff auf einen Cloud EKM-Schlüssel aufrufen
Wenn Sie einen Cloud EKM-Schlüssel verwenden, können Sie mit Key Access Justifications den Grund für jede Cloud EKM-Anfrage aufrufen. Basierend auf der Begründung können Sie eine Anfrage außerdem automatisch genehmigen oder ablehnen. Weitere Informationen finden Sie unter Begründungen ansehen und darauf reagieren.