Habilitar la autenticación de Azure Active Directory para Azure-SSIS Integration Runtime

SE APLICA A: Azure Data Factory Azure Synapse Analytics

En este artículo se muestra cómo habilitar la autenticación de Azure Active Directory (Azure AD) con el sistema especificado o la identidad administrada asignada por el usuario para Azure Data Factory (ADF) y usarla en lugar de los métodos de autenticación convencionales (como la autenticación de SQL) para:

  • Crear un entorno de ejecución de integración de Azure-SSIS que, a su vez, aprovisionará la base de datos del catálogo de SSIS (SSISDB) en el servidor de Azure SQL Database o la Instancia administrada en su nombre.

  • Conectarse a varios recursos de Azure al ejecutar paquetes SSIS en Azure-SSIS IR.

Para más información sobre la identidad administrada de ADF, consulte Identidad administrada de Data Factory.

Nota

  • En este escenario, la autenticación de Azure AD con el sistema especificado o la identidad administrada asignada por el usuario para su instancia de ADF solo se usa en el aprovisionamiento y en las operaciones de inicio posteriores de Azure-SSIS IR que, a su vez, aprovisionará o conectará SSISDB. Para las ejecuciones de paquetes de SSIS, la instancia de Azure-SSIS IR se conectará con SSISDB para capturar los paquetes mediante la autenticación de SQL con cuentas totalmente administradas (AzureIntegrationServiceDbo y AzureIntegrationServiceWorker) que se crean durante el aprovisionamiento de SSISDB.

  • Si ya ha creado una instancia de Azure-SSIS IR con la autenticación de SQL, no puede volver a configurarla para usar la autenticación de Azure AD con PowerShell en este momento, pero puede hacerlo en Azure Portal o la aplicación ADF.

Nota

En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Habilite la autenticación de Azure AD para Azure SQL Database

Azure SQL Database admite la creación de una base de datos con un usuario de Azure AD. En primer lugar, debe crear un grupo de Azure AD con el sistema especificado o la identidad administrada asignada por el usuario para ADF como miembro. A continuación, debe establecer un usuario de Azure AD como administrador de Active Directory para el servidor de Azure SQL Database y luego conectarse desde SQL Server Management Studio (SSMS) con ese usuario. Por último, deberá crear un usuario contenido que represente al grupo de Azure AD, de modo que Azure-SSIS IR pueda usar el sistema especificado o la identidad administrada asignada por el usuario para ADF para crear SSISDB en su nombre.

Cree un grupo de Azure AD con el sistema especificado o la identidad administrada asignada por el usuario para ADF como miembro

