Configurar chaves de criptografia para um servidor

É possível configurar chaves de criptografia para criptografar as senhas do servidor. Essas chaves são chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) que podem ser gerenciadas com o Cloud Key Management Service (Cloud KMS). Você pode defini-las ao provisionar um novo servidor ou ao a restauração da imagem de um existente. É possível usar uma chave de criptografia com vários servidores.

O uso de uma chave de criptografia é opcional. Mas, depois de configurar uma chave de criptografia, você precisa usá-lo. Não é possível mudar essa configuração. No entanto, é possível alterar chave ou a versão dela.

Esse recurso está disponível apenas para o SOs Linux compatíveis com a Solução Bare Metal

Antes de começar

  1. Usando o Cloud KMS, crie uma chave de criptografia.

    Para criar uma chave de criptografia, siga estas etapas:

    1. No projeto em que você quer criar a chave, Ative a API Cloud KMS.

      Faça isso apenas uma vez por projeto.

    2. Atribua os papéis a seguir à conta de serviço da Solução Bare Metal. Faça isso apenas uma vez por projeto.

      • roles/cloudkms.viewer: verifique se o CryptoKeyVersion está disponível para uso.
      • roles/cloudkms.publicKeyViewer: extrai uma chave pública.

      Para saber como conceder um papel, consulte Como atribuir papéis em um recurso.

      Para atribuir esses papéis, use o comando gcloud projects add-iam-policy-binding.

      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.publicKeyViewer
      
      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.viewer
      

      Substitua:

      • KMS_PROJECT_ID: o projeto que contém o Chave do Cloud KMS
      • PROJECT_NUMBER: o projeto que contém o Servidor da Solução Bare Metal
    3. Crie uma chave de descriptografia assimétrica.

      É possível criar quantas chaves e versões forem necessárias.

Configurar chaves de criptografia ao provisionar um servidor

É possível configurar uma chave de criptografia para um novo servidor da Solução Bare Metal enquanto provisioná-lo usando o formulário de entrada do console do Google Cloud.

Para configurar uma chave de criptografia ao provisionar um servidor, consulte Use o formulário de entrada do console do Google Cloud para inserir suas seleções.

Configurar chaves de criptografia ao restaurar a imagem de um servidor

Para configurar chaves de criptografia durante a restauração da imagem de um servidor, consulte Alterar o SO de um servidor

Acessar chaves de criptografia e senhas de um servidor

Para visualizar as chaves de criptografia e as senhas de um servidor, siga estas etapas:

Console

  1. Acesse a página Servidores.

    Acessar servidores

  2. Clique no nome do servidor.

    Na página Detalhes do servidor, confira a chave de criptografia em Chave de criptografia de senha.

  3. Para acessar as contas de usuário e as senhas criptografadas correspondentes, acesse a seção Contas de usuário.

gcloud

Use o comando gcloud alpha bms instances auth-info:

gcloud alpha bms instances auth-info SERVER_NAME --project=PROJECT_ID --region=REGION

Substitua:

  • SERVER_NAME: o nome do servidor da Solução Bare Metal
  • PROJECT_ID: o ID do projeto
  • REGION: a região do servidor da Solução Bare Metal

Descriptografar uma senha

Para conseguir a senha bruta, siga estas etapas:

  1. Consiga o texto criptografado. Usar a gcloud alpha bms instances auth-info kubectl.

    gcloud alpha bms instances auth-info SERVER_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --format='value(userAccounts.USERNAME.ENCRYPTED_PASSWORD_FILE)' | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    Substitua:

    • SERVER_NAME: o nome do servidor da Solução Bare Metal
    • PROJECT_ID: o ID do projeto da Solução Bare Metal
    • REGION: o local do servidor da Solução Bare Metal
    • USERNAME: o nome de usuário da conta associada ao senha que você quer descriptografar. O valor é root ou customeradmin.
    • ENCRYPTED_PASSWORD_FILE: o arquivo em que você salvou o arquivo senha. Para evitar problemas com o formato da senha depois de copiá-la, Remova os espaços e os caracteres de nova linha ('\n').
    • CIPHERTEXT_FILE: o nome do arquivo de texto criptografado.

    Exemplo:

    gcloud alpha bms instances auth-info my-instance \
    --region=europe-west3 \
    --project=project-testing \
    --format='value(userAccounts.customeradmin.encryptedPassword)' | tr -d ' \n' | base64 -d > ciphertext
    

    Para conseguir o texto criptografado da senha copiada do console do Google Cloud, use este comando:

    cat ENCRYPTED_PASSWORD_FILE | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    Substitua:

    • ENCRYPTED_PASSWORD_FILE: o arquivo em que você salvou o senha criptografada. Para evitar problemas com o formato da senha após copie-o, remova os espaços e os caracteres de nova linha ('\n').
    • CIPHERTEXT_FILE: o nome do arquivo de texto criptografado.

    Exemplo:

    cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
    
  2. Descriptografe a senha. Siga as etapas em Descriptografar dados.

A seguir