Access data stores and file shares with Windows authentication from SSIS packages in Azure (Доступ к хранилищам данных и общим папкам с помощью проверки подлинности Windows из пакетов служб SSIS в Azure)

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Можно использовать проверку подлинности Windows для доступа к хранилищам данных, таким как серверы SQL Server, общие папки, Файлы Azure и т. д., из пакетов служб Integration Services, запущенных в среде выполнения интеграции Azure-SSIS Integration Runtime в Фабрике данных Azure (ADF) и Azure Synapse. Хранилища данных могут быть локальными, размещаться на виртуальных машинах Azure или выполняться в Azure в качестве управляемых служб. Если используются локальные хранилища, вам нужно присоединить Azure-SSIS IR к виртуальной сети (виртуальной сети Microsoft Azure), подключенной к вашей локальной сети. Подробнее см. в руководстве по присоединению Azure-SSIS IR к виртуальной сети Microsoft Azure. Есть четыре способа доступа к хранилищам данных с использованием проверки подлинности Windows из пакетов служб Integration Services, выполняющихся в Azure-SSIS IR.

Способ подключения Область действия Этап настройки Метод доступа в пакетах Число наборов учетных данных и подключенных ресурсов Тип подключенных ресурсов
Настройка контекста выполнения на уровне действий Для каждого выполняемого действия пакета служб Integration Services Настройте свойство проверки подлинности Windows для настройки контекста выполнения или запуска как при выполнении пакетов служб Integration Services в виде действий "Выполнение пакета SSIS" в конвейерах ADF.

Дополнительные сведения см. в руководстве по настройке действий "Выполнение пакета SSIS".
Выполняйте доступ к ресурсам напрямую в пакетах, например используйте UNC-путь для доступа к файловым ресурсам или файлам Azure: \\YourFileShareServerName\YourFolderName или \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName. Поддержка только одного набора учетных данных для всех подключенных ресурсов: — общие файловые ресурсы в локальной среде и (или) на виртуальных машинах Azure;

— файлы Azure, как описано в этой статье.

– серверы SQL Server в локальной среде или на виртуальных машинах Azure с проверкой подлинности Windows;

– другие ресурсы с проверкой подлинности Windows.
Настройка контекста выполнения на уровне каталога Для каждой среды Azure-SSIS IR, но переопределяется при настройке контекста выполнения на уровне действия (см. выше) Выполните хранимую процедуру SSISDB catalog.set_execution_credential, чтобы настроить контекст выполнения или запуска как.

Дополнительные сведения см. ниже в этой статье.
Выполняйте доступ к ресурсам напрямую в пакетах, например используйте UNC-путь для доступа к файловым ресурсам или файлам Azure: \\YourFileShareServerName\YourFolderName или \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName. Поддержка только одного набора учетных данных для всех подключенных ресурсов: — общие файловые ресурсы в локальной среде и (или) на виртуальных машинах Azure;

— файлы Azure, как описано в этой статье.

– серверы SQL Server в локальной среде или на виртуальных машинах Azure с проверкой подлинности Windows;

– другие ресурсы с проверкой подлинности Windows.
Сохранение учетных данных посредством команды cmdkey Для каждой среды Azure-SSIS IR, но переопределяется при настройке контекста выполнения на уровне действия/каталога (см. выше) Выполните команду cmdkey в пользовательском скрипте установки (main.cmd) при подготовке среды Azure-SSIS IR, например, если используются общие папки, Файлы Azure или SQL Server:

cmdkey /add:YourFileShareServerName /user:YourDomainName\YourUsername /pass:YourPassword,

cmdkey /add:YourAzureStorageAccountName.file.core.windows.net /user:azure\YourAzureStorageAccountName /pass:YourAccessKeyили

cmdkey /add:YourSQLServerFullyQualifiedDomainNameOrIPAddress:YorSQLServerPort /user:YourDomainName\YourUsername /pass:YourPassword.

