Auf dieser Seite wird beschrieben, wie Sie in Service Extensions-Plug-ins gespeicherte Inhalte mit vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) verschlüsseln.
Übersicht
Service Extensions verschlüsselt ruhende Kundeninhalte standardmäßig. Die Verschlüsselung wird von Service Extensions übernommen. Weitere Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.
Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie kundenverwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Service Extensions verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu besitzen und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.
Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Service Extensions-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).
Alle kryptografischen Vorgänge werden dem Google Cloud Projekt in Rechnung gestellt, zu dem der Schlüssel gehört, unabhängig vom Schlüsseltyp. Weitere Informationen zu den Preisen finden Sie unter Cloud KMS – Preise.
Schlüssel erstellen und Berechtigungen erteilen
In der folgenden Anleitung wird erläutert, wie Sie einen Schlüssel für ein Plug-in erstellen und Berechtigungen zum Ver- und Entschlüsseln von Plug-in-Daten mit dem Schlüssel gewähren.
Führen Sie im Google Cloud -Projekt, in dem Sie Ihre Schlüssel verwalten möchten, die folgenden Schritte aus:
Damit Sie einen Schlüssel erstellen können, müssen Sie die Cloud Key Management Service API aktivieren.
Erstellen Sie einen Schlüsselbund und einen Schlüssel mit einer der folgenden Optionen:
- Erstellen Sie einen Cloud KMS-Schlüsselbund und dann einen Cloud KMS-Schlüssel.
- Externen Schlüssel erstellen
Der Speicherort des Cloud KMS-Schlüssels muss mit dem Speicherort des Plugins übereinstimmen, das Sie verschlüsseln möchten.
Das Dienstkonto für Service Extensions muss in Ihrem Service Extensions-Projekt vorhanden sein. Der Name des Dienstkontos ist
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com, wobeiPROJECT_NUMBERdie Projektnummer des Google Cloud -Projekts ist, in dem Service Extensions ausgeführt wird.Das Dienstkonto wird automatisch erstellt, wenn Sie Ihr erstes Plug-in in Ihrem Service Extensions-Projekt erstellen. Wenn Sie noch kein Plug-in in Ihrem Projekt erstellt haben, erstellen Sie das Dienstkonto mit dem folgenden Befehl:
gcloud beta services identity create \ --service=networkactions.googleapis.com \ --project=PROJECTErsetzen Sie PROJECT durch die ID des Projekts, in dem Service Extensions ausgeführt wird.
Weisen Sie dem Dienstkonto für Dienst-Erweiterungen die Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler-Rolle (
roles/cloudkms.cryptoKeyEncrypterDecrypter) für den von Ihnen erstellten Schlüssel zu.Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Wählen Sie den von Ihnen erstellten Schlüssel aus.
Gewähren Sie Zugriff auf das Dienstkonto für Dienstextensions:
- Wählen Sie Infofeld anzeigen aus.
- Klicken Sie auf Mitglied hinzufügen.
- Fügen Sie das Dienstkonto für Dienst-Extensions hinzu. Das Dienstkonto ist
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com. - Wählen Sie unter Rolle auswählen die Option Cloud KMS > Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler aus.
- Klicken Sie auf Speichern.
Wiederholen Sie den vorherigen Schritt, um dem Konto des Plug‑in-Erstellers Zugriff zu gewähren.
Kehren Sie zur Seite Schlüsselverwaltung zurück und wählen Sie den Schlüssel noch einmal aus.
Wählen Sie Infofeld anzeigen aus. In der Spalte Rolle/Mitglied werden Rollen angezeigt.
gcloud
Gewähren Sie Zugriff auf das Dienstkonto für Dienst-Erweiterungen, indem Sie den
gcloud kms keys add-iam-policy-binding-Befehl ausführen:gcloud kms keys add-iam-policy-binding [--project=PROJECT] KEY_NAME \ --location LOCATION --keyring=KEYRING_NAME \ --member=serviceAccount:service-PROJECT-NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypterErsetzen Sie Folgendes:
PROJECT: die ID des Projekts, das den Schlüssel enthältKEY_NAME: der SchlüsselnameLOCATION: der Speicherort des SchlüsselsKEYRING_NAMEist der Name des Schlüsselbunds.PROJECT-NUMBER: die Projektnummer des Google Cloud -Projekts
Wiederholen Sie den vorherigen Schritt und legen Sie
memberauf das Konto des Plug-in-Erstellers fest.
Geben Sie beim Erstellen oder Aktualisieren eines Plugins den CMEK-Schlüssel an. Der Schlüssel bietet Verschlüsselung für das Plugin-Image und die Konfigurationsdaten. Andere Plug-in-Daten werden durch die Google-Standardverschlüsselung geschützt.
Automatische erneute Verschlüsselung
Wenn sich die primäre Version des KMS-Schlüssels ändert (entweder durch eine manuelle Änderung durch den Nutzer oder durch automatische Rotation), werden die durch den Schlüssel geschützten Plug-in-Daten automatisch mit der neuen Schlüsselversion neu verschlüsselt.
Schlüssel-Tracking
Mit der Schlüsselverfolgung können Sie die Plugin-Ressourcen auflisten, die durch einen Schlüssel geschützt werden. Weitere Informationen finden Sie unter Schlüsselnutzung ansehen.
Cloud Key Management Service-Kontingente und Diensterweiterungen
Wenn Sie CMEK-Schlüssel in Dienst-Extensions verwenden, z. B. in den folgenden Vorgängen, können Ihre Projekte Kontingente für kryptografische Cloud KMS-Anfragen verbrauchen:
- CMEK-geschütztes Plug-in erstellen oder aktualisieren
- Neue Versionen hinzufügen oder die Hauptversion von CMEK-geschützten Plug-ins ändern
- Versionen von CMEK-geschützten Plug-ins auflisten, für die das Feld
plugin_config_datafestgelegt ist - Plug-in an die Erweiterung anhängen
Für angehängte Plug-ins fallen im Laufe der Zeit zusätzliche Entschlüsselungsvorgänge an.
Wenn Sie Hardware- (Cloud HSM) oder externe Schlüssel (Cloud EKM) verwenden, wirken sich Ver- und Entschlüsselungsvorgänge über CMEK-Schlüssel auf Cloud KMS-Kontingente aus.
Zugriff auf ein mit CMEK verschlüsseltes Plug‑in entfernen
Es gibt verschiedene Möglichkeiten, den Zugriff auf ein mit CMEK verschlüsseltes Plug-in zu entfernen:
- Widerrufen Sie die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ für das Dienstkonto für Dienst-Extensions entweder über die Google Cloud -Konsole oder die gcloud CLI. Änderungen an Berechtigungen werden innerhalb von Sekunden wirksam. Es kann jedoch mehrere zehn Minuten dauern, bis alle Serving-Replikate eines Plugins den Traffic beenden, nachdem der zugehörige Schlüssel widerrufen wurde.
- Deaktivieren Sie den vom Kunden verwalteten Verschlüsselungsschlüssel vorübergehend.
- Löschen Sie endgültig den CMEK-Schlüssel.
Wir empfehlen, die Berechtigungen des Dienstkontos für Dienstextensions zu widerrufen, bevor Sie einen Schlüssel deaktivieren oder löschen.
Auswirkungen des Entziehens des Zugriffs
CMEK-geschützte Daten bestehen aus Bildern, die aus Artifact Registry heruntergeladen wurden, sowie aus allen Plug-in-Konfigurationsdaten, die direkt (über das Feld plugin_config_data) bereitgestellt werden.
Nachdem Sie den Verschlüsselungsschlüssel für ein Plug-in deaktiviert oder gelöscht haben, sind alle durch CMEK geschützten Plug-in-Daten innerhalb von Minuten nicht mehr zugänglich. Es kann mehrere zehn Minuten dauern, bis alle Bereitstellungsreplikate eines Plug-ins nach dem Widerruf des Schlüssels keinen Traffic mehr bereitstellen.
Plug‑in-Metadaten wie Name, Beschreibung, Labels oder Protokollierungskonfiguration des Plug‑ins bleiben zugänglich.
Wenn Sie den Zugriff auf einen Schlüssel entfernen, der ein aktives Plug-in schützt (d. h. ein Plug-in, das an eine Erweiterung angehängt ist), kann das Plug-in keinen Traffic mehr verarbeiten. Alle Anfragen an das Plug-in schlagen fehl.
Wenn der Aufruf des Plug-ins fehlschlägt, hängt das Verhalten der Erweiterung vom Feld fail_open ab:
- Wenn das Feld auf
truegesetzt ist, wird die Anfrage an den Zieldienst weitergeleitet, ohne dass darauf hingewiesen wird, dass der Plug-in-Aufruf fehlgeschlagen ist. - Wenn das Feld auf
falsegesetzt ist, erreicht die Anfrage den Zieldienst nicht.
Beschränkungen
Der für ein Plug‑in festgelegte CMEK-Schutz ist auf Service Extensions beschränkt.
Wenn Sie Plug-in-Ressourcen in anderen Google-Produkten schützen möchten, aktivieren Sie CMEK über diese Produkte. Richten Sie CMEK für Artifact Registry für die in Artifact Registry hochgeladenen Plug-in-Images ein. Wenn Sie die von Ihrem Plug-in generierten Logs schützen möchten, konfigurieren Sie CMEK für Cloud Logging.
Der Verschlüsselungsmodus (von Google verwaltet oder CMEK) eines Plug-ins kann nicht geändert werden. Sie können das Plug-in jedoch aktualisieren, um einen anderen KMS-Schlüssel zu verwenden.
Es werden nur regionale Plug-ins unterstützt. Außerdem können Plug-ins nur mit einem Schlüssel in derselben Region wie das Plug-in verschlüsselt werden.
Nächste Schritte
- Weitere Informationen zum Erstellen von Plug-ins
- Weitere Informationen zu CMEK
- Weitere Informationen zur Standardverschlüsselung inaktiver Daten