Criar chaves de criptografia com o Cloud KMS

Neste guia de início rápido, mostramos 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 keyrings, chaves e versões de chave 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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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