Auf dieser Seite wird beschrieben, wie Sie in Cloud Storage einen eigenen Verschlüsselungsschlüssel verwenden, der als vom Kunden bereitgestellter Verschlüsselungsschlüssel bezeichnet wird. Weitere Verschlüsselungsoptionen in Cloud Storage finden Sie unter Datenverschlüsselungsoptionen.
Eigenen Verschlüsselungsschlüssel erstellen
Es gibt viele Möglichkeiten, einen base64-codierten AES-256-Verschlüsselungsschlüssel zu generieren. Hier sehen Sie einige Beispiele:
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.
Mit Ihrem Verschlüsselungsschlüssel hochladen
So laden Sie ein Objekt mit einem vom Kunden bereitgestellten Verschlüsselungsschlüssel hoch:
Console
Die Google Cloud Console kann nicht verwendet werden, um ein Objekt mit einem vom Kunden bereitgestellten Verschlüsselungsschlüssel hochzuladen. Verwenden Sie stattdessen die Google Cloud 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=YOUR_ENCRYPTION_KEY
Dabei gilt:
SOURCE_DATAist der Quellspeicherort der zu verschlüsselnden Daten. Dies kann ein beliebiger Quellspeicherort sein, der vom Befehlcpunterstützt wird. Beispiel: eine lokale Datei wieDesktop/dogs.pngoder ein anderes Cloud Storage-Objekt wiegs://my-bucket/pets/old-dog.png.BUCKET_NAMEist der Name des Ziel-Buckets für diesen Kopierbefehl. Beispiel:my-bucket.OBJECT_NAMEist der Name des endgültigen, verschlüsselten Objekts. Beispiel:pets/new-dog.png.YOUR_ENCRYPTION_KEYist der AES-256-Schlüssel, den Sie zum Verschlüsseln des hochgeladenen 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
Authorizationzu generieren.Verwenden Sie
cURL, um die JSON API mit einerPOST-Objektanfrage aufzurufen:curl -X POST --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
Dabei gilt:
OBJECTist der Pfad zum Objekt, das Sie hochladen. Beispiel:Desktop/dogs.png.OBJECT_CONTENT_TYPEist der Inhaltstyp des Objekts. Beispiel:image/pngYOUR_ENCRYPTION_KEYist der AES-256-Schlüssel, der zum Verschlüsseln des hochgeladenen Objekts verwendet wird.HASH_OF_YOUR_KEYist der SHA-256-Hash für den AES-256-Schlüssel.BUCKET_NAMEist der Name des Buckets, in den Sie das Objekt hochladen. Beispiel:my-bucket.OBJECT_NAMEist der URL-codierte Name des Objekts, das Sie hochladen. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png.
Weitere Informationen zu verschlüsselungsspezifischen Headern finden Sie unter Anfrageheader.
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorizationzu generieren.Verwenden Sie
cURL, um die XML API mit einerPUT-OBJEKT-Anfrage aufzurufen:curl -X -i PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dabei gilt:
OBJECTist der Pfad zum Objekt, das Sie hochladen. Beispiel:Desktop/dogs.png.OBJECT_CONTENT_TYPEist der Inhaltstyp des Objekts. Beispiel:image/pngYOUR_ENCRYPTION_KEYist der AES-256-Schlüssel, der zum Verschlüsseln des hochgeladenen Objekts verwendet wird.HASH_OF_YOUR_KEYist der SHA-256-Hash für den AES-256-Schlüssel.BUCKET_NAMEist der Name des Buckets, in den Sie das Objekt hochladen. Beispiel:my-bucket.OBJECT_NAMEist der URL-codierte Name des Objekts, das Sie hochladen. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png.
Weitere Informationen zu verschlüsselungsspezifischen Headern finden Sie unter Anfrageheader.
Verschlüsselte Objekte herunterladen
So laden Sie ein in Cloud Storage gespeichertes Objekt herunter, das mit einem vom Kunden bereitgestellten Verschlüsselungsschlüssel verschlüsselt ist:
Console
Die Google Cloud Console kann nicht zum Herunterladen von Objekten verwendet werden, die mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln verschlüsselt wurden. Verwenden Sie stattdessen die Google Cloud CLI oder die Clientbibliotheken.
Befehlszeile
Führen Sie den Befehl gcloud storage cp mit dem Flag --decryption-keys aus:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME OBJECT_DESTINATION --decryption-keys=YOUR_ENCRYPTION_KEY
Dabei gilt:
BUCKET_NAMEist der Name des Buckets mit dem Objekt, das Sie herunterladen. Beispiel:my-bucket.OBJECT_NAMEist der Name des Objekts, das Sie herunterladen. Beispiel:pets/dog.png.OBJECT_DESTINATIONist der Standort, an dem Sie Ihr Objekt speichern möchten. Beispiel:Desktop.YOUR_ENCRYPTION_KEYist der AES-256-Schlüssel, der zum Verschlüsseln des Objekts beim Hochladen 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
Authorizationzu generieren.Verwenden Sie
cURL, um die JSON API mit einerGET-Objektanfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
Dabei gilt:
YOUR_ENCRYPTION_KEYist der AES-256-Schlüssel, den Sie zum Verschlüsseln des Objekts verwendet haben.HASH_OF_YOUR_KEYist der SHA-256-Hash für den AES-256-Schlüssel.SAVE_TO_LOCATIONist der Standort, an dem Sie Ihr Objekt speichern möchten. Beispiel:Desktop/dog.png.BUCKET_NAMEist der Name des Buckets, von dem Sie das Objekt herunterladen. Beispiel:my-bucket.OBJECT_NAMEist der URL-codierte Name des Objekts, das Sie herunterladen. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png.
Weitere Informationen zu verschlüsselungsspezifischen Headern finden Sie unter Anfrageheader.
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorizationzu generieren.Verwenden Sie
cURL, um die XML API mit einerGET-OBJEKT-Anfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dabei gilt:
YOUR_ENCRYPTION_KEYist der AES-256-Schlüssel, den Sie zum Verschlüsseln des Objekts verwendet haben.HASH_OF_YOUR_KEYist der SHA-256-Hash für den AES-256-Schlüssel.SAVE_TO_LOCATIONist der Standort, an dem Sie Ihr Objekt speichern möchten. Beispiel:Desktop/dog.png.BUCKET_NAMEist der Name des Buckets, von dem Sie das Objekt herunterladen. Beispiel:my-bucket.OBJECT_NAMEist der URL-codierte Name des Objekts, das Sie herunterladen. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png.
Weitere Informationen zu verschlüsselungsspezifischen Headern finden Sie unter Anfrageheader.
Verschlüsselungsschlüssel rotieren
So rotieren Sie einen vom Kunden bereitgestellten Verschlüsselungsschlüssel:
Console
Die Google Cloud Console kann nicht zum Rotieren von vom Kunden bereitgestellten Verschlüsselungsschlüsseln verwendet werden. Verwenden Sie stattdessen die Google Cloud 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=NEW_KEY --decryption-keys=OLD_KEY
Dabei gilt:
BUCKET_NAMEist der Name des Buckets, der das Objekt enthält, dessen Schlüssel Sie rotieren. Beispiel:my-bucketOBJECT_NAMEist der Name des Objekts, dessen Schlüssel Sie rotieren. Beispiel:pets/dog.png.NEW_KEYist der neue vom Kunden bereitgestellte Verschlüsselungsschlüssel, mit dem Sie das Objekt verschlüsseln möchten.OLD_KEYist der aktuelle vom Kunden bereitgestellte Verschlüsselungsschlüssel, mit dem das Objekt verschlüsselt 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
Authorizationzu generieren.Verwenden Sie
cURL, um die JSON API mit einerPOST-Objektanfrage aufzurufen:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: NEW_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_NEW_KEY" \ -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"
Dabei gilt:
NEW_ENCRYPTION_KEYist der neue AES-256-Schlüssel, der zum Verschlüsseln des Objekts verwendet wird.HASH_OF_NEW_KEYist der SHA-256-Hash für den neuen AES-256-Schlüssel.OLD_ENCRYPTION_KEYist der aktuelle AES-256-Schlüssel, der zum Verschlüsseln des Objekts verwendet wird.HASH_OF_OLD_KEYist der aktuelle SHA-256-Hash für den AES-256-Schlüssel.BUCKET_NAMEist der Name des Buckets, der das relevante Objekt enthält. Beispiel:my-bucket.OBJECT_NAMEist der URL-codierte Name des Objekts, dessen Schlüssel Sie rotieren. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png.
Weitere Informationen zu verschlüsselungsspezifischen Headern finden Sie unter Anfrageheader.
XML API
Die XML API unterstützt die Rotation eines vom Kunden bereitgestellten Verschlüsselungsschlüssels durch das Umschreiben von Objekten nicht. So wenden Sie einen neuen vom Kunden bereitgestellten Schlüssel mithilfe der XML API auf ein Objekt an: