Configurar claves de cifrado para un servidor

Puedes configurar claves de cifrado para cifrar las contraseñas de tu servidor. Estas claves son claves de encriptado gestionadas por el cliente (CMEK) que puedes gestionar con Cloud Key Management Service (Cloud KMS). Puedes configurarlos al aprovisionar un servidor nuevo o al restaurar la imagen de uno que ya tengas. Puedes usar una clave de cifrado con varios servidores.

El uso de una clave de cifrado es opcional. Sin embargo, una vez que configures una clave de cifrado, tendrás que usarla. No podrás cambiar este ajuste más adelante. Sin embargo, puedes cambiar la clave o su versión.

Esta función solo está disponible para los sistemas operativos Linux compatibles con la solución Bare Metal.

Antes de empezar

  1. Crea una clave de encriptado con Cloud KMS.

    Para crear una clave de cifrado, sigue estos pasos:

    1. En el proyecto en el que quieras crear la clave, habilita la API Cloud KMS.

      Solo tienes que hacerlo una vez por proyecto.

    2. Asigna los siguientes roles a tu cuenta de servicio de Bare Metal Solution. Solo tienes que hacerlo una vez por proyecto.

      • roles/cloudkms.viewer: comprueba que el CryptoKeyVersion se puede usar.
      • roles/cloudkms.publicKeyViewer: obtener una clave pública.

      Para saber cómo asignar un rol, consulta Asignar roles a un recurso.

      Para asignar estos roles, usa el 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
      

      Haz los cambios siguientes:

      • KMS_PROJECT_ID: el proyecto que contiene tu clave de Cloud KMS
      • PROJECT_NUMBER: el proyecto que contiene tu servidor de solución Bare Metal
    3. Crea una clave de descifrado asimétrica.

      Puedes crear tantas claves y versiones como necesites.

Configurar claves de cifrado al aprovisionar un servidor

Puedes configurar una clave de cifrado para un nuevo servidor de Bare Metal Solution mientras lo aprovisionas a través del Google Cloud formulario de solicitud de la consola.

Para configurar una clave de cifrado al aprovisionar un servidor, consulta Usar el formulario de entrada de la consola para introducir tus selecciones Google Cloud .

Configurar claves de cifrado al restaurar la imagen de un servidor

Para configurar las claves de cifrado al restaurar la imagen de un servidor, consulta Cambiar el SO de un servidor.

Ver las claves de cifrado y las contraseñas de un servidor

Para ver las claves de cifrado y las contraseñas de un servidor, sigue estos pasos:

Consola

  1. Ve a la página Servidores.

    Ir a Servidores

  2. Haz clic en el nombre del servidor.

    En la página Server details (Detalles del servidor), consulta la clave de cifrado en el campo Password encryption key (Clave de cifrado de la contraseña).

  3. Para ver las cuentas de usuario y sus contraseñas cifradas correspondientes, ve a la sección Cuentas de usuario.

gcloud

Usa el comando gcloud alpha bms instances auth-info:

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

Haz los cambios siguientes:

  • SERVER_NAME: nombre del servidor de Bare Metal Solution
  • PROJECT_ID: el ID del proyecto
  • REGION: la región del servidor de Bare Metal Solution

Descifrar una contraseña

Para obtener la contraseña sin cifrar, sigue estos pasos:

  1. Obtén el texto cifrado. Usa el 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
    

    Haz los cambios siguientes:

    • SERVER_NAME: el nombre de tu servidor de Bare Metal Solution
    • PROJECT_ID: el ID de tu proyecto de Bare Metal Solution
    • REGION: la ubicación de tu servidor de Bare Metal Solution
    • USERNAME: el nombre de usuario de la cuenta asociada a la contraseña que quieras descifrar. El valor es root o customeradmin.
    • ENCRYPTED_PASSWORD_FILE: el archivo en el que has guardado la contraseña cifrada. Para evitar problemas con el formato de la contraseña después de copiarla, elimina los espacios y los caracteres de nueva línea ('\n').
    • CIPHERTEXT_FILE: el nombre del archivo de texto cifrado

    Ejemplo:

    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 obtener el texto cifrado de la contraseña copiada de la consola de Google Cloud , usa el siguiente comando:

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

    Haz los cambios siguientes:

    • ENCRYPTED_PASSWORD_FILE: el archivo en el que guardaste la contraseña cifrada. Para evitar problemas con el formato de la contraseña después de copiarla, elimina los espacios y los caracteres de salto de línea ('\n').
    • CIPHERTEXT_FILE: el nombre del archivo de texto cifrado

    Ejemplo:

    cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
    
  2. Descifra la contraseña. Sigue los pasos que se indican en Descifrar datos.

Siguientes pasos