CMEK-Organisationsrichtlinien

Google Cloud bietet zwei Einschränkungen für Organisationsrichtlinien, die die CMEK-Nutzung in einer Organisation gewährleisten:

  • Mit constraints/gcp.restrictNonCmekServices wird ein CMEK-Schutz erzwungen.
  • Mit constraints/gcp.restrictCmekCryptoKeyProjects wird eingeschränkt, welche Cloud KMS-Schlüssel für den CMEK-Schutz verwendet werden.

CMEK-Organisationsrichtlinien gelten nur für neu erstellte Ressourcen in unterstützten Google Cloud-Diensten.

Erforderliche Rollen

Damit jeder Nutzer die erforderlichen Berechtigungen hat, um beim Erstellen von Ressourcen Organisationsrichtlinien zu prüfen, bitten Sie Ihren Administrator, jedem Nutzer die IAM-Rolle Organization Policy Viewer (roles/orgpolicy.policyViewer) für Ihre Organisation zu gewähren. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Prüfen von Organisationsrichtlinien beim Erstellen von Ressourcen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Organisationsrichtlinien beim Erstellen von Ressourcen zu prüfen:

  • So rufen Sie die vollständigen Details zur Organisationsrichtlinie auf: orgpolicy.policy.get
  • So prüfen Sie die Organisationsrichtlinie beim Erstellen von Ressourcen: orgpolicy.policies.check

Ihr Administrator kann jedem Nutzer möglicherweise auch diese Berechtigungen mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erteilen.

Wenn Organisationsrichtlinien aktiv sind, ist die Berechtigung orgpolicy.policies.check für Google Cloud Console-Nutzer erforderlich, die Ressourcen erstellen, die durch CMEK-Schlüssel geschützt sind. Nutzer ohne diese Berechtigung können über die Google Cloud Console CMEK-geschützte Ressourcen erstellen, aber einen CMEK-Schlüssel auswählen, der durch die Einschränkung restrictCmekCryptoKeyProjects nicht zulässig ist. Wenn ein Schlüssel, der diese Einschränkung nicht erfüllt, schlägt die Ressourcenerstellung fehl.

CMEK-Schutz erzwingen

Wenn Sie den CMEK-Schutz für Ihre Organisation erzwingen möchten, konfigurieren Sie die Organisationsrichtlinie constraints/gcp.restrictNonCmekServices.

Da es sich um eine Listeneinschränkung handelt, sind die zulässigen Werte für diese Einschränkung Google Cloud-Dienstnamen (z. B. sqladmin.googleapis.com). Verwenden Sie diese Einschränkung, indem Sie eine Liste mit Google Cloud-Dienstnamen angeben und die Einschränkung auf Deny (Ablehnen) setzen. Diese Konfiguration blockiert das Erstellen von Ressourcen in diesen wenn die Ressource nicht durch einen CMEK geschützt ist. Anfragen zum Erstellen einer Ressource im Dienst schlagen also fehl, wenn kein Cloud KMS-Schlüssel angegeben wird. Außerdem blockiert diese Einschränkung der Entfernung des CMEK-Schutzes von Ressourcen in diesen Diensten. Diese Einschränkung kann nur auf unterstützte Dienste angewendet werden.

Verwendung von Cloud KMS-Schlüsseln für CMEK einschränken

Wenn Sie einschränken möchten, welche Cloud KMS-Schlüssel für den CMEK-Schutz verwendet werden, konfigurieren Sie die Einschränkung constraints/gcp.restrictCmekCryptoKeyProjects.

