Crea chiavi di crittografia con Cloud KMS
Questa guida rapida mostra come creare e utilizzare le chiavi di crittografia con Cloud Key Management Service in un progetto di tua proprietà. Queste istruzioni utilizzano la consoleCloud de Confiance per creare keyring, 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
-
Install the 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 -
Create or select a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Cloud de Confiance project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Cloud de Confiance project you are creating. -
Select the Cloud de Confiance project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Cloud de Confiance project name.
-
Verify that billing is enabled for your Cloud de Confiance project.
-
Enable the Cloud KMS API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable cloudkms.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecrypter, roles/servicemanagement.serviceConsumergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID: Your project ID.USER_IDENTIFIER: The identifier for your user account. For examples, see Represent workforce pool users in IAM policies.ROLE: The IAM role that you grant to your user account.
- Inizia a utilizzare l'API.
- Dai un'occhiata al Riferimento API.
- Scopri di più su come criptare i dati at-rest.
Keyring 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. Consulta la
panoramica della gerarchia degli oggetti per saperne di più
su questi oggetti e sul loro rapporto.
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 criptare i dati con gcloud kms encrypt, fornisci le informazioni sulla chiave,
specifica il nome del file di testo normale da criptare e il nome del
file che conterrà i contenuti criptati:
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 della 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"