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 Cloud de Confiance 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
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Cloud de Confiance 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 Cloud de Confiance :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Cloud de Confiance che stai creando. -
Seleziona il progetto Cloud de Confiance che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Cloud de Confiance .
-
Verifica che la fatturazione sia attivata per il tuo progetto Cloud de Confiance .
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 account. Per esempi, vedi Rappresenta gli utenti del pool di forza lavoro nelle policy IAM.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 Cloud de Confiance vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Cloud de Confiance 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.