Vom Kunden verwaltete Verschlüsselungsschlüssel

Zu den Beispielen

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.

Übersicht

Kunden, die mehr Kontrolle über Schlüsselvorgänge benötigen, als von Google verwaltete Verschlüsselungsschlüssel bieten, können vom Cloud Key Management Service generierte Schlüssel verwenden. Derartige Schlüssel sind als vom Kunden verwaltete Verschlüsselungsschlüssel bekannt. Sie können vom Kunden verwaltete Verschlüsselungsschlüssel für einzelne Objekte verwenden oder Ihren Bucket so konfigurieren, dass standardmäßig für alle neuen Objekte, die einem Bucket hinzugefügt werden, ein Schlüssel verwendet wird.

Wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel verwenden, werden Ihre Verschlüsselungsschlüssel in Cloud KMS gespeichert. Das Projekt, das Ihre Verschlüsselungsschlüssel enthält, kann dann unabhängig von dem Projekt sein, das Ihre Buckets enthält, wodurch eine bessere Aufgabentrennung ermöglicht 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:

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:

  • Eine Aktualisierung der Metadaten des Objekts führt nicht dazu, dass Sie ein Objekt mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsseln können. Fügen Sie den Schlüssel stattdessen hinzu, während Sie das Objekt neu schreiben.

  • Sie müssen den Cloud KMS-Schlüssel am selben Standort wie die Daten erstellen, die Sie verschlüsseln möchten. Beispiel: Wenn sich Ihr Bucket in US-EAST1 befindet, müssen alle Cloud KMS-Schlüssel, die Objekte in diesem Bucket verschlüsseln, ebenfalls in US-EAST1 erstellt werden. Informationen zu verfügbaren Cloud KMS-Standorten finden Sie unter Cloud KMS-Standorte.

  • Sie können einen vom Kunden verwalteten Verschlüsselungsschlüssel nicht als Teil einer Übertragung des Storage Transfer Service angeben. Solche Schlüssel für Quellobjekte werden nicht auf die übertragenen Objekte angewendet. Legen Sie stattdessen vor der Übertragung den vom Kunden verwalteten Schlüssel als Standardschlüssel für Ihren Bucket fest.

  • Verschlüsselungs- und Entschlüsselungsraten für Cloud KMS unterliegen einem Kontingent.

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.

  • Sie können als Standardschlüssel für Ihren Bucket einen vom Kunden verwalteten Schlüssel festlegen, aber keinen vom Kunden bereitgestellten Schlüssel.

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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