Configura las claves de encriptación para un servidor

Puedes configurar claves de encriptación para encriptar las contraseñas de tu servidor. Estas claves son claves de encriptación administradas por el cliente (CMEK) que puedes administrar con Cloud Key Management Service (Cloud KMS). Puedes configurarlas mientras aprovisionas un servidor nuevo o mientras vuelves a crear una imagen de uno existente. Puedes usar una clave de encriptación con varios servidores.

El uso de una clave de encriptación es opcional. Sin embargo, una vez que configuras una clave de encriptación, debes usarla. No puedes cambiar esta configuración. 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 comenzar

  1. Con Cloud KMS, crea una clave de encriptación.

    Para crear una clave de encriptación, sigue estos pasos:

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

      Haz esto solo una vez por proyecto.

    2. Asigna las siguientes funciones a tu cuenta de servicio de la solución Bare Metal. Haz esto solo una vez por proyecto.

      • roles/cloudkms.viewer: Verifica que CryptoKeyVersion esté disponible para su uso.
      • roles/cloudkms.publicKeyViewer: Recupera una clave pública.

      Para obtener información sobre cómo otorgar un rol, consulta Otorga roles en un recurso.

      Para asignar estas funciones, 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
      

      Reemplaza lo siguiente:

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

      Puedes crear tantas claves y versiones como sea necesario.

Configura las claves de encriptación mientras aprovisionas un servidor

Puedes configurar una clave de encriptación para un servidor nuevo de la solución Bare Metal mientras lo aprovisionas a través del Google Cloud formulario de entrada de la consola.

Para configurar una clave de encriptación mientras aprovisionas un servidor, consulta Usa el Google Cloud formulario de entrada de la consola para ingresar tus selecciones.

Configura las claves de encriptación mientras vuelves a crear una imagen de un servidor

Para configurar las claves de encriptación mientras vuelves a crear una imagen de un servidor, consulta Cambia el SO de un servidor.

Visualiza las claves de encriptación y las contraseñas de un servidor

Para visualizar las claves de encriptación y las contraseñas de un servidor, sigue estos pasos:

Console

  1. Ve a la página Servidores.

    Ir a Servidores

  2. Haz clic en el nombre del servidor.

    En la página Detalles del servidor, visualiza la clave de encriptación en el campo Clave de encriptación de contraseña.

  3. Para ver las cuentas de usuario y sus contraseñas encriptadas 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

Reemplaza lo siguiente:

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

Desencripta una contraseña

Para obtener la contraseña sin procesar, 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
    

    Reemplaza lo siguiente:

    • SERVER_NAME: Es el nombre de tu servidor de la solución Bare Metal.
    • PROJECT_ID: Es el ID de tu proyecto de la solución Bare Metal.
    • REGION: Es la ubicación de tu servidor de la solución Bare Metal.
    • USERNAME: Es el nombre de usuario de la cuenta asociada con la contraseña que deseas desencriptar. El valor es root o customeradmin.
    • ENCRYPTED_PASSWORD_FILE: Es el archivo en el que guardaste la contraseña encriptada. Para evitar problemas con el formato de la contraseña después de copiarla, quita los espacios y los caracteres de salto de línea ('\n').
    • CIPHERTEXT_FILE: Es 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 Google Cloud consola, usa el siguiente comando:

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

    Reemplaza lo siguiente:

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

    Ejemplo:

    cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
    
  2. Desencripta la contraseña. Sigue los pasos en Desencripta datos.

¿Qué sigue?