Nell'autunno del 2024, Google Cloud ha reso disponibile in General Availability Cloud Key Management Service (KMS) con Autokey, introducendo un approccio semplificato alla gestione delle chiavi di crittografia nei diversi servizi Google Cloud. KMS Autokey punta a semplificare la creazione e la gestione delle Customer-Managed Encryption Keys (CMEK) automatizzando provisioning, assegnazione e rotazione delle chiavi. Il risultato è una sicurezza più semplice da gestire e un'infrastruttura allineata alle best practice di settore per la protezione dei dati.
In questo articolo vedremo cos'è Cloud KMS con Autokey, come funziona, come abilitarlo e utilizzarlo e anche come disattivarlo.
Cos'è Cloud KMS con Autokey?
Cloud KMS con Autokey automatizza la creazione delle chiavi di crittografia quando le risorse vengono distribuite nei servizi supportati, come Cloud Storage, Compute Engine, BigQuery, Secret Manager, Cloud SQL e Spanner.
In passato era necessario effettuare il provisioning di chiavi, key ring e service account prima di poterli utilizzare; con KMS Autokey, invece, tutto questo avviene in automatico. Quando viene creata una nuova risorsa, KMS Autokey genera le chiavi on demand, garantendo una crittografia trasparente per i suoi workloads, senza alcun intervento manuale.
Perché utilizzare Cloud KMS con Autokey?
Cloud KMS con Autokey non si limita a semplificare la gestione delle chiavi: garantisce anche che le pratiche di sicurezza siano in linea con gli standard di settore e le best practice consigliate. In particolare:
- Protezione tramite Hardware Security Module (HSM) per le chiavi.
- Separazione dei compiti tramite controlli di accesso basati sui ruoli.
- Rotazione automatica delle chiavi per mantenere i dati al sicuro.
- Controllo della localizzazione delle chiavi per la conformità ai requisiti normativi.
- Specificità delle chiavi per una gestione granulare degli accessi.
Le chiavi generate tramite Cloud KMS con Autokey funzionano esattamente come le altre chiavi Cloud HSM, ma il processo è automatico e scalabile: una soluzione ideale per ambienti dinamici in cui vengono distribuite frequentemente nuove risorse.
L'utilizzo di Cloud KMS con Autokey non comporta costi aggiuntivi: le chiavi create con Autokey hanno lo stesso prezzo di qualsiasi altra chiave Cloud HSM.
Come abilitare KMS Autokey
Per abilitare Cloud KMS con Autokey è necessaria una configurazione a livello di cartella all'interno della Sua organizzazione Google Cloud. In pratica dovrà creare una nuova cartella, oppure utilizzarne una esistente, e poi creare al suo interno un progetto in cui archiviare le chiavi. A quel punto potrà creare nuovi progetti nella cartella, oppure spostarvi progetti già esistenti, per sfruttare la creazione automatica con Autokey. Nell'esempio che segue creiamo una nuova cartella e due progetti al suo interno. Personalmente preferisco creare una nuova cartella anziché riutilizzarne una esistente, perché può fungere da confine di sicurezza e permette di assegnare gli accessi secondo il principio del privilegio minimo.

esempio di struttura delle cartelle
Passo 1: creare una cartella e due progetti al suo interno
- Nome cartella: kms-autokey (cartella con Cloud KMS Autokey abilitato)
- Nome progetto: kms-keys (progetto in cui vengono archiviate le chiavi)
- Nome progetto: kms-enabled-proj (progetto con chiavi assegnate alle risorse)
Passo 2: assegnare i ruoli IAM richiesti
Affinché Cloud KMS con Autokey funzioni correttamente, è necessario assegnarLe alcuni ruoli a livello di organizzazione e di cartella:
Livello cartella (cartella kms-autokey)
- Cloud KMS Autokey Admin (roles/cloudkms.autokeyAdmin)
- Folder IAM Admin (roles/resourcemanager.folderIamAdmin)
Livello organizzazione
- Billing Account User (roles/billing.user)
Una volta ottenuti questi ruoli, potrà abilitare Cloud KMS con Autokey nella cartella.
Passo 3: abilitare Cloud KMS con Autokey nella cartella
- Nella console GCP, selezioni la cartella kms-autokey.
- Si rechi in Key Management.

selezionare la cartella e accedere a Key Management
3. Dal selettore di contesto scelga il progetto che conterrà le chiavi. Nel nostro esempio è kms-keys.

