Usa claves de encriptación administradas por el cliente (CMEK)

Las claves de encriptación administradas por el cliente (CMEK) proporcionan el control de usuario sobre los datos escritos por las canalizaciones de Cloud Data Fusion, entre las que se incluyen las siguientes:

  • Metadatos del clúster de Dataproc
  • Fuentes de datos y receptores de Cloud Storage, BigQuery y Pub/Sub

En esta página, se describe cómo usar una clave de encriptación de Cloud Key Management Service (Cloud KMS) con Cloud Data Fusion. Una clave de encriptación administrada por el cliente (CMEK) habilita la encriptación de datos en reposo con una clave que puedes controlar a través de Cloud KMS. Puedes crear una canalización que esté protegida con una CMEK o acceder a los datos protegidos por una CMEK en las fuentes y los receptores.

Recursos de Cloud Data Fusion

Cloud Data Fusion admite claves de encriptación administradas por el cliente (CMEK) para los siguientes complementos de Cloud Data Fusion:

  • Receptores de Cloud Data Fusion:

    • Cloud Storage
    • Archivos múltiples de Cloud Storage
    • BigQuery
    • Tablas múltiples de BigQuery
    • Pub/Sub
  • Acciones de Cloud Data Fusion:

    • Creación de Cloud Storage
    • Ejecución de BigQuery

Cloud Data Fusion admite claves de encriptación administradas por el cliente (CMEK) para los clústeres de Dataproc. Cloud Data Fusion crea un clúster de Dataproc temporal para usarlo en la canalización, que se borra cuando se completa la canalización. Las CMEK protegen los metadatos del clúster escritos en lo siguiente:

  • Discos persistentes (PD) adjuntos a las VM del clúster
  • Resultado del controlador del trabajo y otros metadatos escritos en el depósito de staging de Dataproc creado automáticamente o creado por el usuario.

Configura CMEK

  1. Crea una clave de Cloud KMS

  2. Obtén el ID de recurso de la clave que creaste, que usarás más adelante en este procedimiento.

      projects/project-id/locations/region/keyRings/key-ring-name/cryptoKeys/key-name
    

    1. En Cloud Console, ve a la página Claves criptográficas.
    2. Haz clic en el menú de tres puntos junto a tu clave.
    3. Haz clic en Copiar ID de recurso. Esta acción copia el ID de recurso en el portapapeles.
  3. Configura las cuentas de servicio de tu proyecto para usar tu clave:

    1. Obligatorio: Debes otorgar la función de encriptador/desencriptador claves criptográficas de Cloud KMS a la cuenta de servicio del sistema de Compute Engine. (consulta Otorga funciones a una cuenta de servicio para recursos específicos). Esta cuenta, que de forma predeterminada recibe la función de agente de servicio de Compute Engine, tiene la siguiente forma:
      service-[PROJECT_NUMBER]@compute-system.iam.gserviceaccount.com
      
    2. Obligatorio: Debes otorgar la función de encriptador/desencriptador de clave criptográfica de Cloud KMS a la cuenta de servicio de Cloud Storage (consulta Asigna una clave de Cloud KMS a una cuenta de servicio de Cloud Storage). Esta cuenta tiene el formato siguiente:
      service-[PROJECT_NUMBER]@gs-project-accounts.iam.gserviceaccount.com
      
    3. Opcional: Si tu canalización usa recursos de BigQuery, otorga la función de encriptador/desencriptador de Cloud KMS a la cuenta de servicio de BigQuery (consulta Otorga permiso de encriptación y desencriptación). Esta cuenta tiene el formato siguiente:
      bq-[PROJECT_NUMBER]@bigquery-encryption.iam.gserviceaccount.com
      
    4. Opcional: Si tu canalización usa recursos de Pub/Sub, asigna la función de encriptador/desencriptador de clave criptográfica de Cloud KMS a la cuenta de servicio de Pub/Sub (consulta Usa claves de encriptación administradas por el cliente). Esta cuenta tiene el formato siguiente:
      service-[PROJECT_NUMBER]@gcp-sa-pubsub.iam.gserviceaccount.com
      

Usa CMEK con metadatos de clúster de Dataproc

Si deseas usar CMEK para encriptar el PD (disco persistente) y los metadatos del depósito de staging que escribe el clúster de Dataproc que se ejecuta en tu canalización, realiza una de las siguientes acciones:

  • Recomendado: Crea un perfil de procesamiento de Dataproc (solo edición empresarial).
  • Edita un perfil de procesamiento de Dataproc existente (edición de desarrollador, básico o empresarial).
  1. Abre la página Instancias de Cloud Data Fusion en Cloud Console.

    Abrir la página de instancias

  2. En la columna Acciones de la instancia, haz clic en Ver instancia.
  3. En la IU web de Cloud Data Fusion, haz clic en ADMINISTRADOR DEL SISTEMA.
  4. Haz clic en la pestaña Configuración.
  5. Haz clic en el menú desplegable Perfiles de procesamiento del sistema.
  6. Haga clic en Crear un perfil nuevo.
  7. Selecciona Cloud Dataproc.
  8. Ingresa una etiqueta de perfil, un nombre de perfil y una descripción.
  9. De forma predeterminada, Cloud Data Fusion crea automáticamente un depósito de Cloud Storage para usarlo como depósito de staging de Dataproc. Si prefieres usar un depósito de Cloud Storage que ya existe en tu proyecto, sigue estos pasos:
    1. En la sección Configuración general, ingresa tu depósito de Cloud Storage existente en el campo Depósito de Cloud Storage.
    2. Agrega la clave de Cloud KMS a tu depósito de Cloud Storage.
  10. Obtén el ID de recurso de tu clave de Cloud KMS. En la sección Configuración general, ingresa tu ID de recurso en el campo Nombre de clave de encriptación.
  11. Haga clic en Crear.
  12. Si aparece más de un perfil en la sección System Compute Profiles de la pestaña Configuración, establece el nuevo perfil de Dataproc como el perfil predeterminado, mantén el cursor sobre el campo nombre del perfil y haz clic en la estrella que aparecerá.
    Selecciona el perfil predeterminado.

Usa CMEK con otros recursos

Para usar CMEK a fin de encriptar datos escritos por otros recursos, como Cloud Storage, BigQuery o receptores de Pub/Sub, realiza una de las siguientes acciones:

  • Usa un argumento de entorno de ejecución.
  • Establece una preferencia del sistema de Cloud Data Fusion.

Argumento de entorno de ejecución

  1. En la página Pipeline Studio de Cloud Data Fusion, haz clic en la flecha desplegable a la derecha del botón Ejecutar.
  2. En el campo Nombre, ingresa gcp.cmek.key.name.
  3. En el campo Valor, ingresa el ID de recurso de tu clave.
    Selecciona la edición de Data Fusion.
  4. Haga clic en Save.

Preference

  1. En la IU de Cloud Data Fusion, haz clic en ADMINISTRADOR DEL SISTEMA.
  2. Haz clic en la pestaña Configuración.
  3. Haz clic en el menú desplegable Preferencias del sistema.
  4. Haz clic en Editar las preferencias del sistema.
  5. En el campo Clave, ingresa gcp.cmek.key.name.
  6. En el campo Valor, ingresa el ID de recurso de tu clave.
    Selecciona la edición de Data Fusion.
  7. Haz clic en Guardar y cerrar.