Standardmäßig verschlüsselt Secure Source Manager ruhende Kundeninhalte. Die Verschlüsselung wird von Secure Source Manager ü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 vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Secure Source Manager 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 die Schlüsselnutzung verfolgen, 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 Secure Source Manager-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselung soptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).
Cloud KMS kann in einem separaten Projekt ausgeführt werden, in dem Sie Schlüssel für mehrere Projekte zentral verwalten, oder im selben Google Cloud Projekt wie Secure Source Manager. Um die Aufgabentrennung zu unterstützen und den Zugriff auf Schlüssel besser zu kontrollieren, empfehlen wir, Schlüssel in einem separaten Projekt zu erstellen und zu verwalten, das keine anderen Google Cloud Ressourcen enthält.
Sie weisen einen Cloud KMS-Schlüssel beim Erstellen einer Instanz zu. Der bestehende Verschlüsselungsmechanismus einer vorhandenen Instanz kann nicht mehr geändert werden. Für eine mit CMEK verschlüsselte Instanz lässt sich also der Verschlüsselungsmechanismus nicht in die Google-Standardverschlüsselung ändern und es kann auch kein anderer Cloud Key Management Service-Schlüssel für die Verschlüsselung zugewiesen werden.
Die Instanz muss am selben Standort wie der Cloud KMS-Schlüssel erstellt werden.
CMEK mit Cloud KMS Autokey
Sie können CMEKs manuell erstellen, um Ihre Secure Source Manager Ressourcen zu schützen, oder dazu Cloud KMS Autokey verwenden. Mit Autokey werden Schlüsselbunde und Schlüssel bei der Ressourcenerstellung in Secure Source Manager auf Anfrage generiert. Dienst-Agents, die die Schlüssel für Verschlüsselungs- und Entschlüsselungsvorgänge verwenden, werden erstellt, falls sie noch nicht vorhanden sind, und erhalten dann die erforderlichen IAM-Rollen (Identity and Access Management). Weitere Informationen finden Sie unter Übersicht: Autokey.
Cloud KMS-Kontingente und Secure Source Manager
Wenn Sie CMEK in Secure Source Manager verwenden, können Ihre Projekte Kontingente für kryptografische Cloud KMS-Anfragen verbrauchen. Mit CMEK verschlüsselte Instanzen verbrauchen diese Kontingente bei der Erstellung. Ver- und Entschlüsselungsvorgänge über CMEK-Schlüssel wirken sich nur dann auf Cloud KMS-Kontingente aus, wenn Sie Hardware- (Cloud HSM) oder externe Schlüssel (Cloud EKM) verwenden. Weitere Informationen finden Sie unter Cloud KMS-Kontingente.
CMEK-Schlüssel erstellen und Berechtigungen gewähren
In der folgenden Anleitung wird beschrieben, wie Sie einen Schlüssel erstellen und dem Secure Source Manager-Dienstkonto Berechtigungen für den Schlüssel gewähren.
Cloud KMS-Schlüssel erstellen:
Manuell
Führen Sie im Google Cloud Projekt, in dem Sie Ihre Schlüssel verwalten möchten, folgende Schritte aus:
Erstellen Sie einen Schlüsselbund und einen Schlüssel mit einer der folgenden Optionen:
- Erstellen Sie den Schlüsselbund und den Schlüssel direkt in Cloud KMS.
- Verwenden Sie einen extern verwalteten Schlüssel. Erstellen Sie den externen Schlüssel und erstellen Sie dann einen Cloud EKM-Schlüssel, um den Schlüssel über Cloud KMS verfügbar zu machen.
Der Speicherort des Cloud KMS-Schlüssels muss mit dem Speicherort des Projekts übereinstimmen, in dem Sie die Secure Source Manager- Instanz erstellen möchten.
Autokey verwenden
Aktivieren Sie Cloud KMS Autokey, falls noch nicht geschehen, aktivieren Sie Cloud KMS Autokey.
Erstellen Sie ein neues Cloud KMS Autokey
KeyHandle:curl -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -X POST https://cloudkms.googleapis.com/v1/projects/PROJECT/locations/LOCATION/keyHandles \ -d '{"resource_type_selector": "securesourcemanager.googleapis.com/Instance"}'Ersetzen Sie Folgendes:
- PROJECT: Die Projekt-ID des Projekts, in dem Cloud KMS Autokey aktiviert ist und in dem Sie eine Secure Source Manager-Instanz bereitstellen möchten.
- LOCATION: Der
KeyHandleSpeicherort. Er muss mit dem Speicherort übereinstimmen, an dem Sie eine Secure Source Manager-Instanz bereitstellen möchten.
Die Ausgabe sieht etwa so aus:
{ "name": "projects/PROJECT/locations/LOCATION/operations/OPERATION", "metadata": { "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata" } }Notieren Sie sich den Wert von OPERATION aus der Ausgabe. Sie benötigen diesen Wert, um die Ressourcen-ID des erstellten Schlüssels abzurufen.
Suchen Sie den Cloud KMS-Schlüssel, der mit dem Schlüsselhandle verknüpft ist:
curl -H "X-Goog-User-Project: PROJECT" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -X GET https://cloudkms.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATIONErsetzen Sie Folgendes:
- PROJECT: Die Projekt-ID des Projekts, in dem Cloud KMS Autokey aktiviert ist und in dem Sie eine Secure Source Manager-Instanz bereitstellen möchten.
- LOCATION: Der
KeyHandleSpeicherort. Er muss mit dem Speicherort übereinstimmen, an dem Sie eine Secure Source Manager-Instanz bereitstellen möchten. - OPERATION: Die ID des Schlüsselhandle-Anfragevorgangs aus der Ausgabe des vorherigen Schritts.
Die Ausgabe sieht etwa so aus:
{ "name": "projects/PROJECT/locations/LOCATION/operations/OPERATION", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle", "name": "projects/PROJECT/locations/LOCATION/keyHandles/KEY_HANDLE", "kmsKey": "projects/PROJECT/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME", "resourceTypeSelector": "securesourcemanager.googleapis.com/Instance" } }Der Wert des Elements
kmsKeyin der Ausgabe ist die vollständige Ressourcen-ID des Schlüssels, der von Cloud KMS Autokey für diese Ressource erstellt wurde. Sie können diese Ressourcen-ID genauso verwenden wie die Ressourcen-ID für jede andere Cloud KMS-Ressource.
Wenn Sie die erste Secure Source Manager-Instanz in Ihrem Projekt erstellen, müssen Sie den Secure Source Manager-Dienst-Agent manuell erstellen, indem Sie den folgenden Befehl ausführen:
gcloud beta services identity create \ --service=securesourcemanager.googleapis.com \ --project=PROJECTDabei ist
PROJECTdie Projekt-ID des Projekts, in dem Sie die Secure Source Manager-Instanz erstellen.Nachdem Sie das P4SA (Per-Product-Per-Project-Dienstkonto) erstellt haben, müssen Sie dem Prinzipal
service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.comdie Rolle „Secure Source Manager-Dienst-Agent“ (roles/securesourcemanager.serviceAgent) zuweisen, andernfalls schlägt die Instanzerstellung fehl.Weisen Sie dem Secure Source Manager-Dienstkonto die IAM-Rolle „CryptoKey-Verschlüsseler/Entschlüsseler“ (
roles/cloudkms.cryptoKeyEncrypterDecrypter) zu. Erteilen Sie diese Berechtigung für den von Ihnen erstellten Schlüssel.Console
Rufen Sie die Seite Key Management auf.
Wählen Sie den gewünschten Schlüsselbund aus, öffnen Sie die Seite Details zum Schlüsselbund und wählen Sie dann den erstellten Schlüssel aus.
Gewähren Sie Zugriff auf das Secure Source Manager-Dienstkonto:
- Klicken Sie auf HAUPTKONTO HINZUFÜGEN.
- Fügen Sie das Secure Source Manager-Dienstkonto hinzu. Das Dienstkonto ist service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, wobei PROJECT-NUMBER die Projektnummer des Google Cloud Projekts ist, in dem Secure Source Manager aktiviert ist.
- 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 Zugriff auf das Konto zu gewähren, mit dem die Secure Source Manager-Instanz erstellt wird.
Kehren Sie zur Key Management Seite zurück, wählen Sie den Schlüsselbund aus und öffnen Sie die Details zum Schlüsselbund Seite. Wählen Sie dann den Schlüssel noch einmal aus.
Wählen Sie das Optionsfeld Infofeld ansehen aus. In der Spalte Rolle/Mitglied sollten Rollen angezeigt werden.
gcloud
Führen Sie den folgenden Befehl aus, um Zugriff auf das Secure Source Manager-Dienstkonto zu gewähren:
gcloud kms keys add-iam-policy-binding [--project=PROJECT] \ KEY_NAME --location LOCATION --keyring=KEY_RING \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterErsetzen Sie Folgendes:
- PROJECT: Die ID des Projekts, das den Schlüssel enthält.
- KEY_NAME: Der Schlüsselname.
- LOCATION: Der Speicherort des Schlüssels. Der Speicherort des Schlüssels muss mit dem Speicherort des Projekts übereinstimmen, in dem Sie eine Secure Source Manager-Instanz bereitstellen möchten.
- KEY_RING: Der Name des Schlüsselbunds.
- PROJECT_NUMBER: die Projektnummer des Google Cloud Projekts, in dem Secure Source Manager aktiviert ist.
Wiederholen Sie den vorherigen Schritt, um Zugriff auf das Konto zu gewähren, mit dem die Secure Source Manager-Instanz erstellt wird.
Weitere Informationen zu diesem Befehl finden Sie in der Dokumentation zu gcloud kms keys add-iam-policy-binding.
Zugriff entfernen
Es gibt verschiedene Möglichkeiten, um den Zugriff auf ein mit CMEK verschlüsseltes Repository wieder aufzuheben:
- Widerrufen Sie die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ aus dem Secure Source Manager-Dienstkonto mithilfe der Google Cloud Console oder der gcloud CLI.
- Deaktivieren Sie vorübergehend den CMEK-Schlüssel.
- Löschen Sie endgültig den CMEK-Schlüssel.
Wir empfehlen, die Berechtigungen des Secure Source Manager-Dienstkontos zu widerrufen, bevor Sie einen Schlüssel deaktivieren oder löschen. Die Änderung von Berechtigungen wird innerhalb von Sekunden wirksam, sodass Sie sofort nachvollziehen können, wie sich das Deaktivieren oder Löschen eines Schlüssels auswirkt.
Wenn Sie den Verschlüsselungsschlüssel für eine Instanz deaktivieren oder löschen, können Sie keine Daten mehr aus der Instanz ansehen oder abrufen. Alle in der Instanz gespeicherten Daten sind dann nicht mehr zugänglich, einschließlich des Codeverlaufs, der Pull-Anfragen und der Probleme.
Nutzer mit der Rolle „Secure Source Manager-Instanzadministrator“ oder „Instanzinhaber“ können die Instanz löschen.
CMEK-Organisationsrichtlinien
Secure Source Manager unterstützt Einschränkungen von Organisationsrichtlinien die einen CMEK-Schutz erfordern können.
Mit Richtlinien kann eingeschränkt werden, welche Cloud KMS CryptoKeys für den CMEK-Schutz verwendet werden können.
Wenn sich die Secure Source Manager API in der Richtlinienliste
Denyder Einschränkungconstraints/gcp.restrictNonCmekServicesbefindet, lehnt Secure Source Manager das Erstellen neuer Instanzen ab, die nicht mit CMEK geschützt sind.Wenn
constraints/gcp.restrictCmekCryptoKeyProjectskonfiguriert ist, erstellt Secure Source Manager CMEK-geschützte Instanzen, die durch einen CryptoKey aus einem zulässigen Projekt, Ordner oder einer Organisation geschützt sind.
Weitere Informationen zum Konfigurieren von Organisationsrichtlinien finden Sie unter CMEK-Organisationsrichtlinien.
Nächste Schritte
- Mit CMEK verschlüsselte Instanz bereitstellen
- Weitere Informationen zu CMEK
- Mehr über die Standardverschlüsselung von Google erfahren
- Weitere Informationen zu Cloud KMS Autokey