CMEK-Organisationsrichtlinien

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

  • constraints/gcp.restrictNonCmekServices wird verwendet, um CMEK-Schutz zu erzwingen.
  • constraints/gcp.restrictCmekCryptoKeyProjects wird verwendet, um einzuschränken, 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

Bitten Sie Ihren Administrator, jedem Nutzer in Ihrer Organisation die IAM-Rolle Organization Policy Viewer (roles/orgpolicy.policyViewer) zuzuweisen, damit jeder Nutzer die erforderlichen Berechtigungen hat, um beim Erstellen von Ressourcen Organisationsrichtlinien zu prüfen. 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. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen 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 der Organisationsrichtlinie auf: orgpolicy.policy.get
  • So prüfen Sie die Organisationsrichtlinie beim Erstellen von Ressourcen: orgpolicy.policies.check

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

Wenn Organisationsrichtlinien aktiv sind, ist die Berechtigung orgpolicy.policies.check für Nutzer der Google Cloud Console erforderlich, die Ressourcen erstellen, die durch CMEK-Schlüssel geschützt sind. Nutzer ohne diese Berechtigung können CMEK-geschützte Ressourcen mit der Google Cloud Console erstellen, aber sie können 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 schließlich fehl.

CMEK-Schutz verlangen

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

Als Listeneinschränkung sind die zulässigen Werte für diese Einschränkung Google Cloud-Dienstnamen (z. B. bigquery.googleapis.com). Verwenden Sie diese Einschränkung, indem Sie eine Liste von Google Cloud -Dienstnamen angeben und die Einschränkung auf Ablehnen setzen. Diese Konfiguration blockiert die Erstellung von Ressourcen in diesen Diensten, wenn die Ressource nicht durch CMEK geschützt ist. Anfragen zum Erstellen einer Ressource im Dienst sind also ohne Angabe eines Cloud KMS-Schlüssels nicht erfolgreich. Außerdem wird durch diese Einschränkung verhindert, dass der CMEK-Schutz von Ressourcen in diesen Diensten entfernt wird. 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 werden die Werte für die Ressourcenhierarchie akzeptiert (z. B. projects/PROJECT_ID, under:folders/FOLDER_ID und under:organizations/ORGANIZATION_ID). Verwenden Sie diese Einschränkung, indem Sie eine Liste von Ressourcenhierarchie-Indikatoren konfigurieren und die Einschränkung auf Zulassen setzen. Durch diese Konfiguration werden unterstützte Dienste so eingeschränkt, dass 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
Agent Assist dialogflow.googleapis.com
Agentensuche discoveryengine.googleapis.com
AlloyDB for PostgreSQL alloydb.googleapis.com
Apigee apigee.googleapis.com
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
Backup- und DR-Dienst backupdr.googleapis.com
Backup for GKE gkebackup.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Data Fusion datafusion.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 Tasks cloudtasks.googleapis.com
Cloud TPU tpu.googleapis.com
Cloud Workstations workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
Customer Experience Insights contactcenterinsights.googleapis.com
Data Studio datastudio.googleapis.com
Database Migration Service datamigration.googleapis.com
Dataflow dataflow.googleapis.com
Dataform dataform.googleapis.com
Datastream datastream.googleapis.com
Dialogflow CX dialogflow.googleapis.com
Document AI documentai.googleapis.com
Eventarc Advanced (Vorabversion) eventarc.googleapis.com
Eventarc Standard eventarc.googleapis.com
Filestore file.googleapis.com
Firestore firestore.googleapis.com
Gemini Enterprise discoveryengine.googleapis.com
Google Cloud Managed Lustre lustre.googleapis.com
Google Cloud Managed Service for Apache Kafka managedkafka.googleapis.com
Google Cloud NetApp Volumes netapp.googleapis.com
Google Cloud Observability (Vorabversion) observability.googleapis.com
Google Kubernetes Engine (Vorabversion) container.googleapis.com
Google Security Operations chronicleservicemanager.googleapis.com
Knowledge Catalog dataplex.googleapis.com
Looker (Google Cloud Core) looker.googleapis.com
Managed Service for Apache Airflow composer.googleapis.com
Managed Service for Apache Spark dataproc.googleapis.com
Memorystore for Redis redis.googleapis.com
Memorystore for Redis Cluster redis.googleapis.com
Memorystore for Valkey memorystore.googleapis.com
Parameter Manager parametermanager.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Secure Source Manager securesourcemanager.googleapis.com
Security Command Center securitycenter.googleapis.com
Spanner spanner.googleapis.com
Speech-to-Text speech.googleapis.com
Vektorsuche aiplatform.googleapis.com
Vertex AI aiplatform.googleapis.com
Vertex AI Workbench-Instanzen notebooks.googleapis.com

CMEK-Organisationsrichtlinien und Storage Transfer Service

Der Storage Transfer Service bietet keine CMEK-Integration, kann aber mit CMEK-Organisationsrichtlinien verwendet werden. Wenn Sie Storage Transfer Service verwenden und CMEK zum Schutz der in Secret Manager gespeicherten Datenbankanmeldedaten verwenden möchten, müssen Sie sowohl storagetransfer.googleapis.com als auch secretmanager.googleapis.com zur Einschränkung constraints/gcp.restrictNonCmekServices hinzufügen. Weitere Informationen finden Sie in der CMEK-Dokumentation für den Storage Transfer Service.

Ausnahmen von der Erzwingung nach Ressourcentyp

Einschränkungen für CMEK-Organisationsrichtlinien werden erzwungen, wenn eine neue Ressource erstellt oder der Cloud KMS-Schlüssel für eine vorhandene Ressource geändert wird (sofern unterstützt). Im Allgemeinen werden sie 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 von der Durchsetzung
bigquery.googleapis.com/Dataset Teilweise erzwungen für den standardmäßigen Cloud KMS-Schlüssel des Datasets (nur gcp.restrictCmekCryptoKeyProjects)
bigquery.googleapis.com/Job Nur Abfragejobs: Wird für den mit der Abfrage bereitgestellten Cloud KMS-Schlüssel oder den Standardschlüssel aus dem Abrechnungsprojekt erzwungen. Siehe auch separate Konfiguration des standardmäßigen Cloud KMS-Schlüssels für das Projekt.
bigquerydatatransfer.googleapis.com/TransferConfig Übertragungskonfigurationen verwenden den Dienstnamen des Data Transfer Service (bigquerydatatransfer.googleapis.com) für CMEK-Organisationsrichtlinien-Einschränkungen.
container.googleapis.com/Cluster (Vorschau) Wird nur für den Cloud KMS-Schlüssel für das Bootlaufwerk des Knotens erzwungen, nicht für Secrets auf der Anwendungsebene
logging.googleapis.com/LogBucket Erzwungen für explizit erstellte Log-Buckets; siehe auch separate Konfiguration, die erforderlich ist, um die Compliance von integrierten Log-Buckets sicherzustellen
storage.googleapis.com/Bucket Erzwungen für den Cloud KMS-Standardschlüssel des Buckets
storage.googleapis.com/Object Wird unabhängig vom Bucket erzwungen; siehe auch separate Konfiguration des Cloud KMS-Standardschlüssels für den Bucket

Konfigurationsbeispiele

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

Diagramm einer Organisationsressourcenhierarchie

CMEK erzwingen und Schlüssel für ein Projekt einschränken

Angenommen, Sie möchten den CMEK-Schutz für alle Cloud Storage-Ressourcen unter projects/5 erzwingen und sicherstellen, dass nur Schlüssel aus 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:

  • Organisationsrichtlinie: constraints/gcp.restrictNonCmekServices
  • Bindung um: projects/5
  • Richtlinientyp: Ablehnen
  • Wert der Richtlinie: storage.googleapis.com

Verwenden Sie die folgende Konfiguration, damit nur Schlüssel von projects/4 verwendet werden:

  • Organisationsrichtlinie: constraints/gcp.restrictCmekCryptoKeyProjects
  • Bindung bei: projects/5
  • Richtlinientyp: Zulassen
  • Wert der Richtlinie: projects/4

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

Alternativ können Sie davon ausgehen, dass Sie in Zukunft weitere Cloud KMS-Projekte unter folders/2 hinzufügen möchten und CMEK in folders/3 umfassender erforderlich machen möchten. Für dieses Szenario benötigen Sie etwas andere Konfigurationen.

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

  • Organisationsrichtlinie: constraints/gcp.restrictNonCmekServices
  • Bindung um: 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:

  • Organisationsrichtlinie: constraints/gcp.restrictCmekCryptoKeyProjects
  • Bindung bei: folders/3
  • Richtlinientyp: Zulassen
  • Wert der Richtlinie: under:folders/2

CMEK für eine Organisation erforderlich machen

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

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

Beschränkungen

Wenn Sie die Google Cloud Console zum Erstellen einer Ressource verwenden, können Sie möglicherweise keine anderen Verschlüsselungsoptionen als CMEK verwenden, wennconstraints/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.