Cifrado de credenciales de almacenes de datos locales en Azure Data Factory

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. ¡Obtenga más información sobre cómo iniciar una nueva evaluación gratuita!

Puede cifrar y almacenar las credenciales de cualquiera de los almacenes de datos locales (servicios vinculados con información confidencial) en una máquina con entorno de ejecución de integración autohospedado.

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. 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.

Se pasa un archivo de definición JSON con credenciales al
cmdlet New-AzDataFactoryV2LinkedServiceEncryptedCredential para generar un archivo de definición JSON de salida con las credenciales cifradas. A continuación, se usa la definición de JSON actualizada para crear los servicios vinculados.

Creación de un servicio vinculado con credenciales cifradas

En este ejemplo se muestra cómo crear un servicio vinculado a un origen de datos de SQL Server local con credenciales cifradas.

Creación de la descripción inicial del archivo JSON del servicio vinculado

Cree un archivo JSON denominado SqlServerLinkedService.json con el siguiente contenido:

Reemplace <servername>, <databasename>, <username> y <password> por los valores de SQL Server antes de guardar el archivo. Y, reemplace <integration runtime name> por el nombre de su instancia de Integration Runtime.

{
    "properties": {
        "type": "SqlServer",
        "typeProperties": {
            "connectionString": "Server=<servername>;Database=<databasename>;User ID=<username>;Password=<password>;Timeout=60"
        },
        "connectVia": {
            "type": "integrationRuntimeReference",
            "referenceName": "<integration runtime name>"
        },
        "name": "SqlServerLinkedService"
    }
}

Cifrado de las credenciales

Para cifrar los datos confidenciales de la carga de JSON en un entorno de ejecución de integración autohospedado, ejecute New-AzDataFactoryV2LinkedServiceEncryptedCredential y pase la carga de JSON. Este cmdlet garantiza que las credenciales se cifran utilizando DPAPI y se almacenan en el nodo de Integration Runtime autohospedado de manera local. La carga de salida que contiene la referencia cifrada a la credencial se puede redirigir a otro archivo JSON (en este caso, "encryptedLinkedService.json").

Asegúrese de que se cumplen los siguientes requisitos previos:

  • La opción de acceso remoto está habilitada en el entorno de ejecución de integración autohospedado.
  • Para ejecutar el cmdlet, se usan PowerShell 7.0, o cualquier versión superior.
New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName 'test-selfhost-ir' -DefinitionFile ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.json

Uso de JSON con credenciales cifradas

Ahora, use el archivo JSON de salida del comando anterior que contiene la credencial cifrada para configurar SqlServerLinkedService.

Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -DefinitionFile ".\encryptedSqlServerLinkedService.json"

Para más información sobre las consideraciones de seguridad en el movimiento de datos, consulte Consideraciones sobre la seguridad del movimiento de datos.