Дополнительные сведения см. в статье Пользовательская установка для среды выполнения интеграции Azure–SSI.
Выполняйте доступ к ресурсам напрямую в пакетах, например используйте UNC-путь для доступа к файловым ресурсам или файлам Azure: \\YourFileShareServerName\YourFolderName или \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName. Поддержка нескольких наборов учетных данных для разных подключенных ресурсов: — общие файловые ресурсы в локальной среде и (или) на виртуальных машинах Azure;

— файлы Azure, как описано в этой статье.

– серверы SQL Server в локальной среде или на виртуальных машинах Azure с проверкой подлинности Windows;

– другие ресурсы с проверкой подлинности Windows.
Подключение дисков во время выполнения пакета (без сохранения состояния) Для каждого пакета Выполните команду net use в задаче "Выполнение процесса", которая добавляется в начало потока управления в пакетах, например, net use D: \\YourFileShareServerName\YourFolderName. Обращение к общим папкам через подключенные диски. Поддержка нескольких дисков для разных файловых ресурсов: — общие файловые ресурсы в локальной среде и (или) на виртуальных машинах Azure;

— файлы Azure, как описано в этой статье.

Предупреждение

Если вы не применяете указанные выше способы доступа к хранилищам данных с использованием проверки подлинности Windows, зависящие от проверки подлинности Windows пакеты не смогут получить к ним доступ и будут возвращать ошибки во время выполнения.

Далее в статье описано, как настроить каталог служб Integration Services (SSISDB), размещенный в Базе данных SQL/Управляемом экземпляре SQL, для запуска пакетов в среде Azure-SSIS IR, в которой используется проверка подлинности Windows для доступа к хранилищам данных.

Можно использовать только один набор учетных данных

Если в пакете служб Integration Services применяется проверка подлинности Windows, можно использовать только один набор учетных данных. Учетные данные домена, указываемые при выполнении инструкций из этой статьи, применяются ко всем операциям (интерактивным или запланированным) в среде Azure-SSIS IR, пока эти данные не будут изменены или удалены. Если пакет должен подключаться к нескольким хранилищам данных с разными наборами учетных данных, следует рассмотреть другие описанные выше способы.

Указание учетных данных домена для проверки подлинности Windows

Чтобы задать учетные данные домена, с помощью которых пакеты смогут подключаться к локальным хранилищам данных, используя проверку подлинности Windows, сделайте следующее:

  1. С помощью SQL Server Management Studio (SSMS) или другого средства подключитесь к серверу Базы данных SQL или Управляемому экземпляру SQL, где размещается SSISDB. Дополнительные сведения см. в статье Подключение к каталогу SSIS (SSISDB) в Azure.

  2. Откройте окно запроса для текущей базы данных SSISDB.

  3. Выполните следующую хранимую процедуру и укажите соответствующие учетные данные домена:

    catalog.set_execution_credential @user='<your user name>', @domain='<your domain name>', @password='<your password>'
    
  4. Запустите пакеты служб SSIS. Пакеты будут использовать предоставленные учетные данные для доступа к локальным хранилищам данных с помощью проверки подлинности Windows.

Просмотр учетных данных домена

Чтобы просмотреть активные учетные данные домена, выполните указанные ниже действия.

  1. С помощью SSMS или другого средства подключитесь к серверу Базы данных SQL или Управляемому экземпляру SQL, где размещается SSISDB. Дополнительные сведения см. в статье Подключение к каталогу SSIS (SSISDB) в Azure.

  2. Откройте окно запроса для текущей базы данных SSISDB.

  3. Выполните следующую хранимую процедуру и просмотрите выходные данные:

    SELECT * 
    FROM catalog.master_properties
    WHERE property_name = 'EXECUTION_DOMAIN' OR property_name = 'EXECUTION_USER'
    

Удаление учетных данных домена

Чтобы удалить учетные данные, заданные согласно инструкциям в этой статье, выполните указанные ниже действия.

  1. С помощью SSMS или другого средства подключитесь к серверу Базы данных SQL или Управляемому экземпляру SQL, где размещается SSISDB. Дополнительные сведения см. в статье Подключение к каталогу SSIS (SSISDB) в Azure.

  2. Откройте окно запроса для текущей базы данных SSISDB.

  3. Выполните следующую хранимую процедуру:

    catalog.set_execution_credential @user='', @domain='', @password=''
    