collegare alla cartella il progetto che gestirà le chiavi
Passo 4: creare il service account
Nel progetto delle chiavi KMS (kms-keys) dovrà creare un service agent account, in modo che il servizio KMS possa interagire con le risorse. Da Cloud Shell:
gcloud beta services identity create --service=cloudkms.googleapis.com --project=PROJECT_NUMBER
sostituisca PROJECT_NUMBER con il numero del progetto delle chiavi KMS; nel nostro esempio è il numero del progetto kms-keys
esempio di output
gcloud beta services identity create --service=cloudkms.googleapis.com --project=937192488103
Service identity created: [email protected]
A questo punto, conceda al service agent i permessi di Cloud KMS Admin:
gcloud projects add-iam-policy-binding PROJECT_NUMBER --role=roles/cloudkms.admin --member=serviceAccount:[email protected]
Anche qui, sostituisca PROJECT_NUMBER con il numero del progetto delle chiavi KMS; nel nostro esempio è il numero del progetto kms-keys
esempio di output
gcloud projects add-iam-policy-binding 937192488103 --role=roles/cloudkms.admin --member=serviceAccount:[email protected]
Updated IAM policy for project [937192488103].
bindings:
- members:
- serviceAccount:[email protected]
role: roles/cloudkms.admin
- members:
- user:<omitted>@doit.com
role: roles/owner
etag: BwYsUy7dhpo=
version: 1
Passo 5: assegnare il ruolo KMS Autokey User
Per consentire agli sviluppatori di utilizzare KMS Autokey, dovrà assegnare loro il ruolo roles/cloudkms.autokeyUser. Può farlo a livello di cartella oppure di progetto. Ecco come assegnarlo a livello di cartella:
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID --role=roles/cloudkms.autokeyUser --member=user:USER_EMAIL
Sostituisca FOLDER_ID con la cartella in cui sta abilitando Autokey; nel nostro esempio è l'ID della cartella kms-autokey. Sostituisca USER_EMAIL con l'indirizzo email della persona a cui vuole concedere i permessi per usare KMS Autokey, ad esempio uno sviluppatore o un gruppo di sviluppatori.
esempio di output
gcloud resource-manager folders add-iam-policy-binding 279174226974 --role=roles/cloudkms.autokeyUser --member=user:<developers email address>
Updated IAM policy for folder [279174226974].
bindings:
- members:
- user:<omitted>@doit.com
role: roles/cloudkms.autokeyAdmin
- members:
- user:<omitted>@doit.com
role: roles/cloudkms.autokeyUser
- members:
- user:<omitted>@doit.com
role: roles/resourcemanager.folderAdmin
- members:
- user:<omitted>@doit.com
role: roles/resourcemanager.folderEditor
etag: BwYsU4vSoEA=
version: 1
Una volta assegnato questo ruolo, gli sviluppatori potranno creare chiavi on demand contestualmente alla creazione delle risorse.
Passo 6: creare risorse con Cloud KMS Autokey
Per testare la configurazione, crei una nuova istanza Compute nel progetto appena abilitato. Nel nostro esempio è il progetto kms-enabled-proj. In Avanzate, selezioni Crittografia dei dati = Chiave Cloud KMS e Tipo di chiave = Cloud KMS con Autokey, quindi clicchi su "Richiedi una chiave"

Creazione di un'istanza GCE: scheda Avanzate e punto in cui richiedere la chiave
Una volta creata l'istanza, troverà i dettagli della chiave nella sezione Gestione dei metadati dell'istanza Compute.

dettagli della chiave
Torni al progetto delle chiavi KMS (kms-keys), apra Key Management e troverà la nuova chiave creata per l'istanza, insieme alla data della prossima rotazione.

key ring creato nella stessa regione dell'istanza GCE

chiave mostrata con la data della prossima rotazione
Nel nostro esempio il key ring viene creato in us-central1, perché è lì che risiede l'istanza Compute. I key ring vengono creati automaticamente nella regione che ospita le risorse.
Disattivare Cloud KMS con Autokey
Se in qualunque momento dovesse aver bisogno di disattivare Cloud KMS con Autokey, può farlo a livello di cartella. La disattivazione rimuove la configurazione che collega la cartella al progetto delle chiavi e impedisce di fatto la creazione automatica di chiavi per le nuove risorse. Le chiavi già esistenti, create da Cloud KMS con Autokey, non vengono in alcun modo influenzate.

Disattivare per interrompere la creazione di chiavi. Le chiavi esistenti non subiscono modifiche.
Passo opzionale 1: revocare KMS Autokey Admin per la cartella
Per revocare il ruolo Autokey Admin:
gcloud resource-manager folders remove-iam-policy-binding FOLDER_ID --role=roles/cloudkms.autokeyAdmin --member=user:USER_EMAIL
Questa operazione revoca il ruolo autokeyAdmin, impedendo all'utente di riabilitare o gestire KMS Autokey. È importante sottolineare, però, che le chiavi esistenti continueranno a funzionare e che tutte le risorse precedentemente crittografate con tali chiavi resteranno protette.
Passo opzionale 2: revocare i ruoli Autokey User
Può inoltre revocare i ruoli Autokey User a livello di cartella o di progetto. Ecco come rimuovere il ruolo roles/cloudkms.autokeyUser:
gcloud resource-manager folders remove-iam-policy-binding FOLDER_ID - role=roles/cloudkms.autokeyUser - member=user:USER_EMAIL
Se il service agent non Le servirà più, può anche revocargli il ruolo Cloud KMS Admin:
gcloud projects remove-iam-policy-binding KEY_PROJECT_NUMBER - role=roles/cloudkms.admin - member=serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-cloudkms.iam.gserviceaccount.com
**Ha domande?**
In DoiT International il nostro team è composto esclusivamente da Engineers senior. Siamo specializzati in consulenza cloud avanzata, progettazione architetturale e servizi di debugging. Che si tratti dei primi passi con i sistemi distribuiti, dell'ottimizzazione di un sistema esistente o della risoluzione di problemi complessi, Le offriamo una consulenza esperta su misura per le Sue esigenze.
Ci contatti oggi stesso e ci permetta di aiutarLa a sfruttare appieno il potenziale della Sua infrastruttura cloud.
Cloud KMS con Autokey è uno strumento potente che semplifica la gestione delle chiavi di crittografia in Google Cloud. Automatizzando la creazione e la rotazione delle chiavi, Autokey aiuta ad applicare le best practice di sicurezza, riduce il rischio di errore umano e consente di scalare la crittografia in modo trasparente sull'intera infrastruttura.
Ora che KMS Autokey è in General Availability, è il momento giusto per iniziare a utilizzarlo nella Sua organizzazione. Sia che stia distribuendo nuove risorse, sia che voglia assicurarsi che i suoi workloads esistenti siano protetti, Cloud KMS con Autokey rende la gestione delle chiavi più semplice e più sicura.
Per guide e riferimenti dettagliati, consulti la documentazione ufficiale di KMS Autokey.