在 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 驗證以存取內部部署資料存放區,請執行下列動作:
使用 SQL Server Management Studio (SSMS) 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB。
使用 SSISDB 作為目前的資料庫,開啟查詢視窗。
執行下列預存程序,並提供適當的網域認證:
catalog.set_execution_credential @user='<your user name>', @domain='<your domain name>', @password='<your password>'
執行 SSIS 套件。 套件會使用您提供的認證,透過 Windows 驗證存取內部部署資料存放區。
檢視網域認證
若要檢視作用中的網域認證,請執行下列動作:
使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB。
使用 SSISDB 作為目前的資料庫,開啟查詢視窗。
執行下列預存程序並檢查輸出:
SELECT * FROM catalog.master_properties WHERE property_name = 'EXECUTION_DOMAIN' OR property_name = 'EXECUTION_USER'
清除網域認證
若要清除並移除本文中所述您所提供的認證,請執行下列動作:
使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB。
使用 SSISDB 作為目前的資料庫,開啟查詢視窗。
執行下列預存程序:
catalog.set_execution_credential @user='', @domain='', @password=''
連線到內部部署 SQL Server
若要檢查是否可以連線至內部部署 SQL Server,請執行下列動作:
若要執行這項測試,請尋找未加入網域的電腦。
在未加入網域的電腦上,執行下列命令,以您想要使用的網域認證啟動 SSMS:
runas.exe /netonly /user:<domain>\<username> SSMS.exe
從 SSMS 中,檢查您是否可以連線至內部部署 SQL Server。
必要條件
若要從在 Azure 中執行的套件存取內部部署 SQL Server,請執行下列動作:
在 SQL Server 組態管理員中,啟用 TCP/IP 通訊協定。
允許通過 Windows 防火牆進行存取。 如需詳細資訊,請參閱設定 Windows 防火牆以存取 SQL Server。
將 Azure-SSIS IR 加入連線到內部部署 SQL Server 的 Microsoft Azure 虛擬網路。 如需詳細資訊,請參閱將 Azure-SSIS IR 加入 Microsoft Azure 虛擬網路。
使用 SSISDB
catalog.set_execution_credential
預存程序提供本文所述的認證。
連線至內部部署檔案共用
若要檢查是否可以連線至內部部署檔案共用,請執行下列動作:
若要執行這項測試,請尋找未加入網域的電腦。
在未加入網域的電腦上,執行下列命令。 這些命令會使用您要使用的網域認證開啟命令提示字元視窗,然後藉由取得目錄清單來測試與內部部署檔案共用的連線。
runas.exe /netonly /user:<domain>\<username> cmd.exe dir \\fileshare
檢查是否會針對內部部署檔案共用傳回目錄清單。
必要條件
若要從 Azure 中執行的套件存取內部部署檔案共用,請執行下列動作:
允許通過 Windows 防火牆進行存取。
將 Azure-SSIS IR 加入連線到內部部署檔案共用的 Microsoft Azure 虛擬網路。 如需詳細資訊,請參閱將 Azure-SSIS IR 加入 Microsoft Azure 虛擬網路。
使用 SSISDB
catalog.set_execution_credential
預存程序提供本文所述的認證。
連線至 Azure VM 上的檔案共用
若要從 Azure 中執行的套件存取 Azure VM 上的檔案共用,請執行下列動作:
使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB。
使用 SSISDB 作為目前的資料庫,開啟查詢視窗。
執行下列預存程序,並提供適當的網域認證:
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 中的檔案共用,請執行下列動作:
使用 SSMS 或其他工具,連接到裝載 SSISDB 的 SQL Database/SQL 受控執行個體。 如需詳細資訊,請參閱連線至 Azure 中的 SSISDB。
使用 SSISDB 作為目前的資料庫,開啟查詢視窗。
執行下列預存程序,並提供適當的網域認證:
catalog.set_execution_credential @domain = N'Azure', @user = N'<storage-account-name>', @password = N'<storage-account-key>'
相關內容
- 部署您的套件。 如需詳細資訊,請參閱使用 SSMS 將 SSIS 專案部署到 Azure。
- 執行您的套件。 如需詳細資訊,請參閱在 Azure 中使用 SSMS 執行 SSIS 套件。
- 排程您的套件。 如需詳細資訊,請參閱在 Azure 中排程 SSIS 套件。