Puede utilizar un grupo de Azure AD existente o crear uno nuevo con Azure AD PowerShell.

  1. Instale el módulo de Azure AD PowerShell.

  2. Inicie sesión con Connect-AzureAD, ejecute el siguiente cmdlet para crear el grupo y guárdelo en una variable:

    $Group = New-AzureADGroup -DisplayName "SSISIrGroup" `
                              -MailEnabled $false `
                              -SecurityEnabled $true `
                              -MailNickName "NotSet"
    

    El resultado es similar al del siguiente ejemplo, que también muestra el valor de la variable:

    $Group
    
    ObjectId DisplayName Description
    -------- ----------- -----------
    6de75f3c-8b2f-4bf4-b9f8-78cc60a18050 SSISIrGroup
    
  3. Agregue el sistema especificado o la identidad administrada asignada por el usuario para ADF al grupo. Puede seguir el artículo Identidad administrada de Data Factory para obtener el identificador de objeto del sistema especificado o la identidad administrada asignada por el usuario (por ejemplo, 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc, pero no use el id. de aplicación de la identidad administrada para este propósito).

    Add-AzureAdGroupMember -ObjectId $Group.ObjectId -RefObjectId 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc
    

    También puede comprobar la pertenencia al grupo más adelante.

    Get-AzureAdGroupMember -ObjectId $Group.ObjectId
    

Configurar la autenticación de Azure AD para Azure SQL Database

Puede configurar y administrar la autenticación de Azure AD para Azure SQL Database siguiendo estos pasos:

  1. En Azure Portal, seleccione Todos los servicios -> Servidores SQL en el panel de navegación izquierdo.

  2. Seleccione el servidor de Azure SQL Database que quiera configurar con la autenticación de Azure AD.

  3. En la sección Configuración de la hoja, haga clic en Administrador de Active Directory.

  4. En la barra de comandos, seleccione Establecer administrador.

  5. Elija una cuenta de usuario de Azure AD para que sea el administrador del servidor y, después, haga clic en Seleccionar.

  6. En la barra de comandos, seleccione Guardar.

Cree un usuario contenido en Azure SQL Database que represente al grupo de Azure AD

Para el siguiente paso, necesita SSMS.

  1. Inicie SSMS.

  2. En el cuadro de diálogo Conectar al servidor, escriba el nombre de su servidor en el campo Nombre del servidor.

  3. En el campo Autenticación, seleccione Active Directory - Universal compatible con MFA (también puede usar los otros dos tipos de autenticación de Active Directory; consulte Configuración y administración de la autenticación de Azure AD para Azure SQL Database).

  4. En el campo Nombre de usuario, escriba el nombre de la cuenta de Azure AD que estableció como administrador del servidor, por ejemplo, testuser@xxxonline.com.

  5. Seleccione Conectar y complete el proceso de inicio de sesión.

  6. En el Explorador de objetos, expanda la carpeta Bases de datos -> Bases de datos del sistema.

  7. Haga clic con el botón derecho en la base de datos maestra y seleccione Nueva consulta.

  8. En la ventana de consulta, escriba el siguiente comando T-SQL y seleccione Ejecutar en la barra de herramientas.

    CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
    

    El comando debería completarse correctamente y crear el usuario contenido para representar al grupo.

  9. Borre la ventana de consulta, escriba el siguiente comando T-SQL y seleccione Ejecutar en la barra de herramientas.

    ALTER ROLE dbmanager ADD MEMBER [SSISIrGroup]
    

    El comando debería completarse correctamente y conceder al usuario contenido la capacidad de crear una base de datos (SSISDB).

  10. Si la SSISDB se ha creado mediante la autenticación de SQL y desea cambiar a la autenticación de Azure AD, con el fin de que Azure-SSIS IR tenga acceso a ella, primero debe asegurarse de que los pasos señalados anteriormente para conceder permisos a la base de datos maestra (master) se han realizado correctamente. Después, haga clic con el botón derecho en la base de datos SSISDB y seleccione Nueva consulta.

    1. En la ventana de consulta, escriba el siguiente comando T-SQL y seleccione Ejecutar en la barra de herramientas.

      CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
      

      El comando debería completarse correctamente y crear el usuario contenido para representar al grupo.

    2. Borre la ventana de consulta, escriba el siguiente comando T-SQL y seleccione Ejecutar en la barra de herramientas.

      ALTER ROLE db_owner ADD MEMBER [SSISIrGroup]
      

      El comando debería completarse correctamente y conceder al usuario contenido la capacidad de acceder a SSISDB.

Habilite la autenticación de Azure AD para Azure SQL Managed Instance

Azure SQL Managed Instance admite la creación de una base de datos con sistema especificado o la identidad administrada asignada por el usuario para ADF directamente. No necesita unir el sistema especificado o la identidad administrada asignada por el usuario para ADF a un grupo de Azure AD ni crear un usuario contenido que represente dicho grupo en Azure SQL Managed Instance.

Configuración de la autenticación de Azure AD para Instancia administrada de Azure SQL

Siga los pasos que aparecen en Aprovisionamiento de un administrador de Azure AD para Azure SQL Managed Instance.

Agregue el sistema especificado o la identidad administrada asignada por el usuario para ADF como usuario de Azure SQL Managed Instance

Para el siguiente paso, necesita SSMS.

  1. Inicie SSMS.

  2. Conéctese a Azure SQL Managed Instance con una cuenta de SQL Server que sea sysadmin. Esta es una limitación temporal que se quitará una vez que el soporte para las entidades de seguridad (inicios de sesión) del servidor de Azure AD de Azure SQL Managed Instance estén disponibles con carácter general. Si intenta usar una cuenta de administrador de Azure AD para crear el inicio de sesión, verá el siguiente error: Mens. 15247, nivel 16, estado 1, línea 1 El usuario no tiene permiso para realizar esta acción.

  3. En el Explorador de objetos, expanda la carpeta Bases de datos -> Bases de datos del sistema.

  4. Haga clic con el botón derecho en la base de datos maestra y seleccione Nueva consulta.

  5. En la ventana de consulta, ejecute el siguiente script de T-SQL para agregar el sistema especificado o la identidad administrada asignada por el usuario para ADF como usuario.

    CREATE LOGIN [{your managed identity name}] FROM EXTERNAL PROVIDER
    ALTER SERVER ROLE [dbcreator] ADD MEMBER [{your managed identity name}]
    ALTER SERVER ROLE [securityadmin] ADD MEMBER [{your managed identity name}]
    

    Si usa la identidad administrada del sistema para ADF, el nombre de la identidad administrada debe ser el nombre de ADF. Si usa una identidad administrada asignada por el usuario para ADF, el nombre de la identidad administrada debe ser el nombre de la identidad administrada asignada por el usuario especificado.

    El comando debería completarse correctamente y conceder al sistema o identidad administrada asignada por el usuario para ADF la capacidad de crear una base de datos (SSISDB).

  6. Si la SSISDB se ha creado mediante la autenticación de SQL y desea cambiar a la autenticación de Azure AD, con el fin de que Azure-SSIS IR tenga acceso a ella, primero debe asegurarse de que los pasos señalados anteriormente para conceder permisos a la base de datos maestra (master) se han realizado correctamente. Después, haga clic con el botón derecho en la base de datos SSISDB y seleccione Nueva consulta.

    1. En la ventana de consulta, escriba el siguiente comando T-SQL y seleccione Ejecutar en la barra de herramientas.

      CREATE USER [{your managed identity name}] FOR LOGIN [{your managed identity name}] WITH DEFAULT_SCHEMA = dbo
      ALTER ROLE db_owner ADD MEMBER [{your managed identity name}]
      

      El comando debería completarse correctamente y conceder al sistema o identidad administrada asignada por el usuario para ADF la capacidad de acceder a SSISDB.

Aprovisionar Azure-SSIS IR en Azure Portal o ADF

Al aprovisionar la aplicación Azure-SSIS IR en Azure Portal/ADF, en la página Configuración de implementación, seleccione la casilla Crear catálogo de SSIS (SSISDB) hospedado por un servidor de Azure SQL Database o una instancia administrada para almacenar los proyectos, paquetes, entornos y registros de ejecución y, a continuación, active la casilla Usar autenticación de AAD con la identidad administrada del sistema para Data Factory o Usar autenticación de AAD con una identidad administrada asignada por el usuario para Data Factory para elegir un método de autenticación de Azure AD para Azure-SSIS IR para acceder al servidor de base de datos que hospeda SSISDB.

Para más información, consulte Creación de una instancia de Azure-SSIS IR en ADF.

Aprovisionamiento de Azure-SSIS IR con PowerShell

Para aprovisionar el entorno de ejecución para la integración de SSIS en Azure con PowerShell, haga lo siguiente:

  1. Instale el módulo Azure PowerShell.

  2. En el script, no establezca el parámetro CatalogAdminCredential. Por ejemplo:

    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                          -DataFactoryName $DataFactoryName `
                                          -Name $AzureSSISName `
                                          -Description $AzureSSISDescription `
                                          -Type Managed `
                                          -Location $AzureSSISLocation `
                                          -NodeSize $AzureSSISNodeSize `
                                          -NodeCount $AzureSSISNodeNumber `
                                          -Edition $AzureSSISEdition `
                                          -MaxParallelExecutionsPerNode $AzureSSISMaxParallelExecutionsPerNode `
                                          -CatalogServerEndpoint $SSISDBServerEndpoint `
                                          -CatalogPricingTier $SSISDBPricingTier
    
    Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                            -DataFactoryName $DataFactoryName `
                                            -Name $AzureSSISName
    

Ejecución de paquetes SSIS mediante autenticación de Azure AD con el sistema especificado o la identidad administrada asignada por el usuario para ADF

Al ejecutar paquetes SSIS en Azure-SSIS IR, puede usar la autenticación de Azure AD el sistema especificado o la identidad administrada asignada por el usuario para que ADF se conecte a varios recursos de Azure. Actualmente, admitimos la autenticación de AD con el sistema especificado o la identidad administrada asignada por el usuario para ADF en los siguientes administradores de conexiones.