Cifrado de Azure Data Factory con claves administradas por el cliente

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Data Factory en Microsoft Fabric es la próxima generación de Azure Data Factory, con una arquitectura más sencilla, inteligencia artificial integrada y nuevas características. Si no está familiarizado con la integración de datos, comience con Fabric Data Factory. Las cargas de trabajo de ADF existentes pueden actualizarse a Fabric para acceder a nuevas funcionalidades en ciencia de datos, análisis en tiempo real e informes.

Azure Data Factory cifra los datos en reposo, incluidas las definiciones de entidad y los datos almacenados en caché mientras las ejecuciones están en curso. De forma predeterminada, los datos se cifran con una clave administrada de Microsoft generada aleatoriamente que se asigna de forma única a la factoría de datos. Para obtener garantías de seguridad adicionales, ahora puede habilitar Bring Your Own Key (BYOK) con la característica claves administradas por el cliente en Azure Data Factory. Al especificar una clave administrada por el cliente (CMK), Data Factory usa tanto la clave del sistema de fábrica como la CMK para cifrar los datos del cliente. Si falta alguna de ellas, se deniega el acceso a los datos y a la factoría.

Azure Key Vault es necesario para almacenar claves administradas por el cliente. Puede crear sus propias claves y almacenarlas en un almacén de claves, o bien puede usar las API de Azure Key Vault para generar claves. Key Vault y Data Factory deben estar en el mismo inquilino Microsoft Entra y en la misma región, pero pueden estar en suscripciones diferentes. Para obtener más información sobre Azure Key Vault, consulte ¿Qué es Azure Key Vault?

Acerca de las claves administradas por el cliente

En el diagrama siguiente se muestra cómo Data Factory usa Microsoft Entra ID y Azure Key Vault para realizar solicitudes mediante la clave administrada por el cliente:

Diagrama que muestra cómo funcionan las claves administradas por el cliente en Azure Data Factory.

En la lista siguiente se explican los pasos numerados del diagrama:

  1. Un administrador de Azure Key Vault concede permisos a las claves de cifrado a la identidad administrada asociada a Data Factory.
  2. Un administrador de Data Factory habilita la característica de claves administradas por el cliente en la factoría.
  3. Data Factory usa la identidad administrada asociada a la factoría para autenticar el acceso a Azure Key Vault a través de Microsoft Entra ID
  4. Data Factory encapsula la clave de cifrado de fábrica con la clave de cliente en Azure Key Vault
  5. Para las operaciones de lectura y escritura, Data Factory envía solicitudes a Azure Key Vault para desencapsular la clave de cifrado de la cuenta para realizar operaciones de cifrado y descifrado.

Hay dos maneras de incorporar el cifrado de claves administradas por el cliente a las factorías de datos. Uno es durante la creación de la factoría en el portal de Azure, y el otro es después de la creación de la factoría, en la interfaz de usuario de Data Factory.

Requisitos previos: configurar Azure Key Vault y generar claves

Habilitación de Eliminación temporal y No purgar en Azure Key Vault

El uso de claves administradas por el cliente con Data Factory requiere que se configuren dos propiedades en Key Vault, Soft Delete y No eliminar. Estas propiedades se pueden habilitar mediante PowerShell o Azure CLI en un almacén de claves nuevo o existente. Para obtener información sobre cómo habilitar estas propiedades en un almacén de claves existente, consulte Administración de la recuperación de Azure Key Vault con eliminación temporal y protección contra purga.

Si va a crear un nuevo Azure Key Vault a través del portal de Azure, Soft Delete y Do Not Purge se puede habilitar de la siguiente manera:

Captura de pantalla que muestra cómo habilitar la eliminación reversible y la protección de purga al crear el Key Vault.

Concesión de acceso a Data Factory a Azure Key Vault

