Creare 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 console Google Cloud per creare anelli di chiavi, chiavi e versioni di chiavi in Cloud KMS. Per istruzioni che utilizzano altri metodi, consulta le guide pratiche.

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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud KMS API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Portachiavi e chiavi

Per criptare e decriptare i contenuti, devi disporre di una chiave Cloud KMS, che fa parte di un keyring.

Crea un keyring denominato test e una chiave denominata quickstart. Per ulteriori informazioni su questi oggetti e sulla loro relazione, 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 appena creata.

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.txt

Per criptare i dati con gcloud kms encrypt, fornisci le informazioni chiave, specifica il nome del file di testo non criptato 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.encrypted

Il metodo encrypt salva i contenuti criptati nel file specificato dal flag --ciphertext-file.

Decripta il testo criptato

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.decrypted

Il metodo decrypt salva i contenuti decriptati nel file specificato dal flag --plaintext-file.

Per decriptare i contenuti criptati, devi utilizzare la stessa chiave impiegata per criptarli.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Elenca le versioni disponibili per la tua chiave:

gcloud kms keys versions list \
    --location "global" \
    --keyring "test" \
    --key "quickstart"

Per eliminare una versione, esegui il seguente comando sostituendo key-version con il numero della versione della chiave da eliminare:

gcloud kms keys versions destroy key-version \
    --location "global" \
    --keyring "test" \
    --key "quickstart"

Passaggi successivi