Com o Cloud Key Management Service (Cloud KMS), é possível gerenciar chaves de criptografia no Google Cloud. Essas chaves são criadas pelo Cloud KMS e gerenciadas por você da mesma forma que você as gerenciaria no local.
Com o Cloud KMS, é possível gerar, usar, alternar e destruir chaves de criptografia simétrica AES256 para uso direto por todos os seus serviços do Cloud.
Neste laboratório, você vai usar o Cloud KMS para criar keyrings e CryptoKeys e depois usá-las com o Cloud Storage para definir chaves padrão em buckets e criptografar objetos individuais com uma chave do Cloud KMS.
Além disso, você vai realizar criptografia manualmente do lado do servidor com as chaves do Cloud KMS e fazer o upload dos dados criptografados para o Cloud Storage.
As permissões do Cloud KMS serão gerenciadas com o IAM, e os Registros de auditoria do Cloud serão usados para acessar todas as atividades de CryptoKeys e keyrings.
Objetivos
Neste laboratório, você vai aprender a:
Gerenciar chaves e dados criptografados usando o Cloud KMS.
Criar keyrings e CryptoKeys.
Definir a chave de criptografia padrão de um bucket do Storage.
Criptografar um objeto com uma chave do Cloud KMS.
Alternar as chaves de criptografia.
Realizar manualmente criptografia do lado do servidor com as chaves do Cloud KMS.
Configuração e requisitos
Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.
Faça login no Qwiklabs em uma janela anônima.
Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.
Quando tudo estiver pronto, clique em Começar o laboratório.
Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.
Clique em Abrir Console do Google.
Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.
Aceite os termos e pule a página de recursos de recuperação.
Tarefa 1: configurar os recursos necessários
Nesta tarefa, você vai configurar os recursos necessários para o laboratório.
Crie um bucket do Cloud Storage
Observação: um bucket precisa ter um nome exclusivo em nível global. Neste laboratório, você vai usar o ID do projeto do Google Cloud como parte do nome do bucket para garantir que ele seja exclusivo. Esse ID é automaticamente armazenado em uma variável de ambiente do Cloud Shell chamada DEVSHELL_PROJECT_ID.
Na barra de título do console do Google Cloud, clique em Ativar o Cloud Shell (). Caso solicitado, clique em Continuar.
Observação: antes de usar o Cloud KMS, ele precisa ser ativado no seu projeto. O Cloud KMS já está ativado no projeto do Google Cloud do Qwiklabs provisionado para você. Por via das dúvidas, você vai emitir o comando para ativá-lo.
Execute o seguinte comando no Cloud Shell para ativar o Cloud KMS:
gcloud services enable cloudkms.googleapis.com
Clique em Verificar meu progresso para conferir o objetivo.
Criar um bucket do Cloud Storage
Tarefa 2: usar o Cloud KMS
Nesta tarefa, você vai usar o Cloud KMS para criar um keyring e uma CryptoKey.
Crie um keyring e uma CryptoKey
Observação: para criptografar os dados, você precisa criar um keyring e uma CryptoKey. Keyrings são úteis para agrupar chaves. As chaves podem ser agrupadas por ambiente, como teste, preparo e produção, ou por outros conceitos. Neste laboratório, o keyring será chamado de test e a CryptoKey será chamada de labkey.
No Cloud Shell, execute os comandos a seguir para criar variáveis para manter o nome do keyring e o da CryptoKey.
O keyring e as chaves podem ser conferidos no console do Google Cloud.
No menu de navegação () do console, clique em Segurança > Gerenciamento de chaves.
Repare que há um keyring chamado lab-keyring.
Encontre as chaves de criptografia labkey-1 e labkey-2 clicando no keyring lab-keyring.
Clique em Verificar meu progresso para conferir o objetivo.
Criar um keyring e uma Cryptokey
Tarefa 3: adicionar uma chave padrão a um bucket
Nesta tarefa, você vai adicionar uma chave padrão ao bucket.
Confira a chave padrão de um bucket
Execute o comando a seguir para conferir a chave de criptografia padrão do seu bucket:
gsutil kms encryption gs://$DEVSHELL_PROJECT_ID-kms
Observação: o bucket não tem uma chave de criptografia padrão, ou seja, todos os dados dele serão criptografados com chaves gerenciadas pelo Google.
Atribua as chaves do Cloud KMS a uma conta de serviço
Execute os comandos a seguir para dar à sua conta de serviço do Cloud Storage permissão para usar suas duas chaves do Cloud KMS:
Uma chave do Cloud KMS pode ser definida como a chave padrão quando objetos são gravados em um bucket.
Ao definir a chave padrão, o recurso da chave precisa ser especificado no mesmo formato que o comando anterior:
projects/[PROJECT_STORING_KEYS]/locations/[LOCATION]/keyRings/ [KEY_RING_NAME]/cryptoKeys/[KEY_NAME].
Execute o comando abaixo para definir a chave padrão do seu bucket como a primeira chave que você gerou:
No console do Google Cloud, acesse o menu de navegação (), clique em Cloud Storage > Buckets e depois no seu bucket para este laboratório.
Você vai perceber que o arquivo 1 foi criptografado com uma chave gerenciada pelo Google e o arquivo 2 com uma chave gerenciada pelo cliente.
Clique em Verificar meu progresso para conferir o objetivo.
Adicionar uma chave padrão ao bucket
Tarefa 4: criptografar objetos individuais com uma chave do Cloud KMS
Nesta tarefa, você vai criptografar um objeto individual com uma chave do Cloud KMS. Isso é útil se você quiser usar uma chave diferente daquela definida como padrão no bucket ou se não houver uma chave padrão. Para isso, você deve aprovar a chave a ser usada em cada comando gsutil com a flag -o: -o "GSUtil:encryption_key=[KEY_RESOURCE]"
Execute o comando a seguir para copiar o arquivo file3.txt para o bucket, criptografando-o com sua segunda chave de criptografia:
No console do Google Cloud, atualize a tela Detalhes do bucket. O arquivo file3.txt também estará criptografado com uma chave gerenciada pelo cliente.
Identifique a chave usada para criptografar um objeto
Confira a coluna de criptografia no console do Cloud. Ela mostra o tipo de chave usado: gerenciada pelo Google ou pelo cliente. Detalhes sobre a chave podem ser acessados se você passar o cursor sobre ela. Também é possível verificar esses detalhes usando o gsutil, o que será feito na próxima etapa.
Execute o seguinte comando para mostrar os detalhes de um objeto (a opção -L faz com que o gsutil ls exiba todos os detalhes do arquivo):
gsutil ls -L gs://$DEVSHELL_PROJECT_ID-kms/file3.txt
Nas informações retornadas, encontre a linha da chave do KMS.
Ela mostra a chave de criptografia em uso pelo arquivo.
Execute o comando anterior outra vez para os arquivos file1.txt e file2.txt.
Clique em Verificar meu progresso para conferir o objetivo.
Criptografar objetos individuais com uma chave do Cloud KMS
Tarefa 5: realizar a rotação de chaves
Nesta tarefa, você vai realizar as rotações automática e manual das chaves.
Observação: no Cloud KMS, para acionar a rotação de chaves; gere uma nova versão de uma chave e marque-a como a versão primária. Todas as chaves têm uma versão principal designada em algum momento, que é usada pelo Cloud KMS para criptografar dados. Depois de fazer a rotação de uma chave, as versões anteriores, que já não são principais, não serão desativadas nem destruídas e vão continuar disponíveis para a descriptografia de dados.
Faça a rotação automática das chaves
Observação: ao prover uma programação de rotação, o Cloud KMS automaticamente faz a rotação das chaves para você. Use a ferramenta de linha de comando gcloud ou o console do Google Cloud para configurar uma programação de rotação de chaves.
No menu de navegação () do console do Google Cloud, clique em Segurança > Gerenciamento de chaves e depois no keyring chamado lab-keyring para acessar suas chaves de criptografia labkey-1 e labkey-2.
Observação: se você não encontrar lab-keyring, clique em Atualizar.
Clique na chave chamada labkey-1 para conferir todas as versões.
Atualmente, você só tem uma.
Clique no botão Editar período de rotação.
Defina o menu suspenso do período de rotação para 30 dias.
O período de rotação também pode ser definido como um período personalizado que permite especificar qualquer período.
Clique em Salvar.
O console agora exibe a próxima data de rotação da chave.
Faça a rotação manual das chaves
Observação: também é possível fazer a rotação manualmente com a ferramenta de linha de comando gcloud ou pelo console do Google Cloud.
No console, volte ao keyring chamado lab-keyring e clique na chave chamada labkey-2 para conferir todas as versões.
Clique no botão Alternar chave e em Alternar.
Agora você tem suas versões da chave, sendo version 2 a primária.
Observação: quando você usa os comandos de rotação de chaves mostrados acima, a rotação NÃO faz outra criptografia dos dados já criptografados com a nova versão de chave gerada. Se você suspeitar de uso não autorizado de uma chave, criptografe os dados protegidos por ela novamente e depois desative ou programe a destruição da versão de chave anterior.
Destrua as chaves antigas
Observação: se você destruir uma chave que criptografa objetos atuais, não será possível recuperar os dados, mas você vai continuar recebendo cobranças pelo armazenamento dos objetos até que eles sejam excluídos.
Nessa parte, você não vai destruir uma chave, mas apenas entender o processo de exclusão.
Na tela de versões labkey-2, clique nos três pontos verticais à direita da linha da version 1 da chave e selecione Destruir.
Confira a mensagem que aparece em Programar destruição da versão 1 da chave e clique em Cancelar quando acabar.
Você usou as chaves do Cloud KMS com êxito para criptografar dados no Cloud Storage.
Clique em Verificar meu progresso para conferir o objetivo.
Rotação de chaves
Tarefa bônus: criptografar dados com a API REST
O serviço do Cloud KMS também oferece uma API REST para realizar criptografia e descriptografia. O conteúdo que será criptografado é especificado como parte de um documento JSON na solicitação REST e precisa ser codificado usando Base64. Esse documento JSON tem esta forma:
{"plaintext":"Base64 encoded data to encrypt"}.
Na seção bônus do laboratório, você vai invocar manualmente a API REST usando comandos curl para demonstrar a capacidade da API.
Esta seção pressupõe que você ainda está com a sessão do Cloud Shell aberta e com as variáveis de ambiente a seguir definidas:
KEYRING_NAME
CRYPTOKEY_1_NAME
CRYPTOKEY_2_NAME.
Se essas variáveis não estiverem definidas, volte ao laboratório anterior e execute os comandos para criá-las.
Execute o comando a seguir para codificar alguns textos de exemplo como base64 e armazená-los em uma variável chamada PLAIN_TEXT:
PLAIN_TEXT=$(echo -n "Some text to be encrypted" | base64)
Repita a variável PLAIN_TEXT para verificar se o texto foi codificado:
echo $PLAIN_TEXT
O texto codificado em base64 vai aparecer.
Use a API REST para criptografar o texto codificado chamando o método encrypt da sua chave.
Preencha o campo de texto simples do JSON da sua solicitação com o conteúdo codificado em Base64:
A resposta será um payload JSON que contém o texto no campo de texto criptografado.
Observação: o texto criptografado pode ser facilmente extraído da resposta JSON e salvo em um arquivo usando o utilitário jq da linha de comando. A resposta da chamada anterior pode ser canalizada para jq, que pode analisar a propriedade de texto criptografado e salvar em data1.encrypted.
Execute o comando abaixo que repete a criptografia, mas dessa vez analisa a propriedade de texto criptografado e a salva no arquivo data1.encrypted:
Acesse o conteúdo do arquivo data1.encrypted com o seguinte comando:
more data1.encrypted
Observação: o texto criptografado pode ser descriptografado chamando o método "decrypt" da sua chave. É preciso usar a mesma chave usada para criptografar o conteúdo.
Execute o comando a seguir para descriptografar o conteúdo no arquivo data1.encrypted e salvá-lo no arquivo chamado data1.decrypted:
Acesse o conteúdo do arquivo data1.decrypted com o seguinte comando:
more data1.decrypted
Você aprendeu a usar as chaves do Cloud KMS corretamente.
Parabéns!
Neste laboratório, você:
Gerenciou chaves e dados criptografados usando o Cloud KMS.
Criou keyrings e CryptoKeys.
Definiu a chave de criptografia padrão de um bucket do Storage.
Criptografou um objeto com uma chave do Cloud KMS.
Fez a rotação de chaves de criptografia.
Realizou a criptografia manual no lado do servidor com as chaves do Cloud KMS.
Finalize o laboratório
Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.
Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.
O número de estrelas indica o seguinte:
1 estrela = muito insatisfeito
2 estrelas = insatisfeito
3 estrelas = neutro
4 estrelas = satisfeito
5 estrelas = muito satisfeito
Feche a caixa de diálogo se não quiser enviar feedback.
Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.
Copyright 2025 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das empresas a que estão associados.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
Um laboratório por vez
Confirme para encerrar todos os laboratórios atuais e iniciar este
Use a navegação anônima para executar o laboratório
Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
Como usar chaves de criptografia gerenciadas pelo cliente com o Cloud Storage e o Cloud KMS
Duração:
Configuração: 0 minutos
·
Tempo de acesso: 90 minutos
·
Tempo para conclusão: 90 minutos