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 beim Erstellen von Ressourcen Organisationsrichtlinien zu prüfen:

  • So rufen Sie die vollständigen Details zu den Richtlinien für die Organisation auf: orgpolicy.policy.get
  • So prüfen Sie die Organisationsrichtlinie beim Erstellen von Ressourcen: orgpolicy.policies.check

Ihr Administrator kann jedem Nutzer möglicherweise diese Berechtigungen auch 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 ausgewählt wird, 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. Mit dieser Konfiguration wird das Erstellen von Ressourcen in diesen Diensten blockiert, wenn die Ressource nicht durch CMEK geschützt ist. Anfragen zum Erstellen einer Ressource im Dienst schlagen also fehl, wenn kein Cloud KMS-Schlüssel angegeben wird. Außerdem verhindert diese Einschränkung das Entfernen 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 den Storage Transfer Service verwenden und dafür sorgen möchten, dass die in Secret Manager gespeicherten Datenbankanmeldedaten durch CMEK geschützt sind, müssen Sie der constraints/gcp.restrictNonCmekServices-Einschränkung sowohl storagetransfer.googleapis.com als auch secretmanager.googleapis.com hinzufügen. Weitere Informationen finden Sie in der Dokumentation zum CMEK für den Storage Transfer Service.

Ausnahmen bei der Durchsetzung 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. Sie werden in der Regel für alle Ressourcentypen eines Dienstes erzwungen, die CMEK unterstützen, und basieren ausschließlich auf der Konfiguration der Ressource. Einige wichtige Ausnahmen sind 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: Wird für den Cloud KMS-Schlüssel erzwungen, der mit der Abfrage bereitgestellt oder standardmäßig aus dem Abrechnungsprojekt übernommen wird. Weitere Informationen finden Sie unter Cloud KMS-Standardschlüssel für das Projekt konfigurieren.
bigquerydatatransfer.googleapis.com/TransferConfig Für CMEK-Einschränkungen für Organisationsrichtlinien wird in Übertragungskonfigurationen der Dienstname des Data Transfer Service (bigquerydatatransfer.googleapis.com) verwendet.
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. Weitere Informationen finden Sie unter Separate Konfiguration erforderlich, um die Compliance für integrierte Log-Buckets zu gewährleisten.
storage.googleapis.com/Bucket Erforderlich für den Cloud KMS-Standardschlüssel des Buckets
storage.googleapis.com/Object Unabhängig vom Bucket erzwungen; siehe auch separate Konfiguration des Cloud KMS-Standardschlüssels für den Bucket

Konfigurationsbeispiele

Angenommen, die Beispielorganisation hat in den Konfigurationsbeispielen die folgende Ressourcenhierarchie:

Ein Diagramm der Ressourcenhierarchie einer Organisation

CMEK-Schlüssel für ein Projekt erzwingen und Schlüssel begrenzen

Angenommen, Sie möchten den CMEK-Schutz für alle Cloud Storage-Ressourcen unter projects/5 erzwingen und dafür sorgen, dass nur Schlüssel von projects/4 verwendet werden können.

Wenn Sie den CMEK-Schutz für alle neuen Cloud Storage-Ressourcen erzwingen möchten, verwenden Sie die folgende Einstellung für die Organisationsrichtlinie:

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

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

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

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

Angenommen, Sie gehen davon aus, dass Sie in Zukunft weitere Cloud KMS-Projekte unter folders/2 hinzufügen und CMEK in folders/3 allgemeiner anwenden möchten. 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:

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

So sorgen Sie dafür, dass nur Schlüssel aus Cloud KMS-Projekten unter folders/2 verwendet werden:

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

CMEK für eine Organisation erzwingen

Wenn CMEK überall in der Organisation (in unterstützten Diensten) erforderlich sein soll, konfigurieren Sie die constraints/gcp.restrictNonCmekServices-Einschränkung mit der folgenden Einstellung:

  • Unternehmensrichtlinie: constraints/gcp.restrictNonCmekServices
  • Bindung unter: 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 dem Kundenkonto die IAM-Berechtigung orgpolicy.policy.get für das Projekt gewährt wurde.

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 Einschränkungen finden Sie unter Einschränkungen verwenden.