Als Listeneinschränkung sind Indikatoren für die Ressourcenhierarchie zulässig (z. B. projects/PROJECT_ID, under:folders/FOLDER_ID und under:organizations/ORGANIZATION_ID). Verwenden Sie diese Einschränkung, indem Sie eine Liste mit Indikatoren für die Ressourcenhierarchie konfigurieren und die Einschränkung auf Zulassen festlegen. Durch diese Konfiguration werden die unterstützten Dienste eingeschränkt, sodass CMEK-Schlüssel nur aus den aufgeführten Projekten, Ordnern und Organisationen ausgewählt werden können. Anfragen zum Erstellen von CMEK-geschützten Ressourcen in konfigurierten Diensten sind ohne einen Cloud KMS-Schlüssel aus einer der zulässigen Ressourcen nicht erfolgreich. Wenn diese Einschränkung konfiguriert ist, gilt sie für alle unterstützten Dienste.

Unterstützte Dienste

Dienst Einschränkungswert, wenn CMEK erforderlich ist
AlloyDB for PostgreSQL alloydb.googleapis.com
Apigee apigee.googleapis.com
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Cloud Run-Funktionen cloudfunctions.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Workstations workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
Dataflow dataflow.googleapis.com
Dataproc dataproc.googleapis.com
Document AI documentai.googleapis.com
Filestore file.googleapis.com
Firestore firestore.googleapis.com
Google Kubernetes Engine (Vorabversion) container.googleapis.com
Memorystore for Redis redis.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Secure Source Manager securesourcemanager.googleapis.com
Spanner spanner.googleapis.com
Speech-to-Text speech.googleapis.com
Vertex AI aiplatform.googleapis.com
Vertex AI Agent Builder discoveryengine.googleapis.com
Vertex AI Workbench-Instanzen notebooks.googleapis.com

CMEK-Organisationsrichtlinien und der Storage Transfer Service

Der Storage Transfer Service hat zwar keine CMEK-Integration, kann aber mit CMEK-Organisationsrichtlinien verwendet werden. Wenn Sie Storage Transfer Service verwenden und dass die in Secret Manager gespeicherten Anmeldedaten für die Datenbank durch einen CMEK geschützt sind, müssen Sie sowohl storagetransfer.googleapis.com als auch secretmanager.googleapis.com in constraints/gcp.restrictNonCmekServices Einschränkung. Weitere Informationen finden Sie unter Storage Transfer Service-CMEK. Dokumentation.

Ausnahmen bei der Erzwingung nach Ressourcentyp

Einschränkungen für CMEK-Organisationsrichtlinien werden beim Erstellen einer neuen Ressource oder beim Ändern des Cloud KMS-Schlüssels einer vorhandenen Ressource (sofern unterstützt) erzwungen. Im Allgemeinen werden sie für alle Ressourcentypen eines Dienstes erzwungen, unterstützen CMEK und basieren ausschließlich auf der Konfiguration der Ressource. Einige bemerkenswerte Ausnahmen hier zusammengefasst:

Ressourcentyp Ausnahme bei der Durchsetzung
bigquery.googleapis.com/Dataset Teilweise Erzwingung für den standardmäßigen Cloud KMS-Schlüssel des Datensatzes (nur gcp.restrictCmekCryptoKeyProjects)
bigquery.googleapis.com/Job Nur Abfragejobs: erzwungen für den mit der Abfrage angegebenen Cloud KMS-Schlüssel oder Standard aus dem Abrechnungsprojekt; siehe auch separate Projektkonfiguration Cloud KMS-Standardschlüssel
bigquerydatatransfer.googleapis.com/TransferConfig Übertragungskonfigurationen verwenden den Dienstnamen des Data Transfer Service (bigquerydatatransfer.googleapis.com) für Einschränkungen von CMEK-Organisationsrichtlinien.
container.googleapis.com/Cluster (Vorabversion) Wird nur auf den Cloud KMS-Schlüssel für den Boot-Datenträger des Knotens angewendet, nicht auf Secrets auf Anwendungsebene.
logging.googleapis.com/LogBucket Wird für explizit erstellte Log-Buckets erzwungen. siehe auch separate Konfiguration erforderlich, um die Compliance von integrierten Log-Buckets sicherzustellen
storage.googleapis.com/Bucket Für den Cloud KMS-Standardschlüssel eines Buckets erzwungen
storage.googleapis.com/Object Wird unabhängig vom Bucket erzwungen. Siehe auch separate Konfiguration des Cloud KMS-Standardschlüssels für Buckets

Konfigurationsbeispiele

In den Konfigurationsbeispielen wird davon ausgegangen, dass die Beispielorganisation Folgendes hat: Ressourcenhierarchie:

Ein Diagramm einer Ressourcenhierarchie einer Organisation

CMEK für ein Projekt verlangen und Schlüssel begrenzen

Angenommen, Sie möchten einen CMEK-Schutz für alle Cloud Storage-Ressourcen anfordern unter projects/5 und achten Sie darauf, dass nur Schlüssel aus projects/4 verwendet.

Wenn Sie einen CMEK-Schutz für alle neuen Cloud Storage-Ressourcen anfordern möchten, verwenden Sie den folgende Einstellung für Organisationsrichtlinien:

  • Unternehmensrichtlinie: constraints/gcp.restrictNonCmekServices
  • Bindung unter: projects/5
  • Richtlinientyp: Ablehnen
  • Richtlinienwert: storage.googleapis.com

Wenn nur Schlüssel von projects/4 verwendet werden sollen, verwende die folgende Konfiguration:

  • Unternehmensrichtlinie: constraints/gcp.restrictCmekCryptoKeyProjects
  • Bindung unter: projects/5
  • Richtlinientyp: Zulassen
  • Richtlinienwert: projects/4

CMEK verlangen und Schlüssel auf einen Ordner beschränken

Angenommen, Sie erwarten, Projekte unter folders/2 in Zukunft und die CMEK breiter erfordern möchten innerhalb von folders/3. Für dieses Szenario sind etwas andere Konfigurationen erforderlich.

So erzwingen Sie zusätzlichen CMEK-Schutz für neue Cloud SQL- und Cloud Storage-Ressourcen unter folders/3:

  • Organisationsrichtlinie: constraints/gcp.restrictNonCmekServices
  • Bindung um: folders/3
  • Richtlinientyp: Ablehnen
  • Richtlinienwerte: sqladmin.googleapis.com, storage.googleapis.com

Um sicherzustellen, dass nur Schlüssel aus Cloud KMS-Projekten unter folders/2 sind verwendet:

  • Unternehmensrichtlinie: constraints/gcp.restrictCmekCryptoKeyProjects
  • Bindung unter: folders/3
  • Richtlinientyp: Zulassen
  • Richtlinienwert: under:folders/2

CMEK für eine Organisation erzwingen

Wenn Sie CMEK überall in der Organisation verlangen möchten (in unterstützten Diensten), konfigurieren Sie die Einschränkung constraints/gcp.restrictNonCmekServices mit der folgende Einstellung:

  • Organisationsrichtlinie: constraints/gcp.restrictNonCmekServices
  • Bindung um: organizations/1
  • Richtlinientyp: Ablehnen
  • Richtlinienwerte: (alle unterstützten Dienste)

Beschränkungen

Wenn Sie eine Ressource mit der Google Cloud Console erstellen, können Sie möglicherweise keine anderen Verschlüsselungsoptionen als CMEK verwenden, wenn constraints/gcp.restrictNonCmekServices für ein Projekt und einen Dienst konfiguriert ist. Die Einschränkung der CMEK-Organisationsrichtlinie ist nur sichtbar, wenn die Kundenkonto hat IAM orgpolicy.policy.get gewährt Berechtigung für das Projekt.

Nächste Schritte

Weitere Informationen zu den Vorteilen und gängigen Anwendungsfällen von Organisationsrichtlinien finden Sie unter Einführung in den Organisationsrichtliniendienst.

Weitere Beispiele zum Erstellen einer Organisationsrichtlinie mit bestimmten finden Sie unter Verwendung von Einschränkungen.