Usar claves de encriptación administradas por el cliente

En esta página, se explica cómo usar claves de encriptación administradas por el cliente (CMEK) para proteger los servicios de Dataproc Metastore. CMEK proporciona encriptación de datos en reposo con una clave que puedes controlar a través de Cloud Key Management Service. Puedes almacenar las claves como claves de software, en un clúster de HSM, o de forma externa.

Antes de comenzar

Si quieres que tu servicio de Dataproc Metastore se ejecute en un 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

Para configurar la compatibilidad con CMEK para Dataproc Metastore, debes primero debes otorgar permiso de clave de Cloud KMS al Dataproc Metastore y cuentas de servicio de Cloud Storage. Luego, puedes crear Dataproc Metastore de servicio que usa una clave CMEK.

Otorga permisos de clave de Cloud KMS

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

gcloud

  1. Crea una CMEK en Cloud KMS (si aún no hay una disponible). El siguiente comando es un ejemplo de cómo crear una clave de software:

    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
    

    De manera similar, puedes crear una clave de HSM o crea una clave EKM.

  2. Otorga permisos al agente de servicio de Dataproc Metastore cuenta de servicio:

    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:

    gcloud storage service-agent --authorize-cmek 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 la consola de Google Cloud, abre la página de Dataproc Metastore:

    Ir a Dataproc Metastore

  2. En la parte superior de la página Dataproc Metastore, haz clic en Crear.

    Se abrirá la página Crear servicio.

  3. Configura tu servicio según sea necesario.

  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 la consola de Google Cloud, abre la página de Dataproc Metastore:

    Ir a la consola de Google Cloud

  2. En la página Dataproc Metastore, haz clic en el nombre de la servicio que deseas ver.

    La página Detalles del servicio de ese servicio se abre.

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

gcloud

  1. Ejecuta gcloud metastore services create. para crear un servicio con encriptación CMEK:

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

    Reemplaza lo siguiente:

    • SERVICE: Nombre del servicio nuevo.
    • KMS_KEY: Hace referencia al ID de 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 admite la encriptación CMEK. En cambio, Google Cloud usa las claves de encriptación de Google para proteger los nombres y las configuraciones de los servicios tus servicios de Dataproc Metastore.

Importa y exporta datos desde y hacia un servicio con CMEK habilitadas

Si quieres que tus datos permanezcan encriptados con una clave administrada por el cliente durante un debes importar, debes configurar CMEK en el bucket de Cloud Storage antes importar datos desde allí.

Puedes importar desde un bucket de Cloud Storage que no esté protegido por CMEK. Después del los datos almacenados en Dataproc Metastore se protegen según la configuración de CMEK del servicio de destino.

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

Advertencias de CMEK para Dataproc Metastore

  • Inhabilitar o borrar la CMEK para un servicio habilitado con CMEK hace que el servicio inutilizables e irrecuperables.

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

  • No puedes rotar la clave que usa un servicio con CMEK habilitadas.

  • Un servicio habilitado para CMEK no admite la sincronización de Data Catalog. Actualiza un servicio con CMEK habilitadas para habilitar la sincronización de Data Catalog falla. No puedes 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.

  • Cuando usas una clave de Cloud EKM, Google no controla el disponibilidad de tu clave administrada de forma externa. Si la clave deja de estar disponible durante el período de creación del servicio de Dataproc Metastore, la creación falla. Después de que un servicio de Dataproc Metastore se Si la clave deja de estar disponible, el servicio deja de estarlo. hasta que la clave esté disponible. Para obtener más información sobre el uso consulta Consideraciones de Cloud EKM.

¿Qué sigue?