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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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_DATA
ist der Quellspeicherort der zu verschlüsselnden Daten. Dies kann ein beliebiger Quellspeicherort sein, der vom Befehlcp
unterstützt wird. Beispiel: eine lokale Datei wieDesktop/dogs.png
oder ein anderes Cloud Storage-Objekt wiegs://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
.YOUR_ENCRYPTION_KEY
ist 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung einrichten.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.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:
OBJECT
ist der Pfad zum Objekt, das Sie hochladen. Beispiel:Desktop/dogs.png
.OBJECT_CONTENT_TYPE
ist der Inhaltstyp des Objekts. Beispiel:image/png
.YOUR_ENCRYPTION_KEY
ist der AES-256-Schlüssel, der zum Verschlüsseln des hochgeladenen Objekts verwendet wird.HASH_OF_YOUR_KEY
ist der SHA-256-Hash für den AES-256-Schlüssel.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
.
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
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die XML API mit einerPUT
-Objektanfrage 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:
OBJECT
ist der Pfad zum Objekt, das Sie hochladen. Beispiel:Desktop/dogs.png
.OBJECT_CONTENT_TYPE
ist der Inhaltstyp des Objekts. Beispiel:image/png
.YOUR_ENCRYPTION_KEY
ist der AES-256-Schlüssel, der zum Verschlüsseln des hochgeladenen Objekts verwendet wird.HASH_OF_YOUR_KEY
ist der SHA-256-Hash für den AES-256-Schlüssel.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
.
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_NAME
ist der Name des Buckets mit dem Objekt, das Sie herunterladen. Beispiel:my-bucket
.OBJECT_NAME
ist der Name des Objekts, das Sie herunterladen. Beispiel:pets/dog.png
.OBJECT_DESTINATION
ist der Standort, an dem Sie Ihr Objekt speichern möchten. Beispiel:Desktop
.YOUR_ENCRYPTION_KEY
ist 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung einrichten.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.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_KEY
ist der AES-256-Schlüssel, den Sie zum Verschlüsseln des Objekts verwendet haben.HASH_OF_YOUR_KEY
ist der SHA-256-Hash für den AES-256-Schlüssel.SAVE_TO_LOCATION
ist der Standort, an dem Sie Ihr Objekt speichern möchten. Beispiel:Desktop/dog.png
.BUCKET_NAME
ist der Name des Buckets, von dem Sie das Objekt herunterladen. Beispiel:my-bucket
.OBJECT_NAME
ist 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
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die XML 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/BUCKET_NAME/OBJECT_NAME"
Dabei gilt:
YOUR_ENCRYPTION_KEY
ist der AES-256-Schlüssel, den Sie zum Verschlüsseln des Objekts verwendet haben.HASH_OF_YOUR_KEY
ist der SHA-256-Hash für den AES-256-Schlüssel.SAVE_TO_LOCATION
ist der Standort, an dem Sie Ihr Objekt speichern möchten. Beispiel:Desktop/dog.png
.BUCKET_NAME
ist der Name des Buckets, von dem Sie das Objekt herunterladen. Beispiel:my-bucket
.OBJECT_NAME
ist 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_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
.NEW_KEY
ist der neue vom Kunden bereitgestellte Verschlüsselungsschlüssel, mit dem Sie das Objekt verschlüsseln möchten.OLD_KEY
ist 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung einrichten.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.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_KEY
ist der neue AES-256-Schlüssel, der zum Verschlüsseln des Objekts verwendet wird.HASH_OF_NEW_KEY
ist der SHA-256-Hash für den neuen AES-256-Schlüssel.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
.
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: