啟用 Azure-SSIS 整合執行階段的 Microsoft Entra 驗證
適用於: Azure Data Factory Azure Synapse Analytics (預覽)
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
本文說明如何使用指定系統/使用者指派的受控識別為 Azure Data Factory (ADF) 或 Azure Synapse 啟用 Microsoft Entra 驗證,並取代傳統驗證方法 (例如 SQL 驗證),以完成下列目的:
建立 Azure-SSIS Integration Runtime (IR),以代表您在 Azure SQL Database 伺服器/受控執行個體中佈建 SSIS 目錄資料庫 (SSISDB)。
在 Azure-SSIS IR 上執行 SSIS 套件時,連線到各種 Azure 資源。
如需 ADF 受控識別的詳細資訊,請參閱 Data Factory 和 Azure Synapse 的受控識別 (部分機器翻譯)。
注意
在此案例中,使用 ADF 的指定系統/使用者指派的受控識別所進行的 Microsoft Entra 驗證,只會用於佈建和後續啟動 Azure-SSIS IR 作業,進而佈建或連線到 SSISDB。 針對 SSIS 套件執行,您的 Azure-SSIS IR 仍會使用 SQL 驗證,搭配在 SSISDB 佈建期間建立的完全受控帳戶 (AzureIntegrationServiceDbo 和 AzureIntegrationServiceWorker) 來連線到 SSISDB,以擷取套件。
若要使用連線管理員使用者指派的受控識別功能 (例如 OLEDB 連線管理員),則必須使用連線管理員中使用的相同使用者指派受控識別佈建 SSIS IR。
如果您已使用 SQL 驗證建立您的 Azure-SSIS IR,此時您無法將其重新設定為透過 PowerShell 使用 Microsoft Entra 驗證,但是您可以透過 Azure 入口網站/ADF 應用程式執行此操作。
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱安裝 Azure PowerShell (部分機器翻譯)。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。
在 Azure SQL Database 上啟用 Microsoft Entra 驗證
Azure SQL Database 支援由 Microsoft Entra 使用者建立資料庫。 首先,您需要以成員的身分,使用 ADF 的指定系統/使用者指派的受控識別來建立 Microsoft Entra 群組。 接著,您需要將 Microsoft Entra 使用者設定為 Azure SQL Database 伺服器的 Active Directory 管理員,然後在 SQL Server Management Studio (SSMS) 上將該使用者連線到伺服器。 最後,您需要建立一個代表 Microsoft Entra 群組的內含使用者,以便 Azure-SSIS IR 可以使用 ADF 的指定系統/使用者指派的受控識別,代表您建立 SSISDB。
以成員的身分,使用 ADF 的指定系統/使用者指派的受控識別來建立 Microsoft Entra 群組
您可以使用現有的 Microsoft Entra 群組,或使用 Azure AD PowerShell 建立一個新群組。
安裝 Azure AD PowerShell 模組。
使用
Connect-AzureAD
登入,執行下列 Cmdlet 以建立群組,並將其儲存在變數中:$Group = New-AzureADGroup -DisplayName "SSISIrGroup" ` -MailEnabled $false ` -SecurityEnabled $true ` -MailNickName "NotSet"
注意
自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模組已被淘汰。 若要深入了解,請閱讀淘汰更新。 在此日期之後,對這些模組的支援僅限於對 Microsoft Graph PowerShell SDK 的移轉協助和安全性修正。 淘汰的模組將繼續運作至 2025 年 3 月 30 日。
我們建議移轉至 Microsoft Graph PowerShell 以與 Microsoft Entra ID (以前稱為 Azure AD) 互動。 如需了解常見的移轉問題,請參閱移轉常見問題。 注意:MSOnline 1.0.x 版可能會在 2024 年 6 月 30 日之後發生中斷。
結果如下列範例所示,同時也顯示變數值:
$Group ObjectId DisplayName Description -------- ----------- ----------- 6de75f3c-8b2f-4bf4-b9f8-78cc60a18050 SSISIrGroup
將使用 ADF 的指定系統/使用者指派的受控識別新增至群組。 您可以遵循 Data Factory 或 Azure Synapse 的受控識別一文來取得 ADF 指定系統/使用者指派受控識別的物件標識碼(例如 aaaaaaaa-0000-1111-2222-bbbb,但請勿針對此目的使用應用程式識別符)。
Add-AzureAdGroupMember -ObjectId $Group.ObjectId -RefObjectId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
您也可以之後再檢查群組成員資格。
Get-AzureAdGroupMember -ObjectId $Group.ObjectId
針對 Azure SQL Database 設定 Microsoft Entra 驗證
您可以使用下列步驟為 Azure SQL Database 設定和管理 Microsoft Entra 驗證:
在 Azure 入口網站中,從左側導覽中選取 [所有服務] ->[SQL 伺服器]。
選取要使用 Microsoft Entra 驗證設定的 Azure SQL Database 伺服器。
在刀鋒視窗的 [設定] 區段中,選取 [Active Directory 管理員]。
在命令列中選取 [設定管理員]。
選取要設定為伺服器管理員的 Microsoft Entra 使用者帳戶,然後選取 [選取]。
在命令列中,選取 [儲存]。
在 Azure SQL Database 中,建立一個代表 Microsoft Entra 群組的內含使用者
在下一個步驟中,您需要 SSMS (部分機器翻譯)。
啟動 SSMS。
在 [連線到伺服器] 對話方塊中,在 [伺服器名稱] 欄位中輸入您的伺服器名稱。
在 [驗證] 欄位中,選取 [具 MFA 支援的 Active Directory - 通用] (您也可以使用另外兩種 Active Directory 驗證類型,請參閱設定及管理 Azure SQL Database 的 Microsoft Entra 驗證)。
在 [使用者名稱] 欄位中,輸入您設為伺服器管理員的 Microsoft Entra 帳戶名稱,例如 testuser@xxxonline.com。
選取 [連線],並完成登入程序。
在 [物件總管] 中,展開 [資料庫] -> [系統資料庫] 資料夾。
在 [master] 資料庫上按一下滑鼠右鍵,然後選取 [新增查詢]。
在查詢視窗中,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]。
CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
命令應該會順利完成,建立代表群組的內含使用者。
清除查詢視窗,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]。
ALTER ROLE dbmanager ADD MEMBER [SSISIrGroup]
命令應該會順利完成,將建立資料庫 (SSISDB) 的能力授與內含的使用者。
如果您的 SSISDB 是使用 SQL 驗證建立的,而且您想要切換為使用 Microsoft Entra 驗證來讓 Azure-SSIS IR 進行存取,請先確定上述將許可權授與 master 資料庫的步驟已順利完成。 接著,以滑鼠右鍵按一下 [SSISDB] 資料庫,然後選取 [新增查詢]。
在查詢視窗中,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]。
CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
命令應該會順利完成,建立代表群組的內含使用者。
清除查詢視窗,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]。
ALTER ROLE db_owner ADD MEMBER [SSISIrGroup]
命令應該會順利完成,將存取 SSISDB 的能力授與內含的使用者。
在 Azure SQL 受控執行個體上啟用 Microsoft Entra 驗證
「Azure SQL 受控執行個體」支援直接使用 ADF 的指定系統/使用者指派的受控識別來建立資料庫。 您不需要將 ADF 的指定系統/使用者指派的受控識別加入 Microsoft Entra 群組,也不需要在 Azure SQL 受控執行個體中建立代表該群組的內含使用者。
針對 Azure SQL 受控執行個體設定 Microsoft Entra 驗證
請遵循為 Azure SQL 受控執行個體佈建 Microsoft Entra 系統管理員中的步驟。
在 Azure SQL 受控執行個體中新增 ADF 或 Azure Synapse 的指定系統/使用者指派的受控識別作為使用者
在下一個步驟中,您需要 SSMS (部分機器翻譯)。
啟動 SSMS。
使用 sysadmin 的 SQL Server 帳戶連線至 Azure SQL 受控執行個體。 一旦 Azure SQL 受控執行個體上 Microsoft Entra 伺服器主體 (登入) 的支援正式推出之後,就會移除此暫時性限制。 如果您嘗試使用 Microsoft Entra 系統管理員帳戶來建立登入,您會看到下列錯誤:Msg 15247、層級 16、狀態 1、第 1 行使用者沒有執行此動作的許可權。
在 [物件總管] 中,展開 [資料庫] -> [系統資料庫] 資料夾。
在 [master] 資料庫上按一下滑鼠右鍵,然後選取 [新增查詢]。
在查詢視窗中執行下列 T-SQL 指令碼,以使用者的身分,新增 ADF 的指定系統/使用者指派的受控識別。
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}]
如果您針對 ADF 使用系統受控識別,則「受控識別名稱」應該是您的 ADF 名稱。 如果您針對 ADF 使用使用者指派的受控識別,則「受控識別名稱」 應該是指定的使用者指派受控識別名稱。
命令應該會順利完成,將建立資料庫 (SSISDB) 的能力授與 ADF 的系統/使用者指派的受控識別。
如果您的 SSISDB 是使用 SQL 驗證建立的,而且您想要切換為使用 Microsoft Entra 驗證來讓 Azure-SSIS IR 進行存取,請先確定上述將許可權授與 master 資料庫的步驟已順利完成。 接著,以滑鼠右鍵按一下 [SSISDB] 資料庫,然後選取 [新增查詢]。
在查詢視窗中,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]。
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}]
命令應該會順利完成,將存取 SSISDB 的能力授與 ADF 的系統/使用者指派的受控識別。
在 Azure 入口網站/ADF 應用程式中,佈建 Azure-SSIS IR
當您在 Azure 入口網站/ADF 應用程式中佈建 Azure-SSIS IR 時,請在 [部署設定] 頁面上,選取 [建立由 Azure SQL Database 伺服器/受控執行個體裝載的 SSIS 目錄 (SSISDB),以儲存專案/套件/環境/執行記錄] 核取方塊,然後選取 [使用 Microsoft Entra 驗證搭配 Data Factory 的系統受控識別] 或 [使用 Microsoft Entra 驗證搭配 Data Factory 的使用者指派受控識別] 核取方塊,選擇 Microsoft Entra 驗證方法,讓 Azure-SSIS IR 存取裝載 SSISDB 的資料庫伺服器。
如需詳細資訊,請參閱在 ADF 中建立 Azure-SSIS IR (部分機器翻譯)。
使用 PowerShell 佈建 Azure-SSIS IR
若要使用 PowerShell 佈建 Azure-SSIS IR,請執行下列作業:
安裝 Azure PowerShell (英文) 模組。
在您的指令碼中,請勿設定
CatalogAdminCredential
參數。 例如: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
使用 Microsoft Entra 驗證搭配您 ADF 的指定系統/使用者指派受控識別來執行 SSIS 套件
當您在 Azure-SSIS IR 上執行 SSIS 套件時,可以使用 Microsoft Entra 驗證搭配指定系統/使用者指派受控識別,讓 ADF 連線到各種 Azure 資源。 目前,我們支援在下列連接管理員上使用您 ADF 的指定系統/使用者指派受控識別進行 Microsoft Entra 驗證。