共用方式為


啟用 Azure-SSIS 整合執行階段的 Microsoft Entra 驗證

適用於:Azure Data FactoryAzure 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 佈建期間建立的完全受控帳戶 (AzureIntegrationServiceDboAzureIntegrationServiceWorker) 來連線到 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 建立一個新群組。

  1. 安裝 Azure AD PowerShell 模組。

  2. 使用 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
    
  3. 將使用 ADF 的指定系統/使用者指派的受控識別新增至群組。 您可以遵循 Data Factory 或 Azure Synapse 的受控識別 (部分機器翻譯) 一文,為您的 ADF 取得指定系統/使用者指派受控識別的物件識別碼 (例如 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc,但請勿針對此用途使用應用程式識別碼)。

    Add-AzureAdGroupMember -ObjectId $Group.ObjectId -RefObjectId 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc
    

    您也可以之後再檢查群組成員資格。

    Get-AzureAdGroupMember -ObjectId $Group.ObjectId
    

針對 Azure SQL Database 設定 Microsoft Entra 驗證

您可以使用下列步驟為 Azure SQL Database 設定和管理 Microsoft Entra 驗證

  1. 在 Azure 入口網站中,從左側導覽中選取 [所有服務] ->[SQL 伺服器]

  2. 選取要使用 Microsoft Entra 驗證設定的 Azure SQL Database 伺服器。

  3. 在刀鋒視窗的 [設定] 區段中,選取 [Active Directory 管理員]

  4. 在命令列中選取 [設定管理員]

  5. 選取要設定為伺服器管理員的 Microsoft Entra 使用者帳戶,然後選取 [選取]

  6. 在命令列中,選取 [儲存]

在 Azure SQL Database 中,建立一個代表 Microsoft Entra 群組的內含使用者

在下一個步驟中,您需要 SSMS (部分機器翻譯)。

  1. 啟動 SSMS。

  2. 在 [連線到伺服器] 對話方塊中,在 [伺服器名稱] 欄位中輸入您的伺服器名稱。

  3. 在 [驗證] 欄位中,選取 [具 MFA 支援的 Active Directory - 通用] (您也可以使用另外兩種 Active Directory 驗證類型,請參閱設定及管理 Azure SQL Database 的 Microsoft Entra 驗證)。

  4. 在 [使用者名稱] 欄位中,輸入您設為伺服器管理員的 Microsoft Entra 帳戶名稱,例如 testuser@xxxonline.com。

  5. 選取 [連線],並完成登入程序。

  6. 在 [物件總管] 中,展開 [資料庫] -> [系統資料庫] 資料夾。

  7. 在 [master] 資料庫上按一下滑鼠右鍵,然後選取 [新增查詢]

  8. 在查詢視窗中,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]

    CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
    

    命令應該會順利完成,建立代表群組的內含使用者。

  9. 清除查詢視窗,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]

    ALTER ROLE dbmanager ADD MEMBER [SSISIrGroup]
    

    命令應該會順利完成,將建立資料庫 (SSISDB) 的能力授與內含的使用者。

  10. 如果您的 SSISDB 是使用 SQL 驗證建立的,而且您想要切換為使用 Microsoft Entra 驗證來讓 Azure-SSIS IR 進行存取,請先確定上述將許可權授與 master 資料庫的步驟已順利完成。 接著,以滑鼠右鍵按一下 [SSISDB] 資料庫,然後選取 [新增查詢]

    1. 在查詢視窗中,輸入下列 T-SQL 命令,然後在工具列中選取 [執行]

      CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
      

      命令應該會順利完成,建立代表群組的內含使用者。

    2. 清除查詢視窗,輸入下列 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 (部分機器翻譯)。

  1. 啟動 SSMS。

  2. 使用 sysadmin 的 SQL Server 帳戶連線至 Azure SQL 受控執行個體。 一旦 Azure SQL 受控執行個體上 Microsoft Entra 伺服器主體 (登入) 的支援正式推出之後,就會移除此暫時性限制。 如果您嘗試使用 Microsoft Entra 系統管理員帳戶來建立登入,您會看到下列錯誤:Msg 15247、層級 16、狀態 1、第 1 行使用者沒有執行此動作的許可權

  3. 在 [物件總管] 中,展開 [資料庫] -> [系統資料庫] 資料夾。

  4. 在 [master] 資料庫上按一下滑鼠右鍵,然後選取 [新增查詢]

  5. 在查詢視窗中執行下列 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 的系統/使用者指派的受控識別。

  6. 如果您的 SSISDB 是使用 SQL 驗證建立的,而且您想要切換為使用 Microsoft Entra 驗證來讓 Azure-SSIS IR 進行存取,請先確定上述將許可權授與 master 資料庫的步驟已順利完成。 接著,以滑鼠右鍵按一下 [SSISDB] 資料庫,然後選取 [新增查詢]

    1. 在查詢視窗中,輸入下列 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,請執行下列作業:

  1. 安裝 Azure PowerShell (英文) 模組。

  2. 在您的指令碼中,請勿設定 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 驗證。