Crea chiavi di crittografia con Cloud KMS
Questa guida rapida mostra come creare e utilizzare chiavi di crittografia con Cloud Key Management Service in un progetto di tua proprietà. Queste istruzioni utilizzano la console Google Cloud per creare portachiavi, chiavi e versioni delle chiavi in Cloud KMS. Per istruzioni che utilizzano altri metodi, vedi Panoramica di Autokey, Crea un portachiavi e Crea una chiave.
Questa guida rapida utilizza la riga di comando per inviare richieste all'API Cloud KMS. Per esempi di programmazione che utilizzano le librerie client per inviare richieste all'API Cloud KMS, consulta Crittografia e decrittografia.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Abilita l'API Cloud KMS, se non è già abilitata:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable cloudkms.googleapis.com
-
Concedi ruoli al tuo account utente. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecryptergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.USER_IDENTIFIER: l'identificatore del tuo account utente . Ad esempio:myemail@example.com.ROLE: il ruolo IAM che concedi al tuo account utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Abilita l'API Cloud KMS, se non è già abilitata:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable cloudkms.googleapis.com
-
Concedi ruoli al tuo account utente. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecryptergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.USER_IDENTIFIER: l'identificatore del tuo account utente . Ad esempio:myemail@example.com.ROLE: il ruolo IAM che concedi al tuo account utente.
Chiavi automatizzate e chiavi
Per criptare e decriptare i contenuti, avrai bisogno di una chiave Cloud KMS, che fa parte di un keyring.
Crea un keyring denominato test e una chiave denominata quickstart. Per saperne di più su questi oggetti e sul loro rapporto, consulta la
panoramica della gerarchia degli oggetti.
gcloud kms keyrings create "test" \
--location "global"gcloud kms keys create "quickstart" \
--location "global" \
--keyring "test" \
--purpose "encryption"Puoi utilizzare l'opzione list per visualizzare il nome e i metadati della chiave che hai appena creato.
gcloud kms keys list \
--location "global" \
--keyring "test"Dovresti vedere:
NAME PURPOSE PRIMARY_STATE projects/PROJECT_ID/locations/global/keyRings/test/cryptoKeys/quickstart ENCRYPT_DECRYPT ENABLED
Criptare i dati
Ora che hai una chiave, puoi utilizzarla per criptare contenuti di testo o binari.
Memorizza del testo da criptare in un file denominato "mysecret.txt".
echo -n "Some text to be encrypted" > mysecret.txtPer crittografare i dati con gcloud kms encrypt, fornisci le informazioni sulla chiave, specifica il nome del file di testo non crittografato da crittografare e il nome del file che conterrà i contenuti crittografati:
gcloud kms encrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--plaintext-file ./mysecret.txt \
--ciphertext-file ./mysecret.txt.encryptedIl metodo encrypt salva i contenuti criptati nel file specificato dal
flag --ciphertext-file.
Decripta il testo crittografato
Per decriptare i dati con gcloud kms decrypt, fornisci le informazioni sulla chiave,
specifica il nome del file criptato (file di testo cifrato) da decriptare e specifica
il nome del file che conterrà i contenuti decriptati:
gcloud kms decrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--ciphertext-file ./mysecret.txt.encrypted \
--plaintext-file ./mysecret.txt.decryptedIl metodo decrypt salva i contenuti decriptati nel file specificato dal flag
--plaintext-file.
Per decriptare i contenuti criptati, devi utilizzare la stessa chiave utilizzata per criptarli.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud con le risorse.
Elenca le versioni disponibili per la chiave:
gcloud kms keys versions list \
--location "global" \
--keyring "test" \
--key "quickstart"Per eliminare una versione, esegui questo comando, dove 1 è il numero
della versione della chiave che vuoi eliminare:
gcloud kms keys versions destroy 1 \
--location "global" \
--keyring "test" \
--key "quickstart"
Passaggi successivi
- Inizia a utilizzare l'API.
- Dai un'occhiata al Riferimento API.
- Scopri di più su come criptare i dati at-rest.