Подключение к SQL Server в локальной среде

Чтобы проверить возможность подключения к SQL Server в локальной среде, сделайте следующее:

  1. Чтобы выполнить эту проверку, найдите компьютер, не присоединенный к домену.

  2. На не присоединенном к домену компьютере выполните следующую команду, чтобы запустить SSMS с требуемыми учетными данными домена:

    runas.exe /netonly /user:<domain>\<username> SSMS.exe
    
  3. В среде SSMS проверьте возможность подключения к требуемому серверу SQL Server в локальной среде.

Необходимые компоненты

Для доступа к SQL Server в локальной среде из пакетов, выполняющихся в Azure, сделайте следующее:

  1. В диспетчере конфигурации SQL Server включите протокол TCP/IP.

  2. Разрешите доступ в брандмауэре Windows. Дополнительные сведения см. в руководстве по настройке брандмауэра Windows для включения доступа к SQL Server.

  3. Присоедините Azure-SSIS IR к виртуальной сети Microsoft Azure, которая подключена к локальной среде SQL Server. Дополнительные сведения см. в статье Присоединение Azure-SSIS IR к виртуальной сети Microsoft Azure.

  4. Выполните хранимую процедуру SSISDB catalog.set_execution_credential, чтобы указать учетные данные, как описано в этой статье.

Подключение к общей папке в локальной среде

Чтобы проверить возможность подключения к общей папке в локальной среде, сделайте следующее:

  1. Чтобы выполнить эту проверку, найдите компьютер, не присоединенный к домену.

  2. На компьютере, не присоединенном к домену, выполните приведенные ниже команды. Эти команды открывают окно командной строки с требуемыми учетными данными домена, а затем проверяют возможность подключения к общей папке в локальной среде, получая список каталогов.

    runas.exe /netonly /user:<domain>\<username> cmd.exe
    dir \\fileshare
    
  3. Проверьте, возвращен ли список каталогов из общей папки в локальной среде.

Необходимые компоненты

Для доступа к общей папке в локальной среде из пакетов, выполняющихся в Azure, сделайте следующее:

  1. Разрешите доступ в брандмауэре Windows.

  2. Присоедините Azure-SSIS IR к виртуальной сети Microsoft Azure, которая подключена к общей папке в локальной среде. Дополнительные сведения см. в статье Присоединение Azure-SSIS IR к виртуальной сети Microsoft Azure.

  3. Выполните хранимую процедуру SSISDB catalog.set_execution_credential, чтобы указать учетные данные, как описано в этой статье.

Подключение к общей папке на виртуальной машине Azure

Для включения доступа к общей папке на виртуальной машине Azure из пакетов, выполняющихся в Azure, сделайте следующее:

  1. С помощью SSMS или другого средства подключитесь к серверу Базы данных SQL или Управляемому экземпляру SQL, где размещается SSISDB. Дополнительные сведения см. в статье Подключение к каталогу SSIS (SSISDB) в Azure.

  2. Откройте окно запроса для текущей базы данных SSISDB.

  3. Выполните следующую хранимую процедуру и укажите соответствующие учетные данные домена:

    catalog.set_execution_credential @domain = N'.', @user = N'username of local account on Azure virtual machine', @password = N'password'
    

Подключение к общей папке в службе файлов Azure

Дополнительные сведения о файлах Azure см. в разделе Файлы Azure.

Для включения доступа к общей папке в Файлах Azure из пакетов, выполняющихся в Azure, сделайте следующее:

  1. С помощью SSMS или другого средства подключитесь к серверу Базы данных SQL или Управляемому экземпляру SQL, где размещается SSISDB. Дополнительные сведения см. в статье Подключение к каталогу SSIS (SSISDB) в Azure.

  2. Откройте окно запроса для текущей базы данных SSISDB.

  3. Выполните следующую хранимую процедуру и укажите соответствующие учетные данные домена:

    catalog.set_execution_credential @domain = N'Azure', @user = N'<storage-account-name>', @password = N'<storage-account-key>'