Auf dieser Seite wird beschrieben, wie Sie einen manuell erstellten Cloud Key Management Service-Verschlüsselungsschlüssel mit Cloud Storage verwenden und z. B. Standardschlüssel für Buckets festlegen und einzelnen Objekten Schlüssel hinzufügen. Ein Cloud KMS-Verschlüsselungsschlüssel ist ein vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK). Solche Schlüssel werden über Cloud KMS erstellt und verwaltet und als Softwareschlüssel in einem HSM-Cluster oder extern gespeichert.
Wenn Sie stattdessen die Autokey-Funktion von Cloud KMS verwenden möchten, um Schlüsselringe und Schlüssel auf Abruf zu generieren, die Ihre Cloud Storage-Buckets und die darin enthaltenen Objekte schützen, lesen Sie den Hilfeartikel Autokey mit Cloud Storage-Ressourcen verwenden. Wenn Sie entscheiden möchten, welcher Schlüsseltyp für Sie am besten geeignet ist, wenn Sie CMEK mit Cloud KMS mit Autokey und der Standardverschlüsselung von Google vergleichen, lesen Sie den Hilfeartikel Vergleich von CMEK und von Google verwalteten Schlüsseln.
Hinweise
Vor der Verwendung dieses Features in Cloud Storage müssen Sie folgende Maßnahmen ergreifen:
Aktivieren Sie die Cloud KMS API für das Projekt, in dem Ihre Verschlüsselungsschlüssel gespeichert werden.
Sie benötigen ausreichende Berechtigungen für das Projekt, in dem Ihre Verschlüsselungsschlüssel gespeichert werden:
Wenn Sie der Inhaber des Projekts sind, in dem Ihre Schlüssel gespeichert werden, haben Sie wahrscheinlich die erforderliche Berechtigung.
Wenn Sie neue Verschlüsselungsschlüssel und -schlüsselbunde erstellen möchten, benötigen Sie die Berechtigungen
cloudkms.keyRings.create
undcloudkms.cryptoKeys.create
.Unabhängig davon, ob Sie neue oder vorhandene Schlüsselbunde und Schlüssel verwenden möchten, benötigen Sie die Berechtigung
cloudkms.cryptoKeys.setIamPolicy
für die Schlüssel, die Sie für die Verschlüsselung verwenden.Mit dieser Berechtigung können Sie Cloud Storage-Dienst-Agents Zugriff auf Cloud KMS-Schlüssel gewähren.
Die oben genannten Berechtigungen sind in der Rolle Cloud KMS-Administrator enthalten.
Unter IAM mit Cloud KMS verwenden wird beschrieben, wie Sie diese oder andere Cloud KMS-Rollen erhalten.
Sie benötigen einen Cloud KMS-Schlüsselbund und mindestens einen Schlüssel innerhalb des Schlüsselbunds.
Der Schlüsselbund muss sich am selben Speicherort wie die Daten befinden, die Sie verschlüsseln möchten. Er kann sich jedoch in einem anderen Projekt befinden. Informationen zu verfügbaren Cloud KMS-Standorten finden Sie unter Cloud KMS-Standorte.
Achten Sie auf ausreichende Berechtigungen, um mit Objekten in Ihrem Cloud Storage-Bucket zu arbeiten:
Wenn Sie der Inhaber des Projekts sind, zu dem der Bucket gehört, haben Sie wahrscheinlich die erforderliche Berechtigung.
Wenn Sie IAM verwenden, benötigen Sie die
storage.objects.create
-Berechtigung zum Schreiben von Objekten in den Bucket und diestorage.objects.get
-Berechtigung zum Lesen von Objekten aus dem Bucket. Unter IAM-Berechtigungen verwenden wird gezeigt, wie Sie eine Rolle wie Storage-Objekt-Administrator mit diesen Berechtigungen erhalten.Wenn Sie ACLs verwenden, benötigen Sie die Bucket-bezogene
WRITER
-Berechtigung, um Objekte in den Bucket zu schreiben, und die objektbezogeneREADER
-Berechtigung, um Objekte aus dem Bucket zu lesen. Weitere Informationen dazu finden Sie unter ACLs festlegen.
-
Rufen Sie die E-Mail-Adresse des Dienst-Agents ab, der mit dem Projekt verknüpft ist, in dem sich Ihr Cloud Storage-Bucket befindet. Mit diesem Schritt erstellen Sie den Dienst-Agent automatisch, wenn er noch nicht vorhanden ist.
Cloud KMS-Schlüssel einem Dienst-Agent zuweisen
Damit Sie CMEKs verwenden können, müssen Sie dem mit Ihrem Bucket verknüpften Cloud Storage-Dienstagent die Berechtigung zur Verwendung Ihres Cloud KMS-Schlüssels für Verschlüsseln und Entschlüsseln erteilen:
Console
- Öffnen Sie in der Google Cloud Console den Browser für Cloud Key Management Service-Schlüssel.
Zum Browser für Cloud KMS-Schlüssel Klicken Sie auf den Namen des Schlüsselbunds, der den Schlüssel enthält, den Sie verwenden möchten.
Klicken Sie das Kästchen für den gewünschten Schlüssel an.
Der Tab Berechtigungen im rechten Fensterbereich wird verfügbar.
Geben Sie im Dialogfeld Hauptkonten hinzufügen die E-Mail-Adresse des Cloud Storage-Dienst-Agents ein, dem Sie Zugriff gewähren möchten.
Wählen Sie im Drop-down-Menü Rolle auswählen die Option Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler aus.
Klicken Sie auf Add (Hinzufügen).
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
Verwenden Sie den Befehl gcloud storage service-agent
mit dem Flag --authorize-cmek
, um dem mit Ihrem Bucket verknüpften Dienst-Agent die Berechtigung zu erteilen, Objekte mit Ihrem Cloud KMS-Schlüssel zu verschlüsseln und zu entschlüsseln:
gcloud storage service-agent --project=PROJECT_STORING_OBJECTS --authorize-cmek=KEY_RESOURCE
Wobei:
PROJECT_STORING_OBJECTS
ist die ID oder Nummer des Projekts, das die Objekte enthält, die Sie verschlüsseln bzw. entschlüsseln möchten. Beispiel:my-pet-project
.KEY_RESOURCE
ist Ihre Cloud KMS-Schlüsselressource.
Clientbibliotheken
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "policy": { "bindings": { "role": "roles/cloudkms.cryptoKeyEncrypterDecrypter", "members": "serviceAccount:SERVICE_AGENT_EMAIL_ADDRESS" }, } }
Dabei ist
SERVICE_AGENT_EMAIL_ADDRESS
die mit Ihrem Dienstkonto verknüpfte E-Mail-Adresse. Beispiel:service-7550275089395@gs-project-accounts.iam.gserviceaccount.com
Verwenden Sie
cURL
, um die Cloud KMS API mit einerPOST setIamPolicy
-Anfrage aufzurufen:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://cloudkms.googleapis.com/v1/KEY_RESOURCE:setIamPolicy"
Wobei:
JSON_FILE_NAME
ist der Pfad für die JSON-Datei, die Sie in Schritt 2 erstellt haben.KEY_RESOURCE
ist Ihre Cloud KMS-Schlüsselressource.
XML API
Die XML API kann nicht verwendet werden, um Cloud KMS einem Dienst-Agent zuzuweisen. Verwenden Sie stattdessen eines der anderen Cloud Storage-Tools, z. B. die gcloud CLI.
Standardverschlüsselungsschlüssel verwenden
Standardschlüssel für einen Bucket einstellen
So können Sie den Cloud KMS-Standardschlüssel hinzufügen, ändern oder entfernen, wenn Objekte in einen Bucket geschrieben werden:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Bucket-Liste auf den Namen des gewünschten Buckets.
Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.
Klicken Sie auf das Stiftsymbol für den Eintrag Verschlüsselungstyp.
Legen Sie den Cloud KMS-Standardschlüssel für den Bucket fest oder entfernen Sie ihn.
Wenn der Bucket derzeit keinen Cloud KMS-Schlüssel verwendet, wählen Sie das Optionsfeld Vom Kunden verwalteter Schlüssel aus und wählen Sie dann einen der verfügbaren Schlüssel im zugehörigen Drop-down-Menü aus.
Wenn der Bucket derzeit einen Cloud KMS-Schlüssel verwendet, ändern Sie den Cloud KMS-Schlüssel im Drop-down-Menü oder entfernen Sie den Cloud KMS-Schlüssel. Wählen Sie dazu das Optionsfeld Von Google verwalteter Schlüssel.
Klicken Sie auf Speichern.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
Führen Sie den gcloud storage buckets update
-Befehl mit dem geeigneten Flag aus.
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dabei gilt:
BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.FLAG
ist die gewünschte Einstellung für den Standardschlüssel im Bucket. Verwenden Sie eines der folgenden Formate:--default-encryption-key=
und eine Cloud KMS-Schlüsselressource, wenn Sie einen Standardschlüssel hinzufügen oder ändern möchten.--clear-default-encryption-key
, wenn Sie den Standardschlüssel für den Bucket entfernen möchten.
Wenn der Vorgang erfolgreich war, sieht die Antwort so aus:
Updating gs://my-bucket/... Completed 1
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein standardmäßig vom Kunden verwalteter Verschlüsselungsschlüssel für einen Bucket festgelegt:
Im folgenden Beispiel wird der standardmäßige, vom Kunden verwaltete Verschlüsselungsschlüssel aus einem Bucket entfernt:
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "encryption": { "defaultKmsKeyName": "KEY_RESOURCE" } }
Dabei ist
KEY_RESOURCE
Ihre Cloud KMS-Schlüsselressource.So entfernen Sie den Cloud KMS-Standardschlüssel aus einem Bucket in der JSON-Datei:
{ "encryption": { "defaultKmsKeyName": null } }
Verwenden Sie
cURL
, um die JSON API mit einerPATCH
-Bucket-Anfrage aufzurufen:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=encryption"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die JSON-Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine XML-Datei, die folgende Information enthält:
<EncryptionConfiguration> <DefaultKmsKeyName>KEY_RESOURCE</DefaultKmsKeyName> </EncryptionConfiguration>
Dabei ist
KEY_RESOURCE
Ihre Cloud KMS-Schlüsselressource.So entfernen Sie den Cloud KMS-Standardschlüssel aus einem Bucket in der XML-Datei:
<EncryptionConfiguration></EncryptionConfiguration>
Verwenden Sie
cURL
, um die XML API mit einerPUT
-Bucket-Anfrage und dem AbfragestringparameterencryptionConfig
aufzurufen.curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?encryptionConfig"
Wobei:
XML_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.
Standardschlüssel für einen Bucket anzeigen
So lassen Sie den Cloud KMS-Schlüssel anzeigen, der derzeit als Standard für Ihren Bucket festgelegt ist:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Bucket-Liste auf den Namen des gewünschten Buckets.
Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.
Der aktuelle Standardschlüssel für Ihren Bucket wird im Feld Verschlüsselungsschlüssel angezeigt.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
Führen Sie den Befehl gcloud storage buckets describe
mit dem Flag --format
aus.
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_kms_key)"
Dabei ist BUCKET_NAME
der Name des Buckets, dessen Schlüssel Sie aufrufen möchten. Beispiel: my-bucket
.
Wenn der Vorgang erfolgreich war, sieht die Antwort so aus:
default_kms_key: KEY_RESOURCE
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den Standard-KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Buckets und suchen Sie in der Antwort nach dem Standard-KMS-Schlüsselfeld.Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den Standard-KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Buckets und suchen Sie in der Antwort nach dem Standard-KMS-Schlüsselfeld.Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den Standard-KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Buckets und suchen Sie in der Antwort nach dem Standard-KMS-Schlüsselfeld.Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den Standard-KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Buckets und suchen Sie in der Antwort nach dem Standard-KMS-Schlüsselfeld.PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den Standard-KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Buckets und suchen Sie in der Antwort nach dem Standard-KMS-Schlüsselfeld.Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den Standard-KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Buckets und suchen Sie in der Antwort nach dem Standard-KMS-Schlüsselfeld.Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den Standard-KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Buckets und suchen Sie in der Antwort nach dem Standard-KMS-Schlüsselfeld.REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerGET
-Bucket-Anfrage aufzurufen, die die gewünschtenfields
enthält:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=encryption"
Dabei ist
BUCKET_NAME
der Name des Buckets, dessen Schlüssel Sie aufrufen möchten. Beispiel:my-bucket
.Die Antwort sieht in etwa so aus:
{ "encryption" : { "defaultKmsKeyName": "KEY_RESOURCE" }, }
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die XML API mit einerGET
-Bucket-Anfrage aufzurufen, die den Abfrageparameterencryption
enthält:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?encryptionConfig"
Dabei ist
BUCKET_NAME
der Name des Buckets, dessen Schlüssel Sie aufrufen möchten. Beispiel:my-bucket
.Die Antwort sieht in etwa so aus:
<EncryptionConfiguration> <DefaultKmsKeyName>KEY_RESOURCE</DefaultKmsKeyName> </EncryptionConfiguration>
Objekte mit einem Cloud KMS-Schlüssel verschlüsseln
Sie können einzelne Objekte mit einem Cloud KMS-Schlüssel verschlüsseln. Dies ist nützlich, wenn Sie für den Bucket einen anderen Schlüssel als den Standardschlüssel verwenden möchten oder wenn für den Bucket kein Standardschlüssel festgelegt ist. Der Name der Schlüsselressource, mit der das Objekt verschlüsselt wurde, wird in den Metadaten des Objekts gespeichert.
Console
In der Google Cloud Console können Cloud KMS-Schlüssel nicht für jedes einzelne Objekt angegeben werden. Verwenden Sie stattdessen die gcloud CLI oder die Clientbibliotheken.
Befehlszeile
Führen Sie den Befehl gcloud storage cp
mit dem Flag --encryption-key
aus:
gcloud storage cp SOURCE_DATA gs://BUCKET_NAME/OBJECT_NAME --encryption-key=KEY_RESOURCE
Dabei gilt:
SOURCE_DATA
ist der Quellspeicherort der zu verschlüsselnden Daten. Dies kann ein beliebiger Quellspeicherort sein, der vom Befehlcp
unterstützt wird. Beispiel:gs://my-bucket/pets/old-dog.png
.BUCKET_NAME
ist der Name des Ziel-Buckets für diesen Kopierbefehl. Beispiel:my-bucket
.OBJECT_NAME
ist der Name des endgültigen, verschlüsselten Objekts. Beispiel:pets/new-dog.png
.KEY_RESOURCE
ist die Cloud KMS-Schlüsselressource, die Sie zum Verschlüsseln des Objekts verwenden möchten.
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Fügen Sie die Daten des Objekts in den Anfragetext ein.
Verwenden Sie
cURL
, um die JSON API mit einerPOST
-Objekt-Anfrage aufzurufen:curl -X POST --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME&kmsKeyName=KEY_RESOURCE"
Wobei:
OBJECT
ist der Pfad zum Objekt, das Sie hochladen. Beispiel:Desktop/dog.png
.OBJECT_CONTENT_TYPE
ist der Inhaltstyp des Objekts. Beispiel:image/png
.BUCKET_NAME
ist der Name des Buckets, in den Sie das Objekt hochladen. Beispiel:my-bucket
.OBJECT_NAME
ist der URL-codierte Name des Objekts, das Sie hochladen. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.KEY_RESOURCE
ist die Cloud KMS-Schlüsselressource.
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Fügen Sie die Daten des Objekts in den Anfragetext ein.
Verwenden Sie
cURL
, um die XML API mit einerPUT
-Objektanfrage aufzurufen:curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-kms-key-name: KEY_RESOURCE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dabei gilt:
OBJECT
ist der Pfad zum Objekt, das Sie hochladen. Beispiel:Desktop/dog.png
.OBJECT_CONTENT_TYPE
ist der Inhaltstyp des Objekts. Beispiel:image/png
.BUCKET_NAME
ist der Name des Buckets, in den Sie das Objekt hochladen. Beispiel:my-bucket
.OBJECT_NAME
ist der URL-codierte Name des Objekts, das Sie hochladen. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.KEY_RESOURCE
ist Ihre Cloud KMS-Schlüsselressource.
Von einem vom Kunden bereitgestellten Schlüssel zu einem Cloud KMS-Schlüssel rotieren
Wenn Ihre Objekte mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln verschlüsselt sind, können Sie sie rotieren, um Cloud KMS-Schüssel einzusetzen, indem Sie das Objekt umschreiben:
Console
Die Google Cloud Console kann nicht zum Ändern von Verschlüsselungsschlüsseln einzelner Objekte verwendet werden. Verwenden Sie stattdessen die gcloud CLI oder die Clientbibliotheken.
Befehlszeile
Verwenden Sie den gcloud storage objects update
-Befehl mit den entsprechenden Flags:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --encryption-key=KMS_KEY --decryption-keys=CSEK_KEY
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der das Objekt enthält, dessen Schlüssel Sie rotieren. Beispiel:my-bucket
OBJECT_NAME
ist der Name des Objekts, dessen Schlüssel Sie rotieren. Beispiel:pets/dog.png
.KMS_KEY
ist die Cloud KMS-Schlüsselressource, die Sie zum Verschlüsseln des Objekts verwenden möchten.CSEK_KEY
ist der aktuelle vom Kunden bereitgestellte Verschlüsselungsschlüssel, der für das Objekt verwendet wird.
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerPOST
-Objekt-Anfrage aufzurufen:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ -H "x-goog-copy-source-encryption-algorithm: AES256" \ -H "x-goog-copy-source-encryption-key: OLD_ENCRYPTION_KEY" \ -H "x-goog-copy-source-encryption-key-sha256: HASH_OF_OLD_KEY" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME?kmsKeyName=KEY_RESOURCE"
Wobei:
OLD_ENCRYPTION_KEY
ist der aktuelle AES-256-Schlüssel, der zum Verschlüsseln des Objekts verwendet wird.HASH_OF_OLD_KEY
ist der aktuelle SHA-256-Hash für den AES-256-Schlüssel.BUCKET_NAME
ist der Name des Buckets, der das relevante Objekt enthält. Beispiel:my-bucket
.OBJECT_NAME
ist der URL-codierte Name des Objekts, dessen Schlüssel Sie rotieren. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.KEY_RESOURCE
ist die Cloud KMS-Schlüsselressource.
XML API
Von der XML API nicht unterstützt wird das Rotieren von einem vom Kunden bereitgestellten Verschlüsselungsschlüssel zu einem Cloud KMS-Schlüssel durch Umschreiben eines Objekts. Wenn Sie mit der XML API eine solche Rotation vollziehen möchten, gehen Sie so vor:
Den zum Verschlüsseln eines Objekts verwendeten Schlüssel identifizieren
So finden Sie den Cloud KMS-Schlüssel, der zum Verschlüsseln eines Objekts verwendet wurde:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der das gewünschte Objekt enthält.
Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.
Wechseln Sie zu dem Objekt. Dieses befindet sich möglicherweise in einem Ordner.
Bewegen Sie den Mauszeiger in der Spalte Verschlüsselung auf den Eintrag für das gewünschte Objekt.
Der Schlüsselname und die Schlüsselversion werden im folgenden Format angezeigt:
LOCATION/KEY_RING_NAME/KEY_NAME/KEY_VERSION
Befehlszeile
Führen Sie den Befehl gcloud storage objects describe
mit dem Flag --format
aus.
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(kms_key)"
Wobei:
BUCKET_NAME
ist der Name des Buckets, der das verschlüsselte Objekt enthält. Beispiel:my-bucket
OBJECT_NAME
ist der Name des verschlüsselten Objekts. Beispiel:pets/dog.png
.
Wenn der Vorgang erfolgreich war, sieht die Antwort so aus:
kms_key: projects/my-pet-project/locations/LOCATION_NAME/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME/cryptoKeyVersions/VERSION_NUMBER
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den mit einem Objekt verknüpften KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Objekts und suchen Sie in der Antwort nach dem KMS-Schlüsselnamen.Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den mit einem Objekt verknüpften KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Objekts und suchen Sie in der Antwort nach dem KMS-Schlüsselnamen.Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den mit einem Objekt verknüpften KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Objekts und suchen Sie in der Antwort nach dem KMS-Schlüsselnamen.Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den mit einem Objekt verknüpften KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Objekts und suchen Sie in der Antwort nach dem KMS-Schlüsselnamen.PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den mit einem Objekt verknüpften KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Objekts und suchen Sie in der Antwort nach dem KMS-Schlüsselnamen.Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Um den mit einem Objekt verknüpften KMS-Schlüssel aufzurufen, folgen Sie der Anleitung zum Anzeigen der Metadaten eines Objekts und suchen Sie in der Antwort nach dem KMS-Schlüsselnamen.REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerGET
-Objekt-Anfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?fields=kmsKeyName"
Wobei:
BUCKET_NAME
ist der Name des Buckets, der das verschlüsselte Objekt enthält. Beispiel:my-bucket
.OBJECT_NAME
ist der URL-codierte Name des verschlüsselten Objekts. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die XML API mit einerGET
-Objektanfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?encryption"
Wobei:
BUCKET_NAME
ist der Name des Buckets, der das verschlüsselte Objekt enthält. Beispiel:my-bucket
.OBJECT_NAME
ist der URL-codierte Name des verschlüsselten Objekts. Beispiel:pets/dog.png
, URL-codiert alspets%2Fdog.png
.
Objekt entschlüsseln
Das Entschlüsseln eines Objekts, das mit einem Cloud KMS-Schlüssel verschlüsselt ist, wird automatisch ausgeführt, solange der entsprechende Dienst-Agent Zugriff auf den Schlüssel hat. Weitere Informationen finden Sie unter Dienst-Agents mit CMEKs.
Nächste Schritte
- Weitere Informationen zu CMEKs in Cloud Storage
- Weitere verfügbare Verschlüsselungsoptionen in Cloud Storage
- Cloud KMS-Schlüssel rotieren
- Weitere Produkte, die mit Cloud KMS kompatibel sind
- Weitere Informationen zu den Einschränkungen für die Organisationsrichtlinien
restrictNonCmekServices
undrestrictCmekCryptoKeyProjects
, um mehr Kontrolle über die Verwendung von Cloud KMS-Schlüsseln zu gewinnen.