Configurar chaves de criptografia para um servidor

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

O uso de uma chave de criptografia é opcional. No entanto, depois de configurar uma chave de criptografia, será necessário usá-la. Não é possível mudar essa configuração. No entanto, é possível mudar a chave ou a versão dela.

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

Antes de começar

  1. Crie uma chave de criptografia usando o Cloud KMS.

    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 à sua 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: recupera uma chave pública.

      Para saber como conceder um papel, consulte Como conceder 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 a 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 o provisiona por meio do formulário de entrada do console do Google Cloud.

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

Configurar chaves de criptografia ao recriar um servidor

Para configurar chaves de criptografia ao recriar um servidor, consulte Alterar o SO de um servidor.

Acessar chaves de criptografia e senhas de um servidor

Para ver as chaves de criptografia e 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 no campo Chave de criptografia de senha.

  3. Para visualizar as contas de usuário e as senhas criptografadas correspondentes, vá para 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 obter a senha bruta, siga estas etapas:

  1. Acesse o texto criptografado. Use o comando gcloud alpha bms instances auth-info.

    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 à senha que você quer descriptografar. O valor é root ou customeradmin.
    • ENCRYPTED_PASSWORD_FILE: o arquivo em que você salvou a senha criptografada. 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 receber o texto criptografado da senha copiada do console do Google Cloud, use o seguinte comando:

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

    Substitua:

    • ENCRYPTED_PASSWORD_FILE: o arquivo em que você salvou a senha criptografada. 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:

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

A seguir