O Cloud Storage sempre criptografa seus dados do lado do servidor com uma chave gerenciada pelo Google antes de gravá-los em disco, sem custos adicionais. Como alternativa a esse método, é possível fornecer sua própria chave AES-256, codificada em Base64 padrão. Ela é conhecida como chave de criptografia fornecida pelo cliente.
Neste laboratório, você vai configurar as chaves de criptografia fornecidas pelo cliente (CSEK) para o Cloud Storage. Os arquivos serão carregados em um bucket de armazenamento. Em seguida, você vai gerar uma nova chave de criptografia e vai alternar as chaves CSEK.
O Cloud Storage não armazena sua chave permanentemente nos servidores do Google nem a gerencia de outra forma. Em vez disso, você fornece sua chave para cada operação do Cloud Storage e ela é removida dos servidores do Google após a conclusão da operação. O Cloud Storage armazena apenas um hash criptográfico da chave para que as solicitações futuras possam ser validadas em relação a ele.
Não é possível recuperar a chave com esse hash, e ele não pode ser usado para descriptografar seus dados.
Objetivos
Neste laboratório, você vai aprender a realizar as tarefas abaixo:
Configurar a CSEK para o Cloud Storage.
Utilizar a CSEK para criptografar arquivos no Cloud Storage.
Excluir arquivos locais do Cloud Storage e verificar a criptografia.
Alternar as chaves de criptografia sem fazer o download e novo upload dos dados.
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 que serão usados no laboratório.
Criar uma conta de serviço de IAM
Observação: neste laboratório, você vai iniciar uma VM no Compute Engine e executar a maior parte do trabalho nela. Uma conta de serviço será criada primeiro para fornecer à VM as permissões necessárias para realizar o laboratório.
No console do Google Cloud, selecione Menu de navegação > IAM e administrador > Contas de serviço.
Clique em Criar conta de serviço.
Especifique o Nome da conta de serviço como cseklab.
Clique em Criar e continuar.
Especifique o Papel como Cloud Storage > Administrador de armazenamento.
Clique em Continuar.
Clique em Concluído.
Criar uma VM do Compute Engine
No console do Cloud, acesse Menu de navegação > Compute Engine > Instâncias de VM. Clique em Criar instância.
Especifique os seguintes valores e não mude as outras configurações:
Nome:cseklab-vm
Região:
Zona:
Série:E2
Tipo de máquina:e2-micro
Conta de serviço: a conta cseklab que acabou de ser criada
Escopos de acesso: selecione Definir acesso para cada API em Armazenamento e selecione Completo no menu suspenso.
Clique em Criar.
Depois que a VM for iniciada, clique no botão SSH para se conectar à VM.
Criar um bucket do Cloud Storage
Observação: os buckets precisam ter um nome que seja exclusivo globalmente. Neste laboratório, você vai usar o ID do projeto do Google Cloud como parte do nome do bucket para ajudar a garantir a exclusividade. O ID do projeto do Google Cloud pode ser copiado do painel Detalhes da conexão no Qwiklabs.
No terminal SSH conectado a cseklab-vm, execute este comando para criar uma variável de ambiente e armazenar o nome do seu bucket:
export BUCKET_NAME=[INSIRA O ID_DO_PROJETO_DO_Google_Cloud AQUI]-csek
Digite o seguinte comando para criar o bucket:
gsutil mb -l us gs://$BUCKET_NAME
Selecione Verificar meu progresso para conferir o objetivo.
Configure os recursos necessários.
Fazer o download de um arquivo de amostra usando CURL e fazer duas cópias
Use o comando a seguir para fazer o download de um arquivo de amostra (neste caso, um arquivo HTML público da documentação do Hadoop). Esse arquivo será copiado para o bucket de armazenamento do laboratório:
Tarefa 2: configurar chaves de criptografia fornecidas pelo cliente
Nesta tarefa, você vai gerar uma chave CSEK, fazer upload do arquivo para o console do Cloud e excluir a cópia local.
Gerar uma chave CSEK
Observação: cabe a você gerar e gerenciar suas chaves de criptografia fornecidas pelo cliente. É necessário fornecer ao Cloud Storage uma chave que seja uma string de 256 bits codificada em base64 padrão do RFC 4648 (link em inglês). Neste laboratório, você vai gerar uma chave com um número aleatório.
No terminal SSH cseklab-vm, execute este comando para criar uma chave:
Copie o valor da chave gerada. Você vai precisar dele para uma etapa posterior.
Modificar o arquivo .boto
Observação: os controles de criptografia estão em um arquivo de configuração gsutil chamado .boto.
Execute o seguinte comando no terminal SSH para verificar se o arquivo .boto existe:
ls -al
Se você não encontrar um arquivo .boto, execute os seguintes comandos para a geração e listagem dele:
gsutil config -n
ls -al
Para editar o arquivo .boto, execute o seguinte comando:
nano .boto
Dentro do arquivo .boto, localize a linha com "#encryption_key=". Para pesquisar no Nano, clique no teclado do canto superior direito da janela SSH, selecione Ctrl+W e digite #encrypt.
Retire o caractere # para remover a marca de comentário da linha encryption_key e cole a chave que você gerou anteriormente.
Volte para o console do Cloud e exiba o conteúdo do bucket de armazenamento selecionando Menu de navegação > Cloud Storage. Depois, clique no bucket.
Observação: os arquivos setup.html e setup2.html indicam que foram criptografados pelo cliente.
Selecione Verificar meu progresso para conferir o objetivo.
Como configurar chaves de criptografia fornecidas pelo cliente
Excluir um arquivo local, copiar do Cloud Storage e verificar a criptografia
Exclua o arquivo setup.html local e execute este comando:
rm setup.html
Para copiar o arquivo de volta do bucket, execute este comando:
gsutil cp gs://$BUCKET_NAME/setup.html ./
Execute o seguinte comando para exibir o arquivo e saber se ele retornou:
cat setup.html
Tarefa 3: alternar as chaves CSEK
Nesta tarefa, você vai alternar as chaves CSEK. Para isso, mude o valor de configuração encryption_key para decryption_key e, em seguida, use um novo valor para encryption_key.
Em seguida, use o comando de regravação para alternar as chaves na nuvem sem fazer o download e upload dos dados novamente.
Gerar outra chave CSEK e a adicionar ao arquivo boto
No terminal SSH, execute o seguinte comando para gerar uma chave nova:
Também é possível excluir completamente do arquivo a linha encryption_key original convertida em comentário.
Pressione Ctrl+X para sair, Y para salvar o arquivo e Enter para confirmar o nome do arquivo.
Criptografar um arquivo com a chave nova e descriptografar um arquivo com a antiga
Faça upload de um arquivo novo no bucket. Esse arquivo será criptografado com a chave nova:
gsutil cp setup3.html gs://$BUCKET_NAME
Observação: neste ponto, setup.html e setup2.html são criptografados com a chave original, e setup3.html é criptografado com a chave nova.
Exclua os arquivos locais setup2.html e setup3.html com os seguintes comandos:
rm setup2.html
rm setup3.html
Para copiar os arquivos de volta do bucket de armazenamento, execute os seguintes comandos:
Exiba o arquivo criptografado para saber se eles retornaram com os seguintes comandos:
cat setup2.html
cat setup3.html
Observação: este laboratório demonstra como é possível gerar chaves novas para dados novos, mas arquivos criptografados com chaves mais antigas ainda podem ser descriptografados.
Reescrever a chave do arquivo 1 e converter em comentário a antiga chave de descriptografia
Reescrever um arquivo criptografado faz com que ele seja descriptografado com a decryption_key1 que você definiu anteriormente e o criptografa com a nova encryption_key.
Execute este comando para reescrever setup.html.
gsutil rewrite -k gs://$BUCKET_NAME/setup.html
Observação: neste ponto, setup.html foi reescrito com a nova chave de criptografia, e setup3.html também está criptografado com a chave nova. O arquivo setup2.html ainda está criptografado com a chave original. Assim, é possível notar o que vai acontecer se as chaves não forem alternadas corretamente.
Abra o arquivo boto com o seguinte comando:
nano .boto
Adicione novamente o caractere # à linha decryption_key1 atual para convertê-la em comentário.
Pressione Ctrl+X para sair, Y para salvar o arquivo e Enter para confirmar o nome do arquivo.
Exclua os três arquivos locais com o seguinte comando:
rm setup*.html
Faça o download de setup.html e setup3.html (ambos criptografados com a chave nova) com os seguintes comandos:
Exiba os arquivos criptografados para saber se eles retornaram pelo processo com os seguintes comandos:
cat setup.html
cat setup3.html
Tente fazer o download de setup2.html (criptografado com a chave original) com o seguinte comando:
gsutil cp gs://$BUCKET_NAME/setup2.html ./
Observação: o que aconteceu? setup2.html não foi reescrito com a chave nova. Por isso, não pode mais ser descriptografado, e a cópia falhou.
As chaves CSEK foram alternadas.
Parabéns!
Neste laboratório, você:
Configurou CSEKs para o Cloud Storage.
Usou CSEKs para criptografar arquivos no Cloud Storage.
Excluiu arquivos locais do Cloud Storage e verificou a criptografia.
Alternou as chaves de criptografia sem fazer o download e novo upload dos dados.
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 2020 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.
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 fornecidas pelo cliente com o Cloud Storage
Duração:
Configuração: 0 minutos
·
Tempo de acesso: 60 minutos
·
Tempo para conclusão: 60 minutos