在 Azure 中從 SSIS 套件使用 Windows 驗證來存取資料存放區和檔案共用

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

您可以使用 Windows 驗證,從 Azure Data Factory (ADF) 和 Azure Synapse 中 Azure-SSIS Integration Runtime (IR) 上執行的 SSIS 套件存取資料存放區,例如 SQL 伺服器、檔案共用、Azure 檔案等。 您的資料存放區可以是內部部署、裝載在 Azure 虛擬機器 (VM)上,也可以作為受控服務在 Azure 中執行。 如果是在內部部署環境,則需要將 Azure SSIS IR 加入連線到內部部署網路的虛擬網路 (Microsoft Azure 虛擬網路),請參閱將 Azure-SSIS IR 加入 Microsoft Azure 虛擬網路。 從 Azure-SSIS IR 上執行的 SSIS 套件中使用 Windows 驗證存取資料存放區有四種方法:

連線方式 有效範圍 設定步驟 套件中的存取方法 認證組數和已連線資源 已連線資源的類型
設定活動層級的執行內容 每個執行 SSIS 套件活動 在執行 SSIS 套件作為 ADF 管線中的執行 SSIS 套件活動時,設定 Windows 驗證屬性來設定 "Execution/Run as" 內容。

如需詳細資訊,請參閱設定執行 SSIS 套件活動
例如,直接在套件中存取資源,例如,使用 UNC 路徑來存取檔案共用或 Azure 檔案儲存體:\\YourFileShareServerName\YourFolderName\\YourAzureStorageAccountName.file.core.windows.net\YourFolderName 針對所有已連線的資源只支援一組認證 - 內部部署/Azure VM 上的檔案共用

- Azure 檔案,請參閱使用 Azure 檔案共用

- 內部部署 SQL Server/Azure VM 搭配 Windows 驗證

- 其他資源搭配 Windows 驗證
設定目錄層級的執行內容 每個 Azure-SSIS IR,但在設定活動等級執行內容時被覆寫 (參見上文) 執行 SSISDB catalog.set_execution_credential 預存程序,以設定 "Execution/Run as" 內容。

如需詳細資訊,請參閱本文下方的其餘部分。
例如,直接在套件中存取資源,例如,使用 UNC 路徑來存取檔案共用或 Azure 檔案儲存體:\\YourFileShareServerName\YourFolderName\\YourAzureStorageAccountName.file.core.windows.net\YourFolderName 針對所有已連線的資源只支援一組認證 - 內部部署/Azure VM 上的檔案共用

- Azure 檔案,請參閱使用 Azure 檔案共用

- 內部部署 SQL Server/Azure VM 搭配 Windows 驗證

- 其他資源搭配 Windows 驗證
透過 cmdkey 命令保存認證 每個 Azure-SSIS IR,但在設定活動/目錄等級執行內容時被覆寫 (參見上文) 佈建 Azure-SSIS IR 時以自訂安裝指令碼 (main.cmd) 執行 cmdkey 命令,例如,如果您使用檔案共用、Azure 檔案儲存體或 SQL 伺服器:

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 SSIS IR 的安裝
例如,直接在套件中存取資源,例如,使用 UNC 路徑來存取檔案共用或 Azure 檔案儲存體:\\YourFileShareServerName\YourFolderName\\YourAzureStorageAccountName.file.core.windows.net\YourFolderName 支援針對不同的連線資源使用多組認證 - 內部部署/Azure VM 上的檔案共用

- Azure 檔案,請參閱使用 Azure 檔案共用

- 內部部署 SQL Server/Azure VM 搭配 Windows 驗證

- 其他資源搭配 Windows 驗證
在套件執行期間裝載磁碟機 (非持續性) 每個套件 以在套件控制流程一開始加入的「執行處理工作」執行 net use 命令,例如:net use D: \\YourFileShareServerName\YourFolderName 透過對應磁碟機存取檔案共用 支援不同的檔案共用使用多個磁碟機 - 內部部署/Azure VM 上的檔案共用

- Azure 檔案,請參閱使用 Azure 檔案共用

警告

如果您不使用上述的任何方法利用 Windows 驗證來存取資料存放區,相依於 Windows 驗證的套件會無法存取那些存放區,而且會在執行階段失敗。

本文的其餘部分會說明如何設定 SQL Database/SQL 受控執行個體中裝載的 SSIS 目錄 (SSISDB),以在 Azure SSIS IR 上執行使用 Windows 驗證來存取資料存放區的套件。

您只能使用一組認證

當您在 SSIS 套件中使用 Windows 驗證時,您只能使用一組認證。 遵循本文步驟將所提供的網域認證套用於 Azure-SSIS IR 上的所有套件執行 (互動或排程),直到您變更或移除這些認證為止。 如果您的套件必須使用不同組認證連線到多個資料存放區,您應該考慮上述替代方法。

提供 Windows 驗證的網域認證

若要提供網域認證,讓套件使用 Windows 驗證以存取內部部署資料存放區,請執行下列動作:

  1. 使用 SQL Server Management Studio (SSMS) 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB

  2. 使用 SSISDB 作為目前的資料庫,開啟查詢視窗。

  3. 執行下列預存程序,並提供適當的網域認證:

    catalog.set_execution_credential @user='<your user name>', @domain='<your domain name>', @password='<your password>'
    
  4. 執行 SSIS 套件。 套件會使用您提供的認證,透過 Windows 驗證存取內部部署資料存放區。

檢視網域認證

若要檢視作用中的網域認證,請執行下列動作:

  1. 使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB

  2. 使用 SSISDB 作為目前的資料庫,開啟查詢視窗。

  3. 執行下列預存程序並檢查輸出:

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

清除網域認證

若要清除並移除本文中所述您所提供的認證,請執行下列動作:

  1. 使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB

  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。

必要條件

若要從在 Azure 中執行的套件存取內部部署 SQL Server,請執行下列動作:

  1. 在 SQL Server 組態管理員中,啟用 TCP/IP 通訊協定。

  2. 允許通過 Windows 防火牆進行存取。 如需詳細資訊,請參閱設定 Windows 防火牆以存取 SQL Server

  3. 將 Azure-SSIS IR 加入連線到內部部署 SQL Server 的 Microsoft Azure 虛擬網路。 如需詳細資訊,請參閱將 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 VM 上的檔案共用

若要從 Azure 中執行的套件存取 Azure VM 上的檔案共用,請執行下列動作:

  1. 使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB

  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 Files 中的檔案共用,請執行下列動作:

  1. 使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB

  2. 使用 SSISDB 作為目前的資料庫,開啟查詢視窗。

  3. 執行下列預存程序,並提供適當的網域認證:

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