Asegúrese de que Azure Key Vault y Azure Data Factory estén en el mismo arrendatario de Microsoft Entra y en la misma región. Puede usar directivas de acceso o permisos de control de acceso:

  1. Directiva de acceso: en el almacén de claves, seleccione Directivas de acceso ->Agregar directiva de acceso -> busque la identidad administrada de Azure Data Factory y conceda permisos Obtener, Desencapsular clave y Encapsular clave en la lista desplegable de permisos secretos.

  2. Control de acceso: la identidad administrada necesitará dos roles en Control de acceso: Usuario de cifrado de servicios criptográficos de Key Vault y Usuario de secretos de Key Vault. En el almacén de claves, seleccione Control de acceso (IAM) ->+ Agregar ->Agregar asignación de roles. Seleccione uno de los roles y, a continuación, seleccione Siguiente. En Miembros seleccione Identidad administrada, luego Seleccionar miembros y busque la identidad administrada de Azure Data Factory. A continuación, seleccione Revisar y asignar. Repita el segundo rol.

Generación o carga de la clave administrada por el cliente en Azure Key Vault

Puede crear sus propias claves y almacenarlas en un almacén de claves. O bien, puede usar las API de Azure Key Vault para generar claves. Solo se admiten las claves RSA con cifrado de Data Factory. También se admite RSA-HSM. Para más información, consulte el artículo About keys, secrets, and certificates (Claves, secretos y certificados).

Captura de pantalla que muestra cómo generar una clave administrada por el cliente.

Habilitar claves administradas del cliente

Tras la creación de la factoría en la interfaz de usuario de Data Factory

En esta sección se describe el proceso para agregar el cifrado de claves administradas por el cliente a la interfaz de usuario de Data Factory tras crear la factoría.

Nota

Una clave administrada por el cliente solo se puede configurar en una factoría de datos vacía. La factoría de datos no puede contener recursos, como servicios vinculados, canalizaciones y flujos de datos. Se recomienda habilitar la clave administrada por el cliente justo después de la creación de la factoría.

Importante

Este enfoque no funciona con factorías habilitadas para redes virtuales administradas. Considere la ruta alternativa si desea cifrar estas fábricas.

  1. Asegúrese de que la Identidad de Servicio Administrado (MSI) de Data Factory tenga los permisos de Get, Unwrap Key y Wrap Key en Key Vault.

  2. Asegúrese de que la instancia de Data Factory esté vacía. La factoría de datos no puede contener recursos como servicios vinculados, canalizaciones y flujos de datos. Por ahora, la implementación de una clave administrada por el cliente en una factoría que no esté vacía producirá un error.

  3. Para buscar el URI de clave en el portal de Azure, vaya a Azure Key Vault y seleccione la configuración Claves. Seleccione la clave deseada, luego seleccione la clave para ver sus versiones. Seleccione una de ellas para ver su configuración

  4. Copie el valor del campo Identificador de clave, que proporciona el URI Captura de pantalla de obtener el URI de clave de Key Vault.

  5. Inicie Azure Data Factory portal y, con la barra de navegación de la izquierda, vaya al Portal de administración de Data Factory.

  6. Seleccione el icono Clave administrada por el clienteCaptura de pantalla sobre cómo habilitar la clave administrada por el cliente en la interfaz de usuario de Data Factory.

  7. Escriba el URI de la clave administrada por el cliente que copió anteriormente.

  8. Seleccione Guardar y el cifrado de claves administradas por el cliente esté habilitado para Data Factory.

Durante la creación de fábricas en el portal de Azure

En esta sección se explican los pasos para agregar el cifrado de claves administradas por el cliente en el portal de Azure, durante el despliegue de fábrica.

Para cifrar la factoría, Data Factory debe recuperar primero la clave administrada por el cliente de Key Vault. Dado que la implementación de fábrica todavía está en curso, Managed Service Identity (MSI) aún no está disponible para autenticarse con Key Vault. Por lo tanto, para usar este enfoque, el cliente debe asignar una identidad administrada asignada por el usuario (UA-MI) a la factoría de datos. Asumiremos los roles definidos en el UA-MI y se autenticaremos con Key Vault.

Para obtener más información sobre la identidad administrada asignada por el usuario, consulte Tipos de identidad administrados y Asignación de un rol a una identidad administrada asignada por el usuario.

  1. Asegúrese de que la identidad administrada asignada por el usuario (UA-MI) tenga Get, Unwrap Key y Wrap Key permisos para Key Vault

  2. En la pestaña Advanced, marque la casilla de Enable encryption using a customer managed keyCaptura de pantalla de la pestaña Avanzada para la experiencia de creación de fábrica de datos en el portal de Azure.

  3. Proporcione la dirección URL de la clave administrada por el cliente almacenada en Key Vault

    Sugerencia

    Si no pasa la versión de la clave en la dirección URL después de la última "/" (por ejemplo, https://mykeyvault.vault.azure.net/keys/cmk/), la versión siempre tendrá como valor predeterminado la versión más reciente si la clave se actualiza en el futuro.

    Actualmente, esto solo se admite mediante el portal de Azure.

  4. Seleccione una identidad administrada asignada por el usuario adecuada para autenticarse con Azure Key Vault.

  5. Continúe con el despliegue en la fábrica.

Actualización de la versión de la clave

Al crear una nueva versión de una clave, actualice Data Factory para usar la nueva versión:

  1. Busque el URI de la nueva versión de clave a través de Azure Key Vault Portal:

    1. Vaya a Azure Key Vault y seleccione la configuración de Claves.
    2. Seleccione la clave deseada, luego seleccione la clave para ver sus versiones.
    3. Seleccione una versión de clave para ver la configuración.
  2. Copie el valor del campo Identificador de clave, que proporciona el URI.

  3. Inicie Azure Data Factory portal y, con la barra de navegación de la izquierda, seleccione el Portal de administración de Data Factory.

  4. Seleccione la opción Clave administrada por el cliente .

  5. Escriba el URI de la clave administrada por el cliente que copió antes.

  6. Seleccione Guardar y Data Factory ahora cifrará con la nueva versión de clave.

Uso de una clave distinta

Para cambiar la clave usada para el cifrado de Data Factory, debe actualizar manualmente la configuración en Azure Data Factory:

  1. Busque el URI de la nueva versión de clave a través de Azure Key Vault Portal:

    1. Vaya a Azure Key Vault y seleccione la configuración de Claves.
    2. Seleccione la clave deseada, luego seleccione la clave para ver sus versiones.
    3. Seleccione una versión de clave para ver la configuración.
  2. Copie el valor del campo Identificador de clave, que proporciona el URI.

  3. Inicie Azure Data Factory portal y, con la barra de navegación de la izquierda, seleccione el Portal de administración de Data Factory.

  4. Seleccione la opción Clave administrada por el cliente .

  5. Escriba el URI para seleccionar que copió antes.

  6. Seleccione Guardar y Data Factory ahora cifrará con la nueva versión de clave.

Deshabilitación de las claves administradas por el cliente

Por diseño, una vez habilitada la característica de selección, no se puede quitar el paso de seguridad adicional. Para cifrar la factoría y los datos, siempre se esperará una clave proporcionada por el cliente.

Clave administrada por el cliente e integración continua y despliegue continuo

De forma predeterminada, la configuración de CMK no se incluye en la plantilla de fábrica Azure Resource Manager (ARM). Para incluir la configuración del cifrado de claves administradas por el cliente en la plantilla de Resource Manager para la integración continua y entrega continua (CI/CD):

  1. Asegurarse de que la fábrica está en modo Git
  2. Vaya al portal de administración, a la sección Clave administrada por el cliente
  3. Active la opción Incluir en la plantilla de ARM.

Captura de pantalla de la opción para incluir una clave administrada por el cliente en la plantilla de ARM.

La siguiente configuración se agregará en la plantilla ARM. Estas propiedades se pueden parametrizar en canalizaciones de integración continua y entrega editando la configuración de parámetros Azure Resource Manager

Captura de pantalla de incluir la configuración de clave administrada por el cliente en Azure Resource Manager template.

Nota

Al agregar la configuración de cifrado a las plantillas de Resource Manager, se agrega una configuración de fábrica que invalidará otras opciones de configuración de fábrica, como las configuraciones de Git, en otros entornos. Si tiene esta configuración habilitada en un entorno con privilegios elevados, como UAT o PROD, consulte Parámetros globales en CI/CD.

Consulte los tutoriales para obtener información acerca del uso de Data Factory en otros escenarios.