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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Cloud KMS API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Cloud KMS API.
- Install the Google Cloud CLI.
-
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
- Comece a usar a API.
- Confira a Referência da API.
- Saiba mais sobre como criptografar dados em repouso.