Per impostazione predefinita, Secure Source Manager cripta i contenuti inattivi dei clienti at rest. Secure Source Manager gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, incluso Secure Source 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 chiavi CMEK, l'esperienza di accesso alle risorse Secure Source Manager è simile all'utilizzo della crittografia predefinita di Google. Per ulteriori informazioni sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Cloud KMS può essere eseguito in un progetto separato in cui gestisci centralmente le chiavi per più progetti o nello stesso Google Cloud progetto di Secure Source Manager. Per supportare la separazione dei compiti e un maggiore controllo sull'accesso alle chiavi, ti consigliamo di creare e gestire le chiavi in un progetto separato che non includa altre Google Cloud risorse.
Assegni una chiave Cloud KMS quando crei un'istanza. Non puoi modificare il meccanismo di crittografia di un'istanza esistente. Se hai un'istanza criptata con CMEK, non puoi modificare il meccanismo di crittografia in crittografia predefinita di Google o assegnare una chiave Cloud Key Management Service diversa per la crittografia.
L'istanza deve essere creata nella stessa località della chiave Cloud KMS.
CMEK con Autokey di Cloud KMS
Puoi creare le chiavi CMEK manualmente per proteggere le risorse Secure Source Manager oppure utilizzare Autokey di Cloud KMS. Con Autokey, le chiavi e le chiavi automatizzate vengono generate on demand per supportare la creazione di risorse in Secure Source 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 ulteriori informazioni, consulta la panoramica di Autokey.
Quote di Cloud KMS e Secure Source Manager
Quando utilizzi CMEK in Secure Source Manager, i tuoi progetti possono consumare le quote delle richieste di crittografia di Cloud KMS. Le istanze criptate con CMEK consumano queste quote al momento della creazione. Le operazioni di crittografia e decrittografia che utilizzano le chiavi CMEK influiscono sulle quote di Cloud KMS solo se utilizzi chiavi hardware (Cloud HSM) o esterne (Cloud EKM). Per ulteriori informazioni, consulta Quote di Cloud KMS.
Creare una chiave CMEK e concedere le autorizzazioni
Le seguenti istruzioni spiegano come creare una chiave e concedere le autorizzazioni del account di servizio Secure Source Manager sulla chiave.
Crea una chiave Cloud KMS:
Manualmente
Nel Google Cloud progetto in cui vuoi gestire le chiavi:
Crea un keyring e una chiave utilizzando una delle seguenti opzioni:
- Crea il keyring e la chiave direttamente in Cloud KMS.
- Utilizza una chiave gestita esternamente. Crea la chiave esterna quindi crea una chiave Cloud EKM per rendere la chiave disponibile tramite Cloud KMS.
La località della chiave Cloud KMS deve corrispondere alla località del progetto in cui vuoi creare l'istanza Secure Source Manager.
Utilizzo di Autokey
Se non l'hai ancora fatto, abilita Autokey di Cloud KMS.
Crea un nuovo
KeyHandledi Cloud KMS Autokey:curl -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -X POST https://cloudkms.googleapis.com/v1/projects/PROJECT/locations/LOCATION/keyHandles \ -d '{"resource_type_selector": "securesourcemanager.googleapis.com/Instance"}'Sostituisci quanto segue:
- PROJECT: l'ID progetto del progetto in cui è abilitato Cloud KMS Autokey e in cui vuoi eseguire il deployment di un'istanza Secure Source Manager
- LOCATION: la località
KeyHandle. Deve corrispondere alla località in cui vuoi eseguire il deployment di un' istanza Secure Source Manager
L'output è simile al seguente:
{ "name": "projects/PROJECT/locations/LOCATION/operations/OPERATION", "metadata": { "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata" } }Prendi nota del OPERATION dall'output. Ti serve questo valore per ottenere l'ID risorsa della chiave creata.
Trova la chiave Cloud KMS associata all'handle della chiave:
curl -H "X-Goog-User-Project: PROJECT" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -X GET https://cloudkms.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATIONSostituisci quanto segue:
- PROJECT: l'ID progetto del progetto in cui è abilitato Autokey di Cloud KMS e in cui vuoi eseguire il deployment di un'istanza Secure Source Manager
- LOCATION: la località
KeyHandle. Deve corrispondere alla località in cui vuoi eseguire il deployment di un' istanza Secure Source Manager - OPERATION: l'identificatore dell'operazione di richiesta dell'handle della chiave dall'output del passaggio precedente
L'output è simile al seguente:
{ "name": "projects/PROJECT/locations/LOCATION/operations/OPERATION", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle", "name": "projects/PROJECT/locations/LOCATION/keyHandles/KEY_HANDLE", "kmsKey": "projects/PROJECT/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME", "resourceTypeSelector": "securesourcemanager.googleapis.com/Instance" } }Il valore dell'elemento
kmsKeynell'output è l'ID risorsa completo della chiave creata da Autokey di Cloud KMS per questa risorsa. Puoi utilizzare questo ID risorsa nello stesso modo in cui utilizzeresti l'ID risorsa per qualsiasi altra risorsa Cloud KMS.
Se stai creando la prima istanza Secure Source Manager nel tuo progetto, devi creare manualmente l'agente di servizio Secure Source Manager eseguendo il seguente comando:
gcloud beta services identity create \ --service=securesourcemanager.googleapis.com \ --project=PROJECTDove
PROJECTè l'ID progetto del progetto in cui creerai l'istanza Secure Source Manager.Dopo aver creato il account di servizio per prodotto e per progetto (P4SA), devi concedere il ruolo Agente di servizio Secure Source Manager (
roles/securesourcemanager.serviceAgent) all'entitàservice-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.como la creazione dell'istanza non riuscirà.Concedi il ruolo IAM Autore crittografia/decrittografia CryptoKey (
roles/cloudkms.cryptoKeyEncrypterDecrypter) al account di servizio Secure Source Manager. Concedi questa autorizzazione sulla chiave che hai creato.Console
Vai alla pagina Gestione delle chiavi.
Seleziona il keyring che vuoi utilizzare, apri la pagina Dettagli del keyring, quindi seleziona la chiave che hai creato.
Concedi l'accesso al account di servizio Secure Source Manager:
- Fai clic su AGGIUNGI ENTITÀ.
- Aggiungi il account di servizio Secure Source Manager. Il account di servizio è service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, dove PROJECT-NUMBER è il numero del progetto in cui è abilitato Secure Source Manager. Google Cloud
- In Seleziona un ruolo, seleziona Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter.
- Fai clic su SALVA.
Ripeti il passaggio precedente per concedere l'accesso all'account che creerà l'istanza Secure Source Manager.
Torna alla pagina Gestione delle chiavi, seleziona il keyring e apri la pagina Dettagli del keyring. Quindi seleziona di nuovo la chiave.
Seleziona MOSTRA RIQUADRO INFORMAZIONI. Dovresti visualizzare i ruoli nella colonna Ruolo/Membro.
gcloud
Esegui il seguente comando per concedere l'accesso al account di servizio Secure Source Manager:
gcloud kms keys add-iam-policy-binding [--project=PROJECT] \ KEY_NAME --location LOCATION --keyring=KEY_RING \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterSostituisci quanto segue:
- PROJECT: l'ID del progetto che contiene la chiave
- KEY_NAME: il nome della chiave
- LOCATION: la località della chiave. La località della chiave deve corrispondere alla località del progetto in cui vuoi eseguire il deployment di un' istanza Secure Source Manager
- KEY_RING: il nome del keyring
- PROJECT_NUMBER: il numero del progetto con Secure Source Manager abilitatoGoogle Cloud
Ripeti il passaggio precedente per concedere l'accesso all'account che creerà l'istanza Secure Source Manager.
Per ulteriori informazioni su questo comando, consulta la documentazione di gcloud kms keys add-iam-policy-binding.
Rimuovi accesso
Esistono diversi modi per rimuovere l'accesso a un repository criptato con CMEK:
- Revoca il ruolo Cloud KMS CryptoKey Encrypter/Decrypter ruolo dal service account Secure Source Manager utilizzando la Google Cloud console o Google Cloud CLI.
- Disattiva temporaneamente la chiave CMEK.
- Elimina definitivamente la chiave CMEK.
Ti consigliamo di revocare le autorizzazioni dal account di servizio Secure Source Manager prima di disattivare o eliminare una chiave. Le modifiche alle autorizzazioni sono coerenti in pochi secondi, quindi puoi osservare gli effetti della disattivazione o dell'eliminazione di una chiave.
Quando disattivi o elimini la chiave di crittografia per un'istanza, non puoi più visualizzare o recuperare i dati dall'istanza. Tutti i dati archiviati nell'istanza diventano inaccessibili, inclusi la cronologia del codice, le richieste di pull e i problemi.
Gli utenti con il ruolo Gestore di istanze Secure Source Manager o Proprietario dell'istanza possono eliminare l'istanza.
Policy dell'organizzazione per le chiavi CMEK
Secure Source Manager supporta i vincoli delle policy dell'organizzazione che possono richiedere la protezione CMEK.
Le policy possono limitare le CryptoKey Cloud KMS che possono essere utilizzate per la protezione CMEK.
Quando l'API Secure Source Manager si trova nell'elenco dei servizi
Denydel vincoloconstraints/gcp.restrictNonCmekServices, Secure Source Manager rifiuta di creare nuove istanze non protette da CMEK.Quando
constraints/gcp.restrictCmekCryptoKeyProjectsè configurato, Secure Source Manager crea istanze protette da CMEK protette da una CryptoKey di un progetto, una cartella o un'organizzazione consentiti.
Per ulteriori informazioni sulla configurazione delle policy dell'organizzazione, consulta Policy dell'organizzazione per le chiavi CMEK.
Passaggi successivi
- Eseguire il deployment di un'istanza criptata con CMEK
- Scopri di più su CMEK
- Scopri di più sulla crittografia predefinita di Google
- Scopri di più su Autokey di Cloud KMS