Auf dieser Seite werden vom Kunden verwaltete Verschlüsselungsschlüssel und ihre Verwendung in Cloud Storage beschrieben. Weitere Verschlüsselungsoptionen finden Sie unter Datenverschlüsselungsoptionen.
Überblick
Wenn Sie mehr Kontrolle über Schlüsselvorgänge benötigen, als die von Google verwalteten Verschlüsselungsschlüssel zulassen, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel verwenden. Diese Schlüssel werden mit Cloud Key Management Service (Cloud KMS) erstellt und verwaltet und Sie speichern die Schlüssel als Softwareschlüssel in einem HSM-Cluster oder extern. Sie können vom Kunden verwaltete Verschlüsselungsschlüssel für einzelne Objekte verwenden oder Ihren Bucket so konfigurieren, dass ein Schlüssel standardmäßig für alle neuen Objekte verwendet wird, die einem Bucket hinzugefügt werden.
Wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel verwenden, wird ein Objekt von Cloud Storage zum Zeitpunkt der Speicherung in einem Bucket mit dem Schlüssel verschlüsselt. Das Objekt wird während der Speicherung automatisch von Cloud Storage entschlüsselt, wenn es für Anfragende bereitgestellt wird.
Wann wird der Schlüssel verwendet?
Wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel auf ein Objekt anwenden, verwendet Cloud Storage den Schlüssel, um Folgendes zu verschlüsseln:
- Die Daten des Objekts
- Die CRC32C-Prüfsumme des Objekts
- Den MD5-Hash des Objekts
Cloud Storage verwendet standardmäßige serverseitige Schlüssel zum Verschlüsseln der verbleibenden Metadaten für das Objekt, einschließlich des Objektnamens. Wenn Sie ausreichende Berechtigungen haben, können Sie also beispielsweise die meisten Metadaten lesen sowie Objekte auflisten und löschen, auch nachdem Sie den zugehörigen vom Kunden verwalteten Verschlüsselungsschlüssel deaktiviert oder gelöscht haben.
Kundenservicemitarbeiter
Jedes Projekt verfügt über ein spezielles Cloud Storage-Dienstkonto, dem sogenannten Dienst-Agent, der die Verschlüsselung und Entschlüsselung mit vom Kunden verwalteten Verschlüsselungsschlüsseln durchführt. Nachdem Sie dem Dienst-Agent Zugriff auf einen Verschlüsselungsschlüssel gewährt haben, verschlüsselt dieser Dienst-Agent:
- Objekte, die einem Bucket hinzugefügt wurden, der den Schlüssel als Standardschlüssel verwendet
- Bestimmte Objekte, für die Sie angegeben haben, dass sie mit diesem Schlüssel verschlüsselt werden sollen
Wenn Sie sowohl einen Standardschlüssel für Ihren Bucket als auch einen spezifischen Schlüssel für die Anfrage festgelegt haben, verwendet Cloud Storage den spezifischen Schlüssel zum Verschlüsseln des Objekts, wenn ein Objekt in Cloud Storage hinzugefügt oder neu geschrieben wird.
Wenn Sender ein Objekt lesen möchten, das mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsselt ist, können sie wie gewohnt auf das Objekt zugreifen. Bei einer solchen Anfrage entschlüsselt der Dienst-Agent automatisch das angeforderte Objekt, wenn diese Bedingungen gegeben sind:
- Der Dienst-Agent hat weiterhin die Berechtigung, mit dem Schlüssel zu entschlüsseln
- Sie haben den Schlüssel nicht deaktiviert oder gelöscht
Wenn eine dieser Bedingungen nicht erfüllt ist, entschlüsselt der Dienst-Agent die Daten nicht und die Anfrage schlägt fehl.
Beschränkungen
Vom Kunden verwaltete Verschlüsselungsschlüssel unterliegen den folgenden Beschränkungen:
Sie können ein Objekt nicht mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsseln, indem Sie seine Metadaten aktualisieren. Fügen Sie den Schlüssel stattdessen hinzu, während Sie das Objekt neu schreiben.
gcloud storage
verwendet den Befehlobjects update
, um Verschlüsselungsschlüssel für Objekte festzulegen, aber der Befehl schreibt das Objekt als Teil der Anfrage neu.
Sie müssen den Cloud KMS-Schlüsselbund am selben Standort wie die Daten erstellen, die Sie verschlüsseln möchten. Wenn sich Ihr Bucket beispielsweise in
US-EAST1
befindet, muss jeder Schlüsselbund, der zum Verschlüsseln von Objekten in diesem Bucket verwendet wird, auch inUS-EAST1
erstellt werden.Für die meisten Dual-Regionen müssen Sie den Cloud KMS-Schlüsselbund in der zugehörigen Multiregion erstellen. Wenn sich Ihr Bucket beispielsweise im Paar
US-EAST1
,US-WEST1
befindet, muss jeder Schlüsselbund, der zum Verschlüsseln von Objekten in diesem Bucket verwendet wird, in der MultiregionUS
erstellt werden.Für die vordefinierten Dual-Regionen
ASIA1
,EUR4
undNAM4
müssen Sie den Schlüsselbund in derselben vordefinierten Dual-Region erstellen.Informationen zu verfügbaren Cloud KMS-Standorten finden Sie unter Cloud KMS-Standorte.
Verschlüsselungs- und Entschlüsselungsraten für Cloud KMS unterliegen einem Kontingent.
Die CRC32C-Prüfsumme und der MD5-Hash von Objekten, die mit vom Kunden verwalteten Verschlüsselungsschlüsseln verschlüsselt wurden, werden beim Auflisten von Objekten mit der JSON API nicht zurückgegeben.
- Gegebenenfalls führen einige Tools wie
gcloud storage
für jedes Objekt, das mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsselt ist, eine zusätzliche MetadatenanfrageGET
durch, um CRC32C- und MD5-Informationen abzurufen. Diese zusätzliche Anfragen können die Auflistung wesentlich langsamer machen als die Auflistung von Objekten, die mit von Google verwalteten Schlüsseln verschlüsselt sind.
- Gegebenenfalls führen einige Tools wie
Cloud Storage kann den Entschlüsselungsabschnitt von asymmetrischen Schlüsseln, die in Cloud KMS gespeichert sind, nicht verwenden, um relevante Objekte automatisch auf dieselbe Weise zu entschlüsseln wie von Kunden verwaltete Verschlüsselungsschlüssel.
Bezug zu vom Kunden bereitgestellten Verschlüsselungsschlüsseln
Neben der Verschlüsselung, die vom Kunden verwaltet wird, bietet Cloud Storage zur Steuerung Ihrer Datenverschlüsselung auch vom Kunden bereitgestellte Verschlüsselungsschlüssel. Sie können verschiedene Objekte in einem einzelnen Bucket mit unterschiedlichen Verschlüsselungsmethoden verschlüsseln, beachten Sie aber Folgendes:
Ein einzelnes Objekt kann immer nur mit einer dieser Methoden verschlüsselt werden.
Wenn der Standardschlüssel für Ihren Bucket ein vom Kunden verwalteter Schlüssel ist und Sie in einer Anfrage einen vom Kunden bereitgestellten Schlüssel angeben, verwendet Cloud Storage den vom Kunden bereitgestellten Schlüssel zum Verschlüsseln des Objekts.
Schlüsselverwaltung
In diesem Abschnitt werden Überlegungen zum Rotieren von Schlüsseln und Ersetzen von Schlüsseln sowie zum Deaktivieren oder Zerstören von Schlüsselversionen erläutert.
Schlüsselrotation
Cloud KMS unterstützt sowohl die automatische als auch die manuelle Schlüsselrotation auf eine neue Version. Nach dem Rotieren eines Schlüssels verwendet Cloud Storage die neue Version für alle Vorgänge, die mit dem Schlüssel verschlüsselt werden, z. B.:
Objektuploads, wenn der Ziel-Bucket den Schlüssel als Standardverschlüsselungsschlüssel verwendet.
Upload-, Kopier- oder Umschreibvorgänge für Objekte, die den Schlüssel im Vorgang verwenden.
Frühere Versionen des Schlüssels werden nicht deaktiviert oder zerstört, sodass Cloud Storage weiterhin vorhandene Objekte entschlüsseln kann, die zuvor mit diesen Versionen verschlüsselt wurden.
Schlüsselersatz
Beachten Sie die folgenden Richtlinien, wenn Sie den Schlüssel zum Verschlüsseln von Cloud Storage-Objekten durch einen neuen Schlüssel ersetzen:
Prüfen Sie Ihre Buckets, um zu sehen, welche den Schlüssel als Standardverschlüsselungsschlüssel verwenden. Ersetzen Sie bei diesen Buckets den alten Schlüssel durch einen neuen.
Dadurch wird sichergestellt, dass alle in den Bucket geschriebenen Objekte künftig den neuen Schlüssel verwenden.
Prüfen Sie Ihren Quellcode, um nachzuvollziehen, welche Anfragen den Schlüssel im laufenden Betrieb verwenden, z. B. beim Festlegen von Bucket-Konfigurationen und beim Hochladen, Kopieren oder Umschreiben von Objekten. Aktualisieren Sie diese Instanzen so, dass sie den neuen Schlüssel verwenden.
Suchen Sie in allen Buckets nach Objekten, die mit dem alten Schlüssel verschlüsselt sind. Verwenden Sie die Methode "Rewrite Object", um jedes Objekt mit dem neuen Schlüssel neu zu verschlüsseln.
Deaktivieren Sie alle Versionen des alten Schlüssels. Achten Sie nach dem Deaktivieren alter Schlüsselversionen bei Client- und Dienstlogs auf Vorgänge, die fehlschlagen, weil eine Version nicht mehr verfügbar ist.
Schlüsselversion deaktivieren oder löschen
Wenn Sie eine bestimmte Schlüsselversion deaktivieren oder zerstören, können Sie kein Objekt entschlüsseln, das derzeit mit dieser Schlüsselversion verschlüsselt ist.
Sie können das Objekt beispielsweise nicht herunterladen, kopieren oder umschreiben. Wenn Sie dies versuchen, wird ein Fehler angezeigt.
Wenn Sie eine Schlüsselversion deaktivieren, können Sie sie wieder aktivieren. Nach der erneuten Aktivierung können Sie auf Objekte zugreifen, die mit dieser Schlüsselversion verschlüsselt wurden.
Wenn Sie eine Schlüsselversion zerstören, sind Downloads von mit dieser Version verschlüsselten Objekten nie wieder möglich.
Bevor Sie eine Schlüsselversion deaktivieren oder zerstören, sollten Sie alle Objekte in allen Buckets identifizieren, die mit der spezifischen Schlüsselversion verschlüsselt wurden. Verwenden Sie nach der Identifizierung die Methode "Rewrite Object", um jedes Objekt mit einer neuen Schlüsselversion, einem völlig neuen Schlüssel oder serverseitigen Schlüsseln neu zu verschlüsseln.
Wenn Sie die Primärversion eines Schlüssels deaktivieren oder zerstören, können Sie den Schlüssel erst zur Verschlüsselung verwenden, wenn Sie eine neue Primärversion haben. Ohne Primärversion gilt beispielsweise Folgendes:
Sie können den Schlüssel nicht als Teil eines Upload-, Kopier- oder Umschreibvorgangs für Objekte angeben.
Sie können Objekte nicht in einen Bucket hochladen, kopieren oder umschreiben, in dem der Schlüssel als Standardverschlüsselungsschlüssel festgelegt ist, es sei denn, Sie geben im Rahmen des Vorgangs einen anderen gültigen Schlüssel an.
Sobald Sie eine Primärversion für Ihren Schlüssel haben, sind Vorgänge erfolgreich, bei denen der Schlüssel zum Verschlüsseln von Objekten verwendet wird.
Bevor Sie eine Schlüsselversion deaktivieren oder zerstören, die die primäre Version des Schlüssels ist, sollten Sie erst die Verwendung als primäre Version beenden. Dies kann auf zwei Arten geschehen:
- Sie können sie durch eine neue Primärversion ersetzen, normalerweise indem Sie eine Schlüsselrotation ausführen.
- Sie können Instanzen entfernen, in denen Sie den Schlüssel zur Verschlüsselung verwenden. Wenn Sie dies tun, verwendet Cloud Storage stattdessen serverseitige Schlüssel für die Verschlüsselung.
Nächste Schritte
- Legen Sie vom Kunden verwaltete Verschlüsselungsschlüssel für Ihre Cloud Storage-Buckets und -Objekte fest.
- Preise für die Verwendung von Cloud KMS.
- Weitere Informationen zur Verschlüsselung in Cloud Storage.
- Mehr über Cloud KMS erfahren