Garantir a segurança dos dados é uma prioridade máxima para qualquer organização, e a criptografia é uma das formas mais eficazes de proteger os dados. Mas como exatamente? A Google Cloud Platform (GCP) fornece um serviço de gerenciamento de chaves chamado Google Key Management Service (KMS), que permite criar e gerenciar rapidamente chaves de criptografia.
Neste tutorial, você aprenderá como criar e usar uma chave no GCP KMS. Você também passará por alguns conceitos importantes relacionados ao gerenciamento de chaves, como chaves, anéis de chave e versões de chave.
Pronto? Continue lendo e leve a segurança dos seus dados para o próximo nível!
Pré-requisitos
Este tutorial será uma demonstração prática. Para acompanhar, certifique-se de ter uma conta GCP com faturamento ativo, mas um teste gratuito seria suficiente.
A Google Cloud Project is a collection of resources you create and manage in GCP. Note that you should create separate projects for each of your applications. Doing so lets you efficiently manage the resources for each application. In the end, you can delete all the resources associated with a project, which is helpful for clean-up.
Para criar um novo projeto no Google Cloud:
1. Abra seu navegador da web favorito e faça login no Console GCP. Assim como o console da AWS, o console GCP é uma interface baseada na web para gerenciar seus recursos no Google Cloud.
2. No seu console GCP, acesse a página Gerenciar recursos, onde você pode ver e gerenciar todos os seus projetos existentes.
3. Em seguida, clique no botão CRIAR PROJETO para criar um novo projeto.

Por fim, configure as seguintes configurações para o seu novo projeto e clique em CRIAR para criar o seu projeto.
- Nome do Projeto – Insira um nome para o seu projeto, que não precisa ser único e pode ser alterado posteriormente. A escolha deste tutorial para o nome do projeto é gcp-kms-demo.
- Localização – Selecione a organização ou pasta principal onde deseja criar este projeto. Seu projeto recém-criado será o pai superior. Mas você pode pular este campo se não tiver uma organização.
O campo de Localização pode não aparecer se você estiver usando uma conta de teste.

Se bem-sucedido, você verá seu projeto Google Cloud recém-criado listado, como mostrado abaixo.

Habilitando a API do Cloud KMS para o Projeto Google Cloud
Você acabou de criar seu primeiro Se bem-sucedido, você verá seu projeto Google Cloud recém-criado listado, como mostrado abaixo. projeto na nuvem e geralmente não pode deixá-lo desprotegido. Não se preocupe! A API do Cloud KMS é um conjunto de APIs de criptografia fornecidas pelo Google que você pode usar para proteger seus dados.
Para usar a API do Cloud KMS, você precisa ativá-la para o seu projeto:
1. Acesse a página do seletor de projetos do Google e selecione seu projeto Google Cloud (gcp-kms-demo).

2. Em seguida, vá para a página Habilitar acesso à API e clique em AVANÇAR para confirmar a ativação da API para o projeto selecionado.

3. Agora, clique em ATIVAR para habilitar a API do Cloud KMS.

Neste ponto, a API Cloud KMS está habilitada para o seu projeto. Agora você pode começar a usar a API Cloud KSM para criar e gerenciar chaves de criptografia.

Iniciando o Cloud Shell para Criar Chaves e Keyrings
Habilitar a API Cloud KMS prepara você para criar chaves e keyrings para criptografar e descriptografar seus dados. Chaves e keyrings são os conceitos fundamentais no Cloud KMS.
Key | A key is an encryption key stored in a keyring that you can use to encrypt and decrypt your data. Each key has a name, and the name must be unique within the keyring. You can use IAM ( Identity and Access Management) policies to control who has access to keys. |
Keyring | A keyring is a container in Cloud KMS that holds a set of keys. You can think of the keyring as a folder on your computer that contains many files. But in essence, a keyring holds a set of keys in a specific Cloud KMS location. |
Mas antes de criar chaves e keyrings, você primeiro tem que iniciar o Cloud Shell. O Cloud Shell é um shell interativo e gratuito que você pode usar para executar comandos na Google Cloud Platform sem instalar quaisquer ferramentas na sua máquina.
1. No Console do GCP, clique no botão Ativar Cloud Shell (canto superior direito), conforme mostrado abaixo, para iniciar o Cloud Shell.

A Cloud Shell session initializes, as shown below (at the bottom of the page), where you can run commands.

2. Em seguida, execute o seguinte comando gcloud Este prompt aparece na primeira vez que você executa o comando gcloud no Cloud Shell, pedindo para autorizar a ferramenta gcloud a acessar a API KSM.no Cloud Shell para criar um novo keyring (keyrings) chamado kms-demo-keyring na localização global.
–localização “global”
Quando solicitado, clique em AUTORIZAR para continuar executando o comando.

Esta solicitação aparece pela primeira vez quando você executa o comando gcloud no Cloud Shell, pedindo para autorizar a ferramenta gcloud a acessar a API KSM.

Como mostrado abaixo, não há mensagens de saída quando a chave é criada com sucesso.
Use as Chaves de Criptografia Como um Profissional com o AWS Key Management
Observe que a localização (global) deve ser a mesma que você definiu para o keyring.
–location “global” \
–keyring “kms-demo-keyring” \

–purpose “encryption”
Cada vez que você cria ou roda uma chave, o Cloud KMS cria uma nova versão da chave. Essa funcionalidade permite que você volte facilmente para uma versão anterior, se necessário.
PURPOSE | ENCRYPT_DECRYPT | Indicates the purpose of the key (encryption and decryption). |
ALGORITHM | GOOGLE_SYMMETRIC_ENCRYPTION | Indicates the key uses Google Symmetric Encryption, the default algorithm for Cloud KMS keys. |
PROTECTION_LEVEL | SOFTWARE | Indicates the key is software-protected. |
LABELS | You can add labels to keys to categorize them or to add additional information. | |
PRIMARY ID | 1 | Indicates the key is the primary key for the keyring, which is what Cloud KMS uses by default when you do not specify a key.
Note that you can have only one primary key per keyring. |
PRIMARY STATE | ENABLED | Shows the current status of the key. The ENABLED state indicates the key can be used for its specified purpose. |

Assim como ao criar um keyring, não há mensagens de saída quando a chave é criada com sucesso.
Mas neste ponto, você tem um keyring e uma chave que pode usar para criptografar e descriptografar seus dados.
4. Agora, execute o seguinte comando para listar as chaves em um –keyring (kms-demo-keyring)
Você verá uma saída semelhante à captura de tela abaixo com informações da seguinte forma:
Criptografando e Descriptografando Dados com GCP KMS

1. Execute o comando abaixo, que não fornece saída, mas cria um arquivo de texto (gcp-kms-demo.txt) com alguns textos para criptografar.
2. Em seguida, execute cada comando abaixo para listar (ls) o arquivo de texto (gcp-kms-demo.txt) e visualizar (cat) seu conteúdo para verificar os dados.

# Listar o arquivo de texto
# Visualizar o conteúdo do arquivo de texto
3. Uma vez verificado, execute o comando abaixo para criptografar os dados em seu arquivo (gcp-kms-demo.txt) usando sua chave (kms-demo-key01). Os dados criptografados serão então armazenados em um novo arquivo chamado gcp-kms-demo.txt.encrypted.

–location “global” \
–keyring “kms-demo-keyring” \

–key “kms-demo-key01” \
–plaintext-file ./gcp-kms-demo.txt \

–ciphertext-file ./gcp-kms-demo.txt.encrypted
4. Agora, execute o seguinte comando para tentar visualizar os dados do arquivo criptografado (gcp-kms-demo.txt.encrypted).
Você verá símbolos quebrados, estranhos e ilegíveis, como mostrado abaixo. Esta saída indica que o arquivo foi criptografado com sucesso.
Você precisa armazenar este arquivo criptografado em um local seguro. Por exemplo, você pode armazenar várias cópias no AWS S3, GCP Cloud Storage ou Azure Blob Storage. O Google Cloud não salva a versão em texto simples dos seus dados. Portanto, se você perder o arquivo criptografado, descriptografar o arquivo para recuperar os dados originais é impossível.

Como Fazer Upload de Arquivo no S3 com o AWS CLI
5. Uma vez criptografado, execute o comando abaixo para descriptografar seus dados (gcp-kms-demo.txt.encrypted) usando a mesma chave (kms-demo-key01). Mas desta vez, os dados descriptografados são armazenados em um novo arquivo chamado gcp-kms-demo.txt.decrypted.
Assim como na criptografia, este comando não fornece saída, mas você verificará a descriptografia na etapa seguinte.
–location “global” \
–keyring “kms-demo-keyring” \

–key “kms-demo-key01” \

–ciphertext-file ./gcp-kms-demo.txt.encrypted \
–plaintext-file ./gcp-kms-demo.txt.decrypted

6. Finalmente, execute o seguinte comando para visualizar (cat) o arquivo descriptografado (gcp-kms-demo.txt.decrypted) e verificar se os dados foram descriptografados com sucesso.
Abaixo, você pode ver os dados originais que foram salvos no arquivo de texto. Parabéns! Você criptografou e descriptografou os dados com sucesso usando o Google Cloud KMS.
Limpeza de Recursos do Google Cloud