Configure chaves de encriptação para um servidor

Pode configurar chaves de encriptação para encriptar as palavras-passe do servidor. Estas chaves são chaves de encriptação geridas pelo cliente (CMEK) que pode gerir através do Cloud Key Management Service (Cloud KMS). Pode defini-los durante o aprovisionamento de um novo servidor ou durante a reconstituição de um existente. Pode usar uma chave de encriptação com vários servidores.

A utilização de uma chave de encriptação é opcional. No entanto, depois de configurar uma chave de encriptação, tem de a usar. Não pode alterar esta definição. No entanto, pode alterar a chave ou a respetiva versão.

Esta funcionalidade só está disponível para os sistemas operativos Linux suportados pela Bare Metal Solution.

Antes de começar

  1. Crie uma chave de encriptação com o Cloud KMS.

    Para criar uma chave de encriptação, siga estes passos:

    1. No projeto no qual quer criar a chave, ative a API Cloud KMS.

      Faça isto apenas uma vez por projeto.

    2. Atribua as seguintes funções à sua conta de serviço da Solução Bare Metal. Faça isto apenas uma vez por projeto.

      • roles/cloudkms.viewer: verifique se o CryptoKeyVersion está disponível para utilização.
      • roles/cloudkms.publicKeyViewer: obtenha uma chave pública.

      Para saber como conceder uma função, consulte o artigo Conceder funções num recurso.

      Para atribuir estas funções, 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 o seguinte:

      • KMS_PROJECT_ID: o projeto que contém a sua chave do Cloud KMS
      • PROJECT_NUMBER: o projeto que contém o seu servidor da solução Bare Metal
    3. Crie uma chave de desencriptação assimétrica.

      Pode criar as chaves e as versões necessárias.

Configure chaves de encriptação durante o aprovisionamento de um servidor

Pode configurar uma chave de encriptação para um novo servidor da Bare Metal Solution enquanto o aprovisiona através do Google Cloud formulário de receção da consola.

Para configurar uma chave de encriptação durante o aprovisionamento de um servidor, consulte a secção Use o formulário de carregamento da Google Cloud consola para introduzir as suas seleções.

Configure chaves de encriptação durante a reinstalação de um servidor

Para configurar chaves de encriptação durante a reformatação de um servidor, consulte o artigo Altere o SO de um servidor.

Veja as chaves de encriptação e as palavras-passe de um servidor

Para ver as chaves de encriptação e as palavras-passe de um servidor, siga estes passos:

Consola

  1. Aceda à página Servidores.

    Aceda a Servidores

  2. Clique no nome do servidor.

    Na página Detalhes do servidor, veja a chave de encriptação no campo Chave de encriptação de palavras-passe.

  3. Para ver as contas de utilizador e as respetivas palavras-passe encriptadas, aceda à secção Contas de utilizador.

gcloud

Use o comando gcloud alpha bms instances auth-info:

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

Substitua o seguinte:

  • 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

Desencripte uma palavra-passe

Para obter a palavra-passe não processada, siga estes passos:

  1. Obtenha o texto cifrado. 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 o seguinte:

    • SERVER_NAME: o nome do seu servidor da Solução Bare Metal
    • PROJECT_ID: o ID do seu projeto da Solução Bare Metal
    • REGION: a localização do seu servidor da Solução Bare Metal
    • USERNAME: o nome de utilizador da conta associada à palavra-passe que quer desencriptar. O valor é root ou customeradmin.
    • ENCRYPTED_PASSWORD_FILE: o ficheiro no qual guardou a palavra-passe encriptada. Para evitar problemas com o formato da palavra-passe depois de a copiar, remova os espaços e os carateres de nova linha ('\n').
    • CIPHERTEXT_FILE: o nome do ficheiro de texto encriptado

    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 obter o texto cifrado da palavra-passe copiada da Google Cloud consola, use o seguinte comando:

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

    Substitua o seguinte:

    • ENCRYPTED_PASSWORD_FILE: o ficheiro no qual guardou a palavra-passe encriptada. Para evitar problemas com o formato da palavra-passe depois de a copiar, remova os espaços e os carateres de nova linha ('\n').
    • CIPHERTEXT_FILE: o nome do ficheiro de texto encriptado

    Exemplo:

    cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
    
  2. Desencripte a palavra-passe. Siga os passos em Desencriptar dados.

O que se segue?