Per impostazione predefinita, Secret Manager cripta i contenuti inattivi dei clienti. Secret Manager gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le tue chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con servizi integrati con CMEK, tra cui Secret Manager. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione, la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre monitorare l'utilizzo delle chiavi, visualizzare gli audit log e controllare i cicli di vita delle chiavi. Invece di Google, sei tu ad avere la proprietà e la gestione delle chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati. Puoi controllare e gestire queste chiavi in Cloud KMS.
Dopo aver configurato le risorse con le CMEK, l'esperienza di accesso alle risorse di Secret Manager è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, vedi Chiavi di crittografia gestite dal cliente (CMEK).
Secret Manager fornisce strumenti per archiviare, gestire e accedere ai dati sensibili nelle tue applicazioni.
CMEK con Autokey di Cloud KMS
Puoi creare le chiavi CMEK manualmente per proteggere le risorse Secret Manager o utilizzare Cloud KMS Autokey. Con Autokey, le chiavi e le chiavi automatizzate vengono generate on demand per supportare la creazione di risorse in Secret Manager. Vengono creati gli agenti di servizio che utilizzano le chiavi per le operazioni di crittografia e decrittografia, se non esistono già, e ricevono i ruoli IAM (Identity and Access Management) richiesti. Per saperne di più, consulta la panoramica di Autokey.
Secret Manager è compatibile con Cloud KMS Autokey solo quando crei risorse utilizzando Terraform o l'API REST.
Per scoprire come utilizzare le chiavi CMEK create manualmente per proteggere le risorse Secret Manager, consulta CMEK con replica automatica e CMEK con replica gestita dall'utente in questa pagina.
Per scoprire come utilizzare le chiavi CMEK create da Cloud KMS Autokey per proteggere le risorse Secret Manager, consulta Utilizzo di Autokey con le risorse Secret Manager.
Come funziona CMEK in Secret Manager
Prima di scrivere una versione del secret nell'archiviazione permanente in una posizione specifica, Secret Manager cripta i dati con una chiave di crittografia dei dati (DEK) univoca. Questa DEK viene poi criptata con una chiave specifica della replica, chiamata chiave di crittografia della chiave (KEK), di proprietà del servizio Secret Manager.
Quando utilizzi CMEK per Secret Manager, la KEK viene chiamata chiave CMEK ed è una chiave simmetrica che gestisci in Cloud KMS. La chiave CMEK deve trovarsi nella stessa località della replica della versione del secret che cripta. Google Cloud Puoi anche utilizzare una chiave Cloud EKM nel criterio CMEK per la crittografia e la decriptazione.
Questa guida illustra come configurare Secret Manager per utilizzare CMEK. Per saperne di più su CMEK in generale, incluso quando e perché abilitarla, consulta la documentazione di Cloud Key Management Service.
Rotazione chiave
Quando ruoti una chiave Cloud Key Management Service, la nuova versione della chiave diventa la versione primary. Secret Manager utilizza la seguente logica per rotazione della chiave:
- Le nuove versioni del secret create dopo la rotazione utilizzano automaticamente la nuova versione della chiave primaria per la crittografia.
- Le versioni del secret esistenti non vengono ricriptate automaticamente. Secret Manager può comunque accedere alle versioni dei secret criptate con le versioni precedenti della chiave, a condizione che queste rimangano attive. Ad esempio, se aggiungi una nuova versione a un secret protetto da CMEK e poi ruoti la chiave, la versione originale del secret viene criptata con la versione originale della chiave e la nuova versione del secret viene criptata con la nuova versione della chiave. Entrambe le versioni del secret sono accessibili.
Limitazioni
CMEK è disponibile solo nell'API Secret Manager
v1 e in
Google Cloud CLI.
Prima di iniziare
Puoi scegliere di archiviare tutte le risorse nello stesso progetto o di archiviare i secret e le chiavi in progetti separati. Leggi la sezione Separazione dei compiti di Cloud KMS per comprendere meglio questa decisione.
Completa i seguenti prerequisiti per configurare Secret Manager e Cloud KMS:
Secret Manager:
- Crea o utilizza un progetto esistente per contenere le risorse Secret Manager.
- Se necessario, completa i passaggi descritti nella sezione Configurazione di Secret Manager della guida rapida di Secret Manager.
Cloud KMS:
- Crea o utilizza un progetto esistente per contenere le risorse Cloud KMS.
- Se necessario, abilita l'API Cloud KMS.
Imposta le seguenti variabili sugli ID progetto dei tuoi progetti Secret Manager e Cloud KMS.
This is an editable variable. Set it to your Secret Manager project ID and the
value will be used in all commands on this page.
SM_PROJECT_ID
This is an editable variable. Set it to your Cloud KMS project ID and the value
will be used in all commands on this page.
KMS_PROJECT_ID
Autenticati su Google Cloud:
gcloud
Per utilizzare Secret Manager dalla riga di comando, prima installa o esegui l'upgrade alla versione 378.0.0 o successive di Google Cloud CLI. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
gcloud auth loginCreazione di un'identità dell'agente di servizio
Devi creare un'identità service agent per ogni progetto che richiede chiavi di crittografia gestite dal cliente.
Per creare un'identità di servizio con Google Cloud CLI, esegui il seguente comando:
gcloud
Per utilizzare Secret Manager dalla riga di comando, prima installa o esegui l'upgrade alla versione 378.0.0 o successive di Google Cloud CLI. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
gcloud beta services identity create \
--service "secretmanager.googleapis.com" \
--project