Policy dell'organizzazione CMEK

Google Cloud offre due vincoli di policy dell'organizzazione per garantire l'utilizzo di CMEK in un'organizzazione:

  • constraints/gcp.restrictNonCmekServices viene utilizzato per richiedere la protezione CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects viene utilizzato per limitare le chiavi Cloud KMS utilizzate per la protezione CMEK.

Le policy dell'organizzazione CMEK si applicano solo alle risorse create di recente all'interno di servizi supportati. Google Cloud

Ruoli obbligatori

Per assicurarti che ogni utente disponga delle autorizzazioni necessarie per controllare le policy dell'organizzazione durante la creazione delle risorse, chiedi all'amministratore di concedere a ogni utente il ruolo IAM Visualizzatore policy dell'organizzazione (roles/orgpolicy.policyViewer) nella tua organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per controllare le policy dell'organizzazione durante la creazione delle risorse. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per controllare le policy dell'organizzazione durante la creazione delle risorse sono necessarie le seguenti autorizzazioni:

  • Per visualizzare i dettagli completi della policy dell'organizzazione: orgpolicy.policy.get
  • Per controllare la policy dell'organizzazione durante la creazione delle risorse: orgpolicy.policies.check

L'amministratore potrebbe anche essere in grado di concedere a ogni utente queste autorizzazioni tramite ruoli personalizzati o altri ruoli predefiniti.

Quando le policy dell'organizzazione sono attive, l'autorizzazione orgpolicy.policies.check è obbligatoria per gli utenti della console che creano risorse protette dalle chiavi CMEK. Google Cloud Gli utenti senza questa autorizzazione possono creare risorse protette da CMEK utilizzando la Google Cloud console, ma possono selezionare una chiave CMEK non consentita dal restrictCmekCryptoKeyProjects vincolo. Quando viene selezionata una chiave che non soddisfa questo vincolo, la creazione della risorsa alla fine non riesce.

Richiedere la protezione CMEK

Per richiedere la protezione CMEK per la tua organizzazione, configura la constraints/gcp.restrictNonCmekServices policy dell'organizzazione.

Come vincolo di elenco, i valori accettati per questo vincolo sono Google Cloud i nomi dei servizi (ad esempio bigquery.googleapis.com). Utilizza questo vincolo fornendo un elenco di Google Cloud nomi di servizi e impostando il vincolo su Nega. Questa configurazione blocca la creazione di risorse in questi servizi se la risorsa non è protetta da CMEK. In altre parole, le richieste di creazione di una risorsa nel servizio non vanno a buon fine senza specificare una chiave Cloud KMS. Inoltre, questo vincolo blocca la rimozione della protezione CMEK dalle risorse in questi servizi. Questo vincolo può essere applicato solo ai servizi supportati.

Limitare l'utilizzo delle chiavi Cloud KMS per CMEK

Per limitare le chiavi Cloud KMS utilizzate per la protezione CMEK, configura il vincolo constraints/gcp.restrictCmekCryptoKeyProjects.

Come vincolo di elenco, i valori accettati sono gli indicatori della gerarchia delle risorse (ad esempio projects/PROJECT_ID, under:folders/FOLDER_ID, e under:organizations/ORGANIZATION_ID). Utilizza questo vincolo configurando un elenco di indicatori della gerarchia delle risorse e impostando il vincolo su Consenti. Questa configurazione limita i servizi supportati in modo che le chiavi CMEK possano essere scelte solo dai progetti, dalle cartelle e dalle organizzazioni elencati. Le richieste di creazione di risorse protette da CMEK nei servizi configurati non vanno a buon fine senza una chiave Cloud KMS da una delle risorse consentite. Se configurato, questo vincolo si applica a tutti i servizi supportati.

Servizi supportati

Servizio Valore del vincolo quando è richiesta CMEK
Agent Assist dialogflow.googleapis.com
AlloyDB per PostgreSQL alloydb.googleapis.com
Apigee apigee.googleapis.com
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
Backup per GKE gkebackup.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Data Fusion datafusion.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Cloud Run Functions cloudfunctions.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Tasks cloudtasks.googleapis.com
Cloud Workstations workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
Insight conversazionali contactcenterinsights.googleapis.com
Dataflow dataflow.googleapis.com
Dataform dataform.googleapis.com
Dataplex Universal Catalog dataplex.googleapis.com
Dataproc dataproc.googleapis.com
Dialogflow CX dialogflow.googleapis.com
Document AI documentai.googleapis.com
Eventarc Advanced (anteprima) eventarc.googleapis.com
Eventarc Standard eventarc.googleapis.com
Filestore file.googleapis.com
Firestore firestore.googleapis.com
Gemini Enterprise Enterprise discoveryengine.googleapis.com
Google Cloud NetApp Volumes netapp.googleapis.com
Google Kubernetes Engine (anteprima) container.googleapis.com
Looker (Google Cloud core) looker.googleapis.com
Memorystore for Redis redis.googleapis.com
Memorystore for Redis Cluster redis.googleapis.com
Memorystore for Valkey memorystore.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
Vertex AI aiplatform.googleapis.com
Vertex AI Search discoveryengine.googleapis.com
Istanze Vertex AI Workbench notebooks.googleapis.com

Policy dell'organizzazione CMEK e Storage Transfer Service

Storage Transfer Service non ha un'integrazione CMEK, ma può essere utilizzato con le policy dell'organizzazione CMEK. Se utilizzi Storage Transfer Service e vuoi utilizzare CMEK per proteggere le credenziali del database archiviate in Secret Manager, devi aggiungere sia storagetransfer.googleapis.com sia secretmanager.googleapis.com al constraints/gcp.restrictNonCmekServices vincolo. Per ulteriori informazioni, consulta la documentazione di Storage Transfer Service CMEK.

Eccezioni di applicazione per tipo di risorsa

I vincoli delle policy dell'organizzazione CMEK vengono applicati quando crei una nuova risorsa o quando modifichi (se supportato) la chiave Cloud KMS su una risorsa esistente. In genere, vengono applicati a tutti i tipi di risorse di un servizio che supportano CMEK e si basano esclusivamente sulla configurazione della risorsa. Di seguito sono riassunte alcune eccezioni importanti:

Tipo di risorsa Eccezione di applicazione
bigquery.googleapis.com/Dataset Applicazione parziale sulla chiave Cloud KMS predefinita del set di dati (gcp.restrictCmekCryptoKeyProjects only)
bigquery.googleapis.com/Job Solo job di query: applicazione sulla chiave Cloud KMS fornita con la query o predefinita dal progetto di fatturazione; vedi anche la configurazione separata configurazione del progetto chiave Cloud KMS predefinita
bigquerydatatransfer.googleapis.com/TransferConfig Le configurazioni di trasferimento utilizzano il nome del servizio Data Transfer Service (bigquerydatatransfer.googleapis.com) per i vincoli delle policy dell'organizzazione CMEK.
container.googleapis.com/Cluster (Anteprima) Applicazione sulla chiave Cloud KMS solo per il disco di avvio del nodo; non applicata ai secret a livello di applicazione
logging.googleapis.com/LogBucket Applicazione sui bucket di log creati in modo esplicito; vedi anche la configurazione separata richiesta per garantire la conformità dei bucket di log integrati
storage.googleapis.com/Bucket Applicazione sulla chiave Cloud KMS predefinita del bucket
storage.googleapis.com/Object Applicazione indipendentemente dal bucket; vedi anche la configurazione separata della chiave Cloud KMS predefinita del bucket

Esempi di configurazione

Negli esempi di configurazione, supponiamo che l'organizzazione di esempio abbia la seguente gerarchia delle risorse:

Un diagramma di una gerarchia delle risorse dell'organizzazione

Richiedere CMEK e limitare le chiavi per un progetto

Supponiamo che tu voglia richiedere la protezione CMEK per tutte le risorse Cloud Storage in projects/5 e assicurarti che possano essere utilizzate solo le chiavi provenienti da projects/4 possano essere utilizzate.

Per richiedere la protezione CMEK per tutte le nuove risorse Cloud Storage, utilizza la seguente impostazione della policy dell'organizzazione:

  • Policy dell'organizzazione: constraints/gcp.restrictNonCmekServices
  • Associazione a: projects/5
  • Tipo di policy: Nega
  • Valore della policy: storage.googleapis.com

Per assicurarti che vengano utilizzate solo le chiavi di projects/4, utilizza la seguente configurazione:

  • Policy dell'organizzazione: constraints/gcp.restrictCmekCryptoKeyProjects
  • Associazione a: projects/5
  • Tipo di policy: Consenti
  • Valore della policy: projects/4

Richiedere CMEK e limitare le chiavi all'interno di una cartella

In alternativa, supponiamo che tu preveda di aggiungere altri progetti Cloud KMS in folders/2 in futuro e che tu voglia richiedere CMEK in modo più ampio in folders/3. Per questo scenario, sono necessarie configurazioni leggermente diverse.

Per richiedere una protezione CMEK aggiuntiva per le nuove risorse Cloud SQL e Cloud Storage ovunque in folders/3:

  • Policy dell'organizzazione: constraints/gcp.restrictNonCmekServices
  • Associazione a: folders/3
  • Tipo di policy: Nega
  • Valori della policy: sqladmin.googleapis.com, storage.googleapis.com

Per assicurarti che vengano utilizzate solo le chiavi dei progetti Cloud KMS in folders/2 siano utilizzate:

  • Policy dell'organizzazione: constraints/gcp.restrictCmekCryptoKeyProjects
  • Associazione a: folders/3
  • Tipo di policy: Consenti
  • Valore della policy: under:folders/2

Richiedere CMEK per un'organizzazione

Per richiedere CMEK ovunque nell'organizzazione (nei servizi supportati), configura il vincolo constraints/gcp.restrictNonCmekServices con la seguente impostazione:

  • Policy dell'organizzazione: constraints/gcp.restrictNonCmekServices
  • Associazione a: organizations/1
  • Tipo di policy: Nega
  • Valori della policy: (tutti i servizi supportati)

Limitazioni

Se utilizzi Google Cloud console per creare una risorsa, potresti notare che non puoi utilizzare altre opzioni di crittografia oltre a CMEK quando constraints/gcp.restrictNonCmekServices è configurato per un progetto e servizio. La limitazione della policy dell'organizzazione CMEK è visibile solo quando all' account cliente è stata concessa l'autorizzazione IAM orgpolicy.policy.get per il progetto.

Passaggi successivi

Per saperne di più sui vantaggi e sui casi d'uso comuni delle policy dell'organizzazione, consulta Introduzione al servizio Policy dell'organizzazione.

Per altri esempi sulla creazione di una policy dell'organizzazione con vincoli specifici, consulta Utilizzare i vincoli.