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 consoleGoogle Cloud per creare keyring, chiavi e versioni delle chiavi in Cloud KMS. Per istruzioni che utilizzano altri metodi, consulta le guide illustrative.

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 Criptare e decriptare.

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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  10. Enable the Cloud KMS API.

    Enable the API

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init

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. Per ulteriori informazioni 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.txt

Per 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.encrypted

Il 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.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 utilizzata 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 chiave:

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

Per eliminare una versione, esegui questo 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