Compartir a través de


Uso de una identidad administrada para ejecutar un trabajo de exportación continua

Un trabajo de exportación continua exporta datos a una tabla externa con una consulta ejecutada periódicamente.

El trabajo de exportación continua debe configurarse con una identidad administrada en los escenarios siguientes:

  • Cuando la tabla externa usa la autenticación de suplantación.
  • Cuando la consulta hace referencia a tablas en otras bases de datos.
  • Cuando la consulta hace referencia a tablas con una directiva de seguridad de nivel de fila habilitada.

Un trabajo de exportación continua configurado con una identidad administrada se realiza en nombre de la identidad administrada.

En este artículo, aprenderá a configurar una identidad administrada asignada por el sistema o asignada por el usuario y a crear un trabajo de exportación continua mediante esa identidad.

Requisitos previos

Configuración de una identidad administrada

Hay dos tipos de identidades administradas:

  • Asignada por el sistema: una identidad asignada por el sistema está conectada al clúster y se quita cuando se quita el clúster. Solo se permite una identidad asignada por el sistema por clúster.

  • Asignado por el usuario: una identidad administrada asignada por el usuario es un recurso de Azure independiente. Se pueden asignar varias identidades asignadas por el usuario al clúster.

Seleccione una de las pestañas siguientes para configurar el tipo de identidad administrada preferido.

  1. Siga los pasos para agregar una identidad asignada por el usuario.

  2. En el Azure Portal, en el menú izquierdo del recurso de identidad administrada, seleccione Propiedades. Copie y guarde el identificador de inquilino y el identificador de entidad de seguridad para usarlos en los pasos siguientes.

    Captura de pantalla del área de Azure Portal con identificadores de identidad administrada.

  3. Ejecute el siguiente comando de directiva .alter-merge managed_identity , reemplazando <objectId> por el identificador de objeto de identidad administrada del paso anterior. Este comando establece una directiva de identidad administrada en el clúster que permite usar la identidad administrada con la exportación continua.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Nota

    Para establecer la directiva en una base de datos específica, use database <DatabaseName> en lugar de cluster.

  4. Ejecute el siguiente comando para conceder permisos al Visor de bases de datos de identidad administrada en todas las bases de datos usadas para la exportación continua, como la base de datos que contiene la tabla externa.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Reemplace <DatabaseName> por la base de datos pertinente, <objectId> por el identificador de entidad de seguridad de identidad administrada del paso 2 y <tenantId> por el id. de inquilino de Microsoft Entra del paso 2.

Configuración de una tabla externa

Las tablas externas hacen referencia a los datos ubicados en Azure Storage, como Azure Blob Storage, Azure Data Lake Gen1 y Azure Data Lake Gen2, o SQL Server.

Seleccione una de las siguientes pestañas para configurar una tabla externa de Azure Storage o SQL Server.

  1. Cree un cadena de conexión basado en las plantillas de cadena de conexión de almacenamiento. Esta cadena indica el recurso para acceder a y su información de autenticación. En el caso de los flujos de exportación continuas, se recomienda la autenticación de suplantación.

  2. Ejecute la tabla .create o .alter external para crear la tabla. Use el cadena de conexión del paso anterior como argumento storageConnectionString.

    Por ejemplo, el siguiente comando crea MyExternalTable que hace referencia a datos con formato CSV en mycontainer de mystorageaccount en Azure Blob Storage. La tabla tiene dos columnas, una para un entero x y otra para una cadena s. El cadena de conexión termina con ;impersonate, que indica que se usa la autenticación de suplantación para acceder al almacén de datos.

    .create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
    ( 
        h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' 
    )
    
  3. Conceda a la identidad administrada permisos de escritura sobre el almacén de datos externo pertinente. La identidad administrada necesita permisos de escritura porque el trabajo de exportación continua exporta datos al almacén de datos en nombre de la identidad administrada.

    Almacén de datos externo Permisos necesarios Concesión de los permisos
    Azure Blob Storage Colaborador de datos de blobs de almacenamiento Asignación de un rol de Azure
    Data Lake Storage Gen2 Colaborador de datos de blobs de almacenamiento Asignación de un rol de Azure
    Data Lake Storage Gen1 Colaborador Asignación de un rol de Azure

Creación de un trabajo de exportación continua

Seleccione una de las siguientes pestañas para crear un trabajo de exportación continua que se ejecutará en nombre de una identidad administrada asignada por el usuario o asignada por el sistema.

Ejecute el comando .create-or-alter continuous-export con la managedIdentity propiedad establecida en el identificador de objeto de identidad administrada.

Por ejemplo, el siguiente comando crea un trabajo de exportación continua denominado MyExport para exportar los datos en MyExternalTableMyTable en nombre de una identidad administrada asignada por el usuario. <objectId> debe ser un identificador de objeto de identidad administrada.

.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable