Google Cloud offre due vincoli delle policy dell'organizzazione per garantire l'utilizzo delle CMEK in un'organizzazione:
constraints/gcp.restrictNonCmekServicesviene utilizzato per richiedere la protezione CMEK.constraints/gcp.restrictCmekCryptoKeyProjectsviene 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 dei servizi Google Cloud supportati.
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 il ruolo IAM Visualizzatore policy dell'organizzazione (roles/orgpolicy.policyViewer) a ogni utente della 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 è richiesta per gli utenti della console Google Cloud che creano risorse protette da chiavi CMEK. Gli utenti senza questa autorizzazione possono creare risorse protette da CMEK utilizzando la console Google Cloud , ma possono selezionare una chiave CMEK non consentita dal vincolo restrictCmekCryptoKeyProjects. Se viene selezionata una chiave che non soddisfa questo vincolo, la creazione della risorsa non va a buon fine.
Richiedi protezione CMEK
Per richiedere la protezione CMEK per la tua organizzazione, configura la policy dell'organizzazione constraints/gcp.restrictNonCmekServices.
In quanto vincolo di elenco, i valori accettati per questo vincolo sono i nomi dei servizi Google Cloud(ad esempio, bigquery.googleapis.com). Utilizza questo vincolo fornendo un elenco di nomi di servizi Google Cloud e impostando il vincolo suNega. 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 se non viene specificata una chiave Cloud KMS. Inoltre, questo vincolo blocca la rimozione della protezione CMEK dalle risorse di questi servizi. Questo vincolo può essere applicato solo ai servizi supportati.
Limita 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 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 di una delle risorse consentite. Se configurato, questo vincolo si applica a tutti i servizi supportati.
Servizi supportati
| Servizio | Valore del vincolo quando è richiesto CMEK |
|---|---|
| Agent Assist | dialogflow.googleapis.com |
| Agent Search | discoveryengine.googleapis.com |
| AlloyDB per PostgreSQL | alloydb.googleapis.com |
| Apigee | apigee.googleapis.com |
| Application Integration | integrations.googleapis.com |
| Artifact Registry | artifactregistry.googleapis.com |
| Servizio di Backup e DR | backupdr.googleapis.com |
| Backup per 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 Functions | 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 |
| Insight sulla customer experience | 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 (Anteprima) | 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 per Apache Kafka | managedkafka.googleapis.com |
| Google Cloud NetApp Volumes | netapp.googleapis.com |
| Google Cloud Observability (Anteprima) | observability.googleapis.com |
| Google Kubernetes Engine (Anteprima) | 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 |
| Vector Search | aiplatform.googleapis.com |
| Vertex AI | aiplatform.googleapis.com |
| Istanze Vertex AI Workbench | notebooks.googleapis.com |
Policy dell'organizzazione CMEK e Storage Transfer Service
Storage Transfer Service non dispone di 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 vincolo constraints/gcp.restrictNonCmekServices. Per ulteriori informazioni, consulta la documentazione sulle CMEK di Storage Transfer Service.
Eccezioni di applicazione per tipo di risorsa
I vincoli delle policy dell'organizzazione CMEK vengono applicati quando si crea una nuova risorsa o quando si modifica (ove 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. Alcune eccezioni degne di nota sono riassunte di seguito:
| Tipo di risorsa | Eccezione all'applicazione |
|---|---|
bigquery.googleapis.com/Dataset |
Applicazione parziale sulla chiave Cloud KMS predefinita del set di dati (solo gcp.restrictCmekCryptoKeyProjects)
|
bigquery.googleapis.com/Job |
Solo job di query: applicata alla chiave Cloud KMS fornita con la query o predefinita dal progetto di fatturazione; consulta anche la configurazione separata 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 delle policy dell'organizzazione CMEK. |
container.googleapis.com/Cluster |
(Anteprima) Applicato solo alla chiave Cloud KMS per il disco di avvio del nodo; non applicato ai secret a livello di applicazione |
logging.googleapis.com/LogBucket |
Applicato ai 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; consulta 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:

Richiedi CMEK e limita 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.
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:
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:
projects/5 - Tipo di policy: Consenti
- Valore della policy:
projects/4
Richiedi CMEK e limita 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 voglia richiedere CMEK in modo più ampio all'interno di 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 in qualsiasi punto di folders/3:
- Policy dell'organizzazione:
constraints/gcp.restrictNonCmekServices - Associazione:
folders/3 - Tipo di policy: Nega
- Valori delle policy:
sqladmin.googleapis.com,storage.googleapis.com
Per assicurarti che vengano utilizzate solo le chiavi dei progetti Cloud KMS in folders/2:
- Policy dell'organizzazione:
constraints/gcp.restrictCmekCryptoKeyProjects - Associazione:
folders/3 - Tipo di policy: Consenti
- Valore della policy:
under:folders/2
Richiedi 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:
organizations/1 - Tipo di policy: Nega
- Valori della policy: (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 quandoconstraints/gcp.restrictNonCmekServicesè configurato per un progetto e un servizio. La limitazione della policy dell'organizzazione CMEK è visibile solo quando all'account cliente è stata concessa l'autorizzazione IAM orgpolicy.policy.get sul 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 particolari, consulta Utilizzo dei vincoli.