Criteri dell'organizzazione CMEK

Google Cloud offre due vincoli dei criteri dell'organizzazione per garantire l'utilizzo di CMEK in tutta l'organizzazione:

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

I criteri dell'organizzazione CMEK si applicano solo alle risorse appena create all'interno dei servizi Google Cloud supportati.

Ruoli obbligatori

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

Questo ruolo predefinito contiene le autorizzazioni necessarie per controllare i criteri dell'organizzazione durante la creazione delle risorse. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

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

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

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

Quando i criteri dell'organizzazione sono attivi, l'autorizzazione orgpolicy.policies.check è richiesta agli utenti della console Google Cloud che creano risorse protette da chiavi CMEK. Gli utenti senza questa autorizzazione possono creare risorse protette tramite CMEK utilizzando la console Google Cloud, ma possono selezionare una chiave CMEK non consentita dal vincolo restrictCmekCryptoKeyProjects. Quando viene selezionata una chiave che non soddisfa questo vincolo, la creazione della risorsa alla fine non va a buon fine.

Richiedi la protezione CMEK

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

Come vincolo dell'elenco, i valori accettati per questo vincolo sono i nomi dei servizi Google Cloud (ad esempio sqladmin.googleapis.com). Utilizza questo vincolo fornendo un elenco di nomi dei servizi Google Cloud e impostando il vincolo su Nega. Questa configurazione blocca la creazione di risorse in questi servizi se la risorsa non è protetta tramite CMEK. In altre parole, le richieste per creare una risorsa nel servizio non hanno esito positivo 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 dell'elenco, i valori accettati sono 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 di gerarchia delle risorse e impostando il vincolo su Allow. 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 per creare risorse protette da CMEK nei servizi configurati non hanno esito positivo 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 una CMEK
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Functions cloudfunctions.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Workstations workstations.googleapis.com
Compute Engine compute.googleapis.com
Dataflow dataflow.googleapis.com
Dataproc dataproc.googleapis.com
Document AI documentai.googleapis.com
Filestore file.googleapis.com
Google Kubernetes Engine (anteprima) container.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Spanner spanner.googleapis.com
Vertex AI aiplatform.googleapis.com
Istanze Vertex AI Workbench notebooks.googleapis.com

Eccezioni dell'applicazione per tipo di risorsa

I vincoli dei criteri dell'organizzazione CMEK vengono applicati durante la creazione di una nuova risorsa o quando si modifica (se supportata) la chiave Cloud KMS su una risorsa esistente. In genere, vengono applicate a tutti i tipi di risorse di un servizio che supportano CMEK e si basano esclusivamente sulla configurazione della risorsa. Alcune eccezioni degne di nota sono riassunte qui:

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

Esempi di configurazione

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

Diagramma di una gerarchia di risorse dell'organizzazione

Richiedi CMEK e limita chiavi per un progetto

Supponi di voler richiedere la protezione CMEK per tutte le risorse Cloud Storage in projects/5 e assicurati che possano essere utilizzate solo le chiavi provenienti da projects/4.

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

  • Criterio dell'organizzazione: constraints/gcp.restrictNonCmekServices
  • Associazione alle ore: projects/5
  • Tipo di criterio: Nega
  • Valore criterio: storage.googleapis.com

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

  • Criterio dell'organizzazione: constraints/gcp.restrictCmekCryptoKeyProjects
  • Associazione alle ore: projects/5
  • Tipo di criterio: Allow
  • Valore criterio: projects/4

Richiedi CMEK e limita le chiavi all'interno di una cartella

In alternativa, supponi di voler aggiungere altri progetti Cloud KMS in folders/2 in futuro e di voler richiedere CMEK in modo più ampio all'interno di folders/3. Per questo scenario, sono necessarie configurazioni leggermente diverse.

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

  • Criterio dell'organizzazione: constraints/gcp.restrictNonCmekServices
  • Associazione alle ore: folders/3
  • Tipo di criterio: Nega
  • Valori del criterio: sqladmin.googleapis.com, storage.googleapis.com

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

  • Criterio dell'organizzazione: constraints/gcp.restrictCmekCryptoKeyProjects
  • Associazione alle ore: folders/3
  • Tipo di criterio: Allow
  • Valore criterio: under:folders/2

Richiedere una CMEK per un'organizzazione

Per richiedere una CMEK in tutto l'organizzazione (nei servizi supportati), configura il vincolo constraints/gcp.restrictNonCmekServices con questa impostazione:

  • Criterio dell'organizzazione: constraints/gcp.restrictNonCmekServices
  • Associazione alle ore: organizations/1
  • Tipo di criterio: Nega
  • Valori del criterio: (tutti i servizi supportati)

Limitazioni

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

Passaggi successivi

Consulta Introduzione al servizio criteri dell'organizzazione per scoprire di più sui vantaggi e sui casi d'uso comuni per i criteri dell'organizzazione.

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