Google Cloud offre due vincoli dei criteri 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.
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 ciascun utente il ruolo IAM Visualizzatore criteri organizzazione (roles/orgpolicy.policyViewer
) nella 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 di risorse. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per controllare i criteri dell'organizzazione durante la creazione di risorse sono necessarie le seguenti autorizzazioni:
-
Per visualizzare i dettagli completi dei criteri 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 a ciascun utente queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Quando i criteri dell'organizzazione sono attivi, l'autorizzazione orgpolicy.policies.check
è necessaria 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 che non è consentita dal vincolo restrictCmekCryptoKeyProjects
. Quando viene selezionata una chiave che non soddisfa questo vincolo, alla fine la creazione delle risorse ha esito negativo.
Richiedi protezione CMEK
Per richiedere la protezione CMEK per la tua organizzazione, configura il criterio dell'organizzazione constraints/gcp.restrictNonCmekServices
.
Come vincolo di 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 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.
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
). Per utilizzare questo vincolo, configura un elenco di indicatori della gerarchia delle risorse e imposta 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 viene 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 |
Firestore (anteprima) | firestore.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 di 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 modificano (se supportate) 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. Ecco un riepilogo di alcune eccezioni degne di nota:
Tipo di risorsa | Eccezione dell'applicazione |
---|---|
bigquery.googleapis.com/Dataset |
Applicato parzialmente sulla chiave Cloud KMS predefinita del set di dati (solo gcp.restrictCmekCryptoKeyProjects )
|
bigquery.googleapis.com/Job |
Solo job di query: applicati alla chiave Cloud KMS fornita con la query o ai valori predefiniti del progetto di fatturazione; vedi anche configurazione della chiave Cloud KMS predefinita del progetto |
bigquerydatatransfer.googleapis.com/TransferConfig |
Le configurazioni di trasferimento utilizzano il nome del servizio di Data Transfer Service (bigquerydatatransfer.googleapis.com) per i vincoli dei criteri dell'organizzazione CMEK. |
container.googleapis.com/Cluster |
(Anteprima) Applicato sulla chiave Cloud KMS solo per il disco di avvio del nodo; non applicato ai secret a livello di applicazione |
logging.googleapis.com/LogBucket |
Applicata sui bucket di log creati esplicitamente. Vedi anche la configurazione separata richiesta per garantire la conformità dei bucket di log integrati |
storage.googleapis.com/Bucket |
Applicata sulla chiave Cloud KMS predefinita del bucket |
storage.googleapis.com/Object |
Applicata indipendentemente dal bucket; vedi anche 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 delle risorse:
Richiedi chiavi CMEK e limite per un progetto
Supponiamo di voler richiedere la protezione CMEK per tutte le risorse Cloud Storage in projects/5
e di assicurarti che sia possibile utilizzare 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 a:
projects/5
- Tipo di criterio: Nega
- Valore del criterio:
storage.googleapis.com
Per assicurarti che vengano utilizzate solo le chiavi del dominio projects/4
, utilizza la seguente configurazione:
- Criterio dell'organizzazione:
constraints/gcp.restrictCmekCryptoKeyProjects
- Associazione a:
projects/5
- Tipo di criterio: Allow
- Valore del 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, hai bisogno
di configurazioni leggermente diverse.
Per richiedere una protezione CMEK aggiuntiva per le nuove risorse Cloud SQL e Cloud Storage ovunque in folders/3
:
- Criterio dell'organizzazione:
constraints/gcp.restrictNonCmekServices
- Associazione a:
folders/3
- Tipo di criterio: Nega
- Valori dei criteri:
sqladmin.googleapis.com
,storage.googleapis.com
Per assicurarti che vengano utilizzate solo le chiavi dei progetti Cloud KMS in folders/2
:
- Criterio dell'organizzazione:
constraints/gcp.restrictCmekCryptoKeyProjects
- Associazione a:
folders/3
- Tipo di criterio: Allow
- Valore del criterio:
under:folders/2
Richiedi CMEK per un'organizzazione
Per richiedere CMEK in tutto l'organizzazione (nei servizi supportati),
configura il vincolo constraints/gcp.restrictNonCmekServices
con la
seguente impostazione:
- Criterio dell'organizzazione:
constraints/gcp.restrictNonCmekServices
- Associazione a:
organizations/1
- Tipo di criterio: Nega
- Valori dei criteri: (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 cliente è stata concessa l'autorizzazione IAM orgpolicy.policy.get
per il progetto.
Passaggi successivi
Consulta Introduzione al servizio Criteri dell'organizzazione per ulteriori informazioni sui vantaggi e sui casi d'uso comuni per i criteri dell'organizzazione.
Per ulteriori esempi sulla creazione di un criterio dell'organizzazione con vincoli specifici, consulta Utilizzo dei vincoli.