Checkpoints
Create a Cloud Storage bucket.
/ 25
Create a Keyring and Crypto key.
/ 25
Encrypt Your Data with the Cloud KMS key and upload it on the storage bucket.
/ 25
Encrypt multiple files using KMS API and upload to cloud storage.
/ 25
Como começar a usar o Cloud KMS
- GSP079
- Visão geral
- Configuração e requisitos
- Tarefa 1: crie um bucket do Cloud Storage
- Tarefa 2: analise os dados
- Tarefa 3: ative o Cloud KMS
- Tarefa 4: crie um keyring e uma CryptoKey
- Tarefa 5: criptografe seus dados
- Tarefa 6: configure as permissões do IAM
- Tarefa 7: faça o backup dos dados na linha de comando
- Tarefa 8: confira os Registros de auditoria do Cloud
- Tarefa 9: teste seus conhecimentos
- Parabéns!
GSP079
Visão geral
Neste laboratório, você vai aprender a usar alguns recursos avançados das APIs de segurança e privacidade do Google Cloud, como:
- configuração de um bucket seguro do Cloud Storage;
- gerenciamento de chaves e dados criptografados com o Cloud Key Management Service;
- visualização de registros de auditoria do Cloud Storage.
Você vai criptografar dados do Enron Corpus e carregá-los no Cloud Storage.
Conteúdo
- Como criptografar dados e gerenciar chaves de criptografia usando o Cloud Key Management Service (KMS).
Configuração e requisitos
Antes de clicar no botão Start Lab
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta. -
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}} Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}} Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais. -
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Ativar o Cloud Shell
O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
- Clique em Ativar o Cloud Shell
na parte de cima do console do Google Cloud.
Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
-
Clique em Autorizar.
-
A saída será parecida com esta:
Saída:
- (Opcional) É possível listar o ID do projeto usando este comando:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
Tarefa 1: crie um bucket do Cloud Storage
Para armazenar os dados deste laboratório, você precisa criar seu próprio bucket do Cloud Storage.
- Escolha um nome para o bucket do Cloud Storage, como
-enron_corpus. Para mais informações sobre como nomear esses elementos, consulte as diretrizes de nomenclatura de buckets do Cloud Storage. Configure uma variável para o nome do bucket executando o seguinte comando no Cloud Shell:
- Agora crie o bucket executando o seguinte comando:
A execução desse comando também ajuda a verificar se você configurou corretamente o cliente da linha de comando gsutil
, se a autenticação está funcionando e se você tem acesso de gravação ao projeto de nuvem em que está operando.
- Depois de criar o bucket, siga para a próxima etapa e faça o download do Enron Corpus.
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 2: analise os dados
O Enron Corpus é um grande banco de dados com mais de 600 mil e-mails gerados por 158 funcionários da Enron Corporation. Esses dados foram copiados para o bucket do Cloud Storage gs://enron_emails/
.
- Use o comando a seguir para salvar localmente um dos arquivos de origem e conferir a aparência dele.
- Agora use
tail
no arquivo salvo para verificar se o texto do e-mail está lá:
Você vai receber esta saída:
Isso deverá mostrar o conteúdo de um arquivo de e-mail de texto sem formatação. Há dois tipos de arquivos interessantes para você: de imagem e de mensagem de texto simples. Caso tenha interesse, use o mesmo mecanismo para verificar o que há nesses outros arquivos.
Tarefa 3: ative o Cloud KMS
O Cloud KMS é um serviço de gerenciamento de chaves criptográficas no Google Cloud. Antes de usar o KMS, você precisa ativá-lo no seu projeto. O KMS já está ativado neste laboratório provisionado para você. Verifique isso usando um dos comandos da CLI gcloud
.
- Execute o seguinte comando na sessão do Cloud Shell:
Você não deve ter recebido nenhuma resposta. Agora o Cloud KMS está ativado no seu projeto.
Tarefa 4: crie um keyring e uma CryptoKey
Para criptografar os dados, é preciso 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 algum outro agrupamento conceitual. Neste laboratório, o keyring será chamado de test
e a CryptoKey será chamada de qwiklab
.
- Execute o seguinte comando no Cloud Shell para configurar variáveis de ambiente:
- Execute o comando
gcloud
para criar o keyring. Neste laboratório, você vai usar uma localização global, mas também é possível definir uma região específica:
- Em seguida, usando o novo keyring, crie uma CryptoKey chamada
qwiklab
:
Nenhuma resposta deve aparecer. Pronto! Você criou um keyring e uma CryptoKey.
- Abra o Gerenciamento de chaves no console ao acessar o Menu de navegação > Segurança > Gerenciamento de chaves.
A interface da Web do Gerenciamento de chaves permite conferir e gerenciar as CryptoKeys e os keyrings. Você usará essa interface mais tarde, quando gerenciar permissões.
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 5: criptografe seus dados
Em seguida, tente criptografar alguns dados.
- Use o conteúdo do e-mail que você verificou anteriormente e codifique-o em
base64
com o seguinte comando:
Ao usar o endpoint de criptografia, você pode enviar o texto codificado em base64 que quer criptografar para a chave especificada.
- Execute o comando a seguir:
encrypt
sempre vai retornar um resultado diferente, mesmo que você use textos e chaves iguais.
A resposta será um payload JSON que contém o texto criptografado no atributo ciphertext
.
- Agora que seus dados foram criptografados, é possível salvá-los em um arquivo e enviá-los para o bucket do Cloud Storage. Para extrair o texto criptografado da resposta JSON e salvá-lo em um arquivo, use o utilitário de linha de comando jq. É possível enviar a resposta da chamada anterior para o jq, que pode analisar a propriedade
ciphertext
do arquivo1.encrypted
. Execute o comando a seguir:
- Para verificar se é possível descriptografar os dados, chame o endpoint
decrypt
e confira se o texto descriptografado corresponde ao do e-mail original. Os dados criptografados têm informações sobre qual versão da cryptokey foi usada para criptografá-los. Portanto, a versão específica nunca é fornecida ao endpoint de descriptografia. Execute o comando a seguir:
- Agora que você verificou que o texto foi criptografado com sucesso, faça o upload do arquivo criptografado para o bucket do Cloud Storage:
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 6: configure as permissões do IAM
No KMS, há duas permissões principais que são as mais importantes. Uma permite que um usuário ou conta de serviço gerencie recursos do KMS, outra permite que um usuário ou conta de serviço use chaves para criptografar e descriptografar dados.
A permissão para gerenciar chaves é a cloudkms.admin
. Com ela, qualquer pessoa pode criar keyrings, além de criar, modificar, desativar e destruir cryptokeys. A permissão para criptografar e descriptografar é a cloudkms.cryptoKeyEncrypterDecrypter
, que é usada para chamar os endpoints da API de criptografia e descriptografia.
Neste exercício, você atribuirá permissões de IAM por meio do usuário autorizado atual.
- Para conferir quem é esse usuário, execute o seguinte comando:
- Em seguida, atribua a esse usuário a capacidade de gerenciar recursos do KMS. Atribua ao IAM a permissão para gerenciar o keyring que você acabou de criar usando o seguinte comando
gcloud
:
As CryptoKeys pertencem aos keyrings, que, por sua vez, pertencem aos projetos. Portanto, um usuário com um papel ou uma permissão específica em um nível mais alto nessa hierarquia herda as mesmas permissões nos recursos filhos. Ou seja, um usuário com o papel de proprietário em um projeto também é proprietário em todos os keyrings e cryptokeys dentro do projeto. Da mesma maneira, um usuário com o papel cloudkms.admin
em um keyring tem as mesmas permissões associadas nas cryptokeys desse keyring.
Sem a permissão cloudkms.cryptoKeyEncrypterDecrypter
, o usuário autorizado não poderá usar as chaves para criptografar ou descriptografar dados.
- Execute o seguinte comando do
gcloud
para atribuir a permissão do IAM para criptografar e descriptografar dados de qualquer CryptoKey no keyring criado:
Agora é possível conferir as permissões atribuídas na seção "Chaves criptográficas" do Gerenciamento de chaves.
- Marque a caixa ao lado do nome do keyring (
test
) e clique em Principais no painel de informações à direita.
Você vai conferir um menu com as contas e permissões do keyring que acabou de adicionar.
Tarefa 7: faça o backup dos dados na linha de comando
Agora que você sabe como criptografar um único arquivo e tem permissão para fazer isso, é possível executar um script para fazer backup de todos os arquivos em um diretório. Neste exemplo, copie todos os e-mails de allen-p, criptografe-os e faça o upload deles para um bucket do Cloud Storage.
- Primeiro, copie todos os e-mails de allen-p para seu diretório de trabalho atual:
- Agora copie e cole o seguinte comando no Cloud Shell para fazer backup e criptografar todos os arquivos do diretório allen-p para o bucket do Cloud Storage:
Esse script passa por todos os arquivos em um determinado diretório, os criptografa com a API KMS e os envia ao Cloud Storage.
Clique em Verificar meu progresso para conferir o objetivo.
Depois que o script for concluído, será possível conferir os arquivos criptografados ao clicar em "Storage" no menu à esquerda do console.
- Para encontrar os arquivos, acesse o Menu de navegação > Cloud Storage > Buckets > YOUR_BUCKET > allen-p > inbox. Você vai conferir algo parecido com:
Tarefa 8: confira os Registros de auditoria do Cloud
Os Registros de auditoria do Cloud têm dois fluxos de registro: "Atividade do administrador" e "Acesso aos dados". Eles são gerados pelos serviços do Google Cloud para ajudar você a saber quem fez o quê, onde e quando nos seus projetos do Google Cloud.
- Para conferir a atividade de qualquer recurso no KMS, acesse o Menu de navegação > Visão geral do Cloud > guia "Atividade". Isso abre a interface de atividade do Cloud. Depois, clique em Acessar a Análise de registros e selecione Cloud KMS Key Ring como
Tipo de recurso
. Você vai conferir a criação do keyring e todas as alterações feitas nele.
Você criptografou dados e fez upload deles com o KMS e o Cloud Storage.
O que vimos
- Como usar o IAM para gerenciar permissões do KMS
- Como usar o KMS para criptografar dados
- Como usar o Cloud Storage para armazenar dados criptografados
- Como usar os Registros de auditoria do Cloud para conferir todas as atividades de CryptoKeys e keyrings
Tarefa 9: teste seus conhecimentos
Faça nosso teste para avaliar seus conhecimentos sobre o Cloud KMS.
Parabéns!
Você aprendeu a criptografar dados e gerenciar chaves de criptografia usando o Cloud Key Management Service (KMS).
Próximas etapas / Saiba mais
- Saiba mais sobre como fazer a rotação das chaves de criptografia.
- Leia sobre criptografia de envelope.
- Confira as opções de criptografia de dados.
Manual atualizado em 15 de abril de 2024
Laboratório testado em 31 de agosto de 2023
Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.