Google Cloud offre due vincoli dei criteri dell'organizzazione per contribuire a 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 Google Cloud servizi supportati.
Ruoli obbligatori
Per assicurarti che ogni utente disponga delle autorizzazioni necessarie per controllare le norme dell'organizzazione durante la creazione delle risorse, chiedi all'amministratore di concedere a ogni utente il ruolo IAM Visualizzatore norme dell'organizzazione (roles/orgpolicy.policyViewer
) nella tua organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per controllare i criteri dell'organizzazione durante la creazione delle risorse. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per controllare le norme dell'organizzazione durante la creazione delle risorse sono necessarie le seguenti autorizzazioni:
-
Per visualizzare i dettagli completi dei criteri dell'organizzazione:
orgpolicy.policy.get
-
Per controllare i criteri dell'organizzazione durante la creazione delle risorse:
orgpolicy.policies.check
L'amministratore potrebbe anche assegnare a ogni utente queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Quando i criteri dell'organizzazione sono attivi, l'autorizzazione orgpolicy.policies.check
è obbligatoria per gli utenti della console Google Cloud che creano risorse protette dalle 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 andrà a buon fine.
Richiedere la protezione CMEK
Per richiedere la protezione CMEK per la tua organizzazione, configura il
constraints/gcp.restrictNonCmekServices
criterio dell'organizzazione.
Come vincolo di elenco, i valori accettati per questo vincolo sono i nomi dei Google Cloud
servizi (ad esempio bigquery.googleapis.com
). Utilizza questo vincolo fornendo un elenco di Google Cloud nomi di servizi e impostando il vincolo su
Rifiuta. 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 dell'elenco, i valori accettati sono indicatori della gerarchia delle risorse (ad esempio projects/PROJECT_ID
,under:folders/FOLDER_ID
eunder: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 |
---|---|
AlloyDB per 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 Data Fusion | datafusion.googleapis.com |
Cloud Logging | logging.googleapis.com |
Cloud Run | run.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 |
Dataflow | dataflow.googleapis.com |
Dataproc | dataproc.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 |
Funzioni Cloud Run | cloudfunctions.googleapis.com |
Google Kubernetes Engine (anteprima) | container.googleapis.com |
Istanze Vertex AI Workbench | notebooks.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 |
Norme dell'organizzazione CMEK e Storage Transfer Service
Anche se Storage Transfer Service non ha un'integrazione CMEK, può essere utilizzato con i criteri dell'organizzazione CMEK. Se utilizzi Storage Transfer Service e vuoi assicurarti che le credenziali del database archiviate in Secret Manager siano protette da CMEK, devi aggiungere sia storagetransfer.googleapis.com
sia
secretmanager.googleapis.com
al vincolo constraints/gcp.restrictNonCmekServices
. Per ulteriori informazioni, consulta la documentazione relativa alle CMEK di Storage Transfer Service.
Eccezione all'applicazione per tipo di risorsa
I vincoli delle policy dell'organizzazione CMEK vengono applicati quando viene creata una nuova risorsa o quando viene modificata (se supportata) la chiave Cloud KMS di una risorsa esistente. In genere, vengono applicati a tutti i tipi di risorse di un servizio che supportano CMEK e in base esclusivamente alla configurazione della risorsa. Alcune importanti eccezioni sono riassunte qui:
Tipo di risorsa | Eccezione all'applicazione |
---|---|
bigquery.googleapis.com/Dataset |
Applicazione parziale alla chiave Cloud KMS predefinita del set di dati (solo gcp.restrictCmekCryptoKeyProjects )
|
bigquery.googleapis.com/Job |
Solo per i job di query: applicata alla chiave Cloud KMS fornita con la query o predefinita del 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 dei criteri dell'organizzazione CMEK. |
container.googleapis.com/Cluster |
(Anteprima) Applicata alla chiave Cloud KMS solo per il disco di avvio del nodo; non applicata ai secret a livello di applicazione |
logging.googleapis.com/LogBucket |
Applicata ai bucket di log creati esplicitamente; consulta anche la configurazione distinta obbligatoria 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, presupponiamo che l'organizzazione di esempio abbia la seguente gerarchia di risorse:
Richiedere chiavi 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 impiegate solo le chiavi provenienti da projects/4
.
Per richiedere la protezione CMEK per tutte le nuove risorse Cloud Storage, utilizza la seguente impostazione del criterio dell'organizzazione:
- Norme dell'organizzazione:
constraints/gcp.restrictNonCmekServices
- Collegamento in:
projects/5
- Tipo di criterio: Rifiuta
- Valore criterio:
storage.googleapis.com
Per assicurarti che vengano utilizzate solo le chiavi di projects/4
, utilizza la seguente configurazione:
- Norme dell'organizzazione:
constraints/gcp.restrictCmekCryptoKeyProjects
- Collegamento in:
projects/5
- Tipo di criterio: Consenti
- Valore criterio:
projects/4
Richiedi CMEK e limita le chiavi all'interno di una cartella
In alternativa, supponiamo che in futuro prevedi di aggiungere altri progetti Cloud KMS in folders/2
e di 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 in qualsiasi posizione in folders/3
:
- Norme dell'organizzazione:
constraints/gcp.restrictNonCmekServices
- Collegamento in:
folders/3
- Tipo di criterio: Rifiuta
- Valori delle norme:
sqladmin.googleapis.com
,storage.googleapis.com
Per assicurarti che vengano utilizzate solo le chiavi dei progetti Cloud KMS in folders/2
:
- Norme dell'organizzazione:
constraints/gcp.restrictCmekCryptoKeyProjects
- Collegamento in:
folders/3
- Tipo di criterio: Consenti
- Valore criterio:
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:
- Norme dell'organizzazione:
constraints/gcp.restrictNonCmekServices
- Collegamento in:
organizations/1
- Tipo di criterio: Rifiuta
- Valori 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 quando
constraints/gcp.restrictNonCmekServices
è configurato per un progetto e un servizio. La limitazione delle norme dell'organizzazione CMEK è visibile solo se all'account cliente è stata concessa l'autorizzazione IAM orgpolicy.policy.get
per il progetto.
Passaggi successivi
Consulta Introduzione al servizio Policy dell'organizzazione per scoprire di più sui vantaggi e sui casi d'uso comuni dei criteri dell'organizzazione.
Per altri esempi sulla creazione di una policy dell'organizzazione con vincoli specifici, consulta Utilizzare i vincoli.