Usa claves de encriptación administradas por el cliente

En esta página, se explica cómo usar las claves de encriptación administradas por el cliente (CMEK) para proteger los servicios de Dataproc Metastore. Las CMEK proporcionan encriptación de datos en reposo con una clave que puedes controlar a través de Cloud KMS.

Requisitos

Si deseas que tu servicio se ejecute dentro de un perímetro de Controles del servicio de VPC, debes agregar la API de Cloud Key Management Service (Cloud KMS) al perímetro.

Configura la compatibilidad con CMEK para Dataproc Metastore

A fin de configurar la compatibilidad de CMEK para Dataproc Metastore, primero debes otorgar permiso de clave de Cloud KMS a las cuentas de servicio de Dataproc Metastore y Cloud Storage. Luego, puedes crear un servicio de Dataproc Metastore que use una clave CMEK.

Otorga permisos de clave de Cloud KMS

Usa los siguientes comandos a fin de otorgar permisos a la clave de Cloud KMS para Dataproc Metastore:

gcloud

  1. Crea una clave CMEK en Cloud KMS (si no hay una disponible):

    gcloud config set project PROJECT_ID
    gcloud kms keyrings create KEY_RING \
      --project KEY_PROJECT \
      --location=LOCATION
    gcloud kms keys create KEY_NAME \
      --project KEY_PROJECT \
      --location=LOCATION \
      --keyring=KEY_RING \
      --purpose=encryption
    

    Debes crear una clave CMEK en la misma región en la que se ubicará el servicio.

  2. Otorga permisos a la cuenta de servicio del agente de servicios de Dataproc Metastore:

    gcloud kms keys add-iam-policy-binding KEY_NAME \
      --location LOCATION \
      --keyring KEY_RING \
      --member=serviceAccount:$(gcloud beta services identity create \
      --service=metastore.googleapis.com 2>&1 | awk '{print $4}') \
      --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
    
  3. Otorga permisos a la cuenta de servicio de Cloud Storage:

    gsutil kms authorize -k projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
    

Crea un servicio de Dataproc Metastore con una clave CMEK

Sigue estos pasos para configurar la encriptación de CMEK durante la creación del servicio:

Console

  1. En Cloud Console, abre la página de Dataproc Metastore:

    Abre Dataproc Metastore en Cloud Console

  2. En la parte superior de la página de Dataproc Metastore, haz clic en el botón Crear. Se abre la página Crear servicio.

  3. Configura tu servicio como desees.

  4. En Encriptación, haz clic en Usar una clave de encriptación administrada por el cliente (CMEK).

  5. Selecciona la clave administrada por el cliente.

  6. Haga clic en Enviar.

Verifica la configuración de encriptación del servicio:

  1. En Cloud Console, abre la página de Dataproc Metastore:

    Abre Dataproc Metastore en Cloud Console

  2. En la página Dataproc Metastore, haz clic en el nombre del servicio que deseas ver. Se abrirá la página Detalles del servicio del servicio.

  3. En la pestaña Configuración, verifica que los detalles muestren CMEK como habilitado.

gcloud

  1. Ejecuta el siguiente comando de gcloud beta metastore services create para crear un servicio con encriptación CMEK:

    gcloud beta metastore services create SERVICE \
       --encryption-kms-key=KMS_KEY
    

    Reemplaza lo siguiente:

    • SERVICE: Nombre del servicio nuevo.
    • KMS_KEY: Hace referencia al ID del recurso de la clave.
  2. Verifica que la creación se haya realizado correctamente.

Datos de Dataproc Metastore protegidos con claves de encriptación proporcionadas por Google

La base de datos de Cloud Monitoring no es compatible con la encriptación CMEK. En su lugar, Google Cloud usa claves de encriptación de Google para proteger los nombres y las configuraciones de los servicios de Dataproc Metastore.

Importar y exportar datos desde y hacia un servicio habilitado para CMEK

Si quieres que tus datos permanezcan encriptados con una clave administrada por el cliente durante una importación, debes establecer CMEK en el bucket de Cloud Storage antes de importar los datos desde él.

Puedes importar desde un bucket de Cloud Storage no protegido por CMEK. Después de la importación, los datos almacenados en Dataproc Metastore se protegen de acuerdo con la configuración de CMEK del servicio de destino.

Cuando se exporta, el volcado de la base de datos exportada está protegido según la configuración de CMEK del depósito de almacenamiento de destino.

Advertencias de CMEK para Dataproc Metastore

  • Si inhabilitas o borras las CMEK en un servicio habilitado para CMEK, el servicio no se podrá usar ni recuperarse.

    • Los datos se pierden de forma permanente.
  • No puedes habilitar claves de encriptación administradas por el cliente en un servicio existente.

  • No puedes rotar la clave que usa un servicio habilitado para CMEK.

  • Un servicio habilitado con CMEK no admite la sincronización de Data Catalog. La actualización de un servicio habilitado para CMEK para habilitar la sincronización de Data Catalog falla. Además, no puede crear un servicio nuevo con ambas funciones habilitadas.

  • No puedes usar claves de encriptación administradas por el cliente para encriptar datos del usuario en tránsito, como consultas de usuario y las respuestas obtenidas.

¿Qué sigue?