Criar chaves de criptografia com o Cloud KMS

Este guia de início rápido mostra como criar e usar chaves de criptografia com o Cloud Key Management Service em um projeto seu. Estas instruções usam o console do Google Cloud para criar chaves, chaves e versões de chaves no Cloud KMS. Para instruções que usam outros métodos, consulte Guias de instruções.

Este guia de início rápido usa a linha de comando para enviar solicitações para a API Cloud KMS. Veja exemplos de programação que usam as bibliotecas do cliente para envio de solicitações para a API Cloud KMS em Criptografia e Descriptografia.

Antes de começar

  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

Keyrings e chaves

Para criptografar e descriptografar o conteúdo, você precisa de uma chave do Cloud KMS, que faz parte de um keyring.

Crie um keyring com o nome test e uma chave com o nome quickstart. Consulte a visão geral da hierarquia de objetos para saber mais sobre esses objetos e como eles se relacionam.

gcloud kms keyrings create "test" \
    --location "global"
gcloud kms keys create "quickstart" \
    --location "global" \
    --keyring "test" \
    --purpose "encryption"

Use a opção list para ver o nome e os metadados da chave que acabou de criar.

gcloud kms keys list \
    --location "global" \
    --keyring "test"

Você verá:

NAME                                                                      PURPOSE          PRIMARY_STATE
projects/project-id/locations/global/keyRings/test/cryptoKeys/quickstart  ENCRYPT_DECRYPT  ENABLED

Criptografar dados

Agora que você tem uma chave, basta usá-la para criptografar um texto ou conteúdo binário.

Armazene algum texto a ser criptografado em um arquivo chamado "mysecret.txt".

echo -n "Some text to be encrypted" > mysecret.txt

Para criptografar os dados com gcloud kms encrypt, forneça as informações da chave, especifique o nome do arquivo de texto simples a ser criptografado e o nome do arquivo que conterá o conteúdo criptografado:

gcloud kms encrypt \
    --location "global" \
    --keyring "test" \
    --key "quickstart" \
    --plaintext-file ./mysecret.txt \
    --ciphertext-file ./mysecret.txt.encrypted

O método encrypt salva o conteúdo criptografado no arquivo especificado pela sinalização --ciphertext-file.

Descriptografar texto

Para descriptografar os dados com gcloud kms decrypt, forneça as informações da chave, especifique o nome do arquivo a ser descriptografado e especifique o nome do arquivo com o conteúdo descriptografado:

gcloud kms decrypt \
    --location "global" \
    --keyring "test" \
    --key "quickstart" \
    --ciphertext-file ./mysecret.txt.encrypted \
    --plaintext-file ./mysecret.txt.decrypted

O método decrypt salva o conteúdo descriptografado no arquivo especificado pela sinalização --plaintext-file.

Para fazer isso, use a mesma chave com que o conteúdo foi criptografado.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

Liste as versões disponíveis para sua chave:

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

Para excluir uma versão, execute o seguinte comando, substituindo key-version pelo número da versão de chave a ser excluída:

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

A seguir