共用方式為


教學課程:使用自動化來設定適用於 SQL Server 的 Microsoft Entra 管理員

適用於: SQL Server 2022 (16.x)

注意

此功能適用於 SQL Server 2022 (16.x) 或更新版本,且僅支援 Windows 和 Linux 主機的內部部署 SQL Server,以及 Windows Azure VM 上的 SQL Server 2022

在本文中,我們將探討如何設定 Microsoft Entra 管理員,以允許使用 Azure 入口網站及下列 API,對 SQL Server 進行 Microsoft Entra ID (之前稱為 Azure Active Directory) 驗證:

  • PowerShell
  • Azure CLI
  • ARM 範本

我們也將探討在 Azure 入口網站中為 SQL Server 設定 Microsoft Entra 管理員的新功能,可自動化憑證建立和應用程式註冊。 先前,為 SQL Server 設定 Microsoft Entra 驗證時,必須使用 Azure 憑證和應用程式註冊,手動設定 Microsoft Entra 管理員

注意

雖然 Microsoft Entra ID 是 Azure Active Directory(Azure AD)的新名稱,但為了防止破壞現有的環境,Azure AD 仍會保留在某些硬式編碼元素中,例如 UI 字段、連線提供者、錯誤碼和 Cmdlet。 在本文中,這兩個名稱是可互換的。

必要條件

設定 Microsoft Entra 管理員之前的準備

您必須具備下列權限,才能在 SQL Server – Azure ArcKey Vault 資源中設定 Microsoft Entra 管理員。

設定 Azure Arc 的權限

請遵循指南,確定 SQL Server 已連線到 Azure Arc。為 SQL Server - Azure Arc 資源設定 Microsoft Entra 管理員的使用者應該具備伺服器的參與者角色。

  1. 移至 Azure 入口網站
  2. 選取 [SQL Server – Azure Arc],然後選取您 SQL Server 主機的執行個體。
  3. 選取 [存取控制 (IAM)]。
  4. 選取 新增>新增角色指派,將 參與者 角色指派給正在設定 Microsoft Entra 管理員的使用者。

設定 Azure Key Vault 的權限

建立 Azure Key Vault (如果您尚未建立)。 設定 Microsoft Entra 管理員的使用者應該具有 Azure Key Vault 的參與者角色。 在 Azure Key Vault 中,若要將角色新增到使用者:

  1. 移至 Azure 入口網站
  2. 移至您的 金鑰保存庫 資源。
  3. 選取 [存取控制 (IAM)]。
  4. 選取 [新增][新增角色指派]>,將參與者角色新增至設定 Microsoft Entra 管理員的使用者。

設定 SQL Server 主機的存取原則

  1. 在 Azure 入口網站中,前往您的 Azure Key Vault 實例,然後選取 [存取原則]。

  2. 選取 [新增存取原則]。

  3. 針對 [金鑰權限],請使用 [簽署]。

  4. 針對 [秘密權限],選取 [取得] 和 [列出]。

  5. 針對 [憑證權限],選取 [取得] 和 [清單]。

  6. 選取 [下一步]。

  7. 在 [主體] 頁面,搜尋 [機器 - Azure Arc] 執行個體的名稱,它是 SQL Server 主機的主機名稱。

    螢幕擷取畫面,其中顯示了入口網站中的 Azure Arc 伺服器資源。

  8. 透過選取 [下一步] 兩次,或選取 [檢閱 + 建立],略過 [應用程式 (選用)] 頁面。

    螢幕擷取畫面,其中顯示了在 Azure 入口網站中檢閱和建立存取原則。

    確認主體的「物件 ID」與指派給執行個體的受控識別的主體 ID相符。

    螢幕擷取畫面,其中顯示了計算機定義的 JSON 檢視入口網站控制件。

    若要確認,請移至資源頁面,然後選取 [概觀] 頁面上 [基本資料] 方塊右上方的 [JSON 檢視]。 在 [身分識別] 下,您會找到 principalId

  9. 選取 建立

必須選取 [建立],以確保權限已套用。 若要確保權限已儲存,請重新整理瀏覽器視窗,並檢查 Azure Arc 執行個體的資料列是否仍然存在。

設定 Microsoft Entra 使用者的存取原則

  1. 在 Azure 入口網站中,瀏覽至您的 Azure Key Vault 執行個體,並選取 [存取原則]。
  2. 選擇 [新增存取原則]。
  3. 針對 金鑰權限,選取 GetListCreate
  4. 針對 [機密權限],選取 [取得]、[列出] 和 [設定]。
  5. 針對 [憑證權限],選取 [取得]、[列出] 和 [建立]。
  6. 針對 [選取主體],新增您想要用來連線到 SQL Server 的 Microsoft Entra 使用者。
  7. 選取 [新增],然後選取 [儲存]。

設定適用於 SQL Server 的 Microsoft Entra 管理員

新的 API 和入口網站功能可讓使用者為 SQL Server 設定 Microsoft Entra 管理員,而不需要單獨建立 Azure 憑證和 Microsoft Entra 應用程式。 選取索引標籤,了解如何為連線至 Azure Arc 的 SQL Server 設定 Microsoft Entra 管理員,並自動建立憑證和應用程式。

注意

ARM 範本仍然需要在設定 Microsoft Entra 管理員之前,先建立 Azure Key Vault 憑證和 Microsoft Entra 應用程式。如需此流程的詳細資訊,請參閱教學課程:設定適用於 SQL Server 的 Microsoft Entra 驗證

使用 Azure 入口網站來設定 Microsoft Entra 管理員,在同一個程序中建立 Azure Key Vault 認證和 Microsoft Entra 應用程式。 這是搭配 SQL Server 使用 Microsoft Entra 驗證的必要條件。

注意

先前,在設定 Microsoft Entra 管理員之前,需要 Azure Key Vault 認證和 Microsoft Entra 應用程式註冊。 這已不再需要,但使用者仍然可以選擇提供自己的認證和應用程式來設定 Microsoft Entra 管理員。

使用 Azure 入口網站來設定 Microsoft Entra 管理員

  1. 移至 Azure 入口網站,然後選取 [SQL Server – Azure Arc]。請選取您 SQL Server 主機的執行個體。

  2. 檢查 SQL Server - Azure Arc 資源的狀態,並前往 [屬性] 功能表查看是否已連線。 如需詳細資訊,請參閱驗證已啟用 Arc 的 SQL Server 資源

  3. 在資源功能表中選取 [設定],然後選取 [Microsoft Entra ID 和 Purview]。

  4. 選擇「設定管理員」以開啟「Microsoft Entra ID」窗格,然後選擇一個帳戶,以將其新增為 SQL Server 的管理員登入。

  5. 選取「由服務管理的憑證」。

  6. 選取 [變更金鑰保存庫],然後選取您目前的 Azure Key Vault 資源。

  7. 選取「服務管理的應用程式註冊」。

  8. 選擇「儲存」。 這會將要求傳送至 Arc 伺服器代理,以設定該 SQL Server 執行個體的 Microsoft Entra 驗證。 操作可能需要幾分鐘的時間才能完成;在嘗試 Microsoft Entra 登入之前,請等待 Saved successfully 來確認儲存過程。

    服務受管應用程式註冊會為您執行下列動作:

    • 在金鑰保存庫中建立證書,其名稱格式為 <hostname>-<instanceName><uniqueNumber>
    • 建立 Microsoft Entra 應用程式,其名稱類似於 <hostname>-<instanceName><uniqueNumber>,並指派該應用程式的必要權限。 如需詳細資訊,請參閱授與應用程式權限
    • 將 Azure Key Vault 中的新證書指派給應用程式。
    • 將這些設定儲存至 Azure Arc。

    螢幕擷取畫面,其中顯示了在 Azure 入口網站設定 Microsoft Entra 身分驗證,並自動產生憑證和應用程式。

注意

為 Microsoft Entra 所建立的證書不會自動輪替。 客戶可以選擇為 Microsoft Entra 管理員設定提供自己的證書和應用程式。 如需詳細資訊,請參閱教學課程:設定適用於 SQL Server 的 Microsoft Entra 驗證

設定 Microsoft Entra 管理員之後,使用 Microsoft Entra 管理員認證便可連線至 SQL Server。 不過,任何涉及建立新 Microsoft Entra 登入和使用者的進一步資料庫活動都會失敗,直到將管理員同意授與 Microsoft Entra 應用程式為止。

注意

若要授與應用程式的 管理員同意 ,授與同意的帳戶需要Microsoft Entra ID Privileged Role Administrator 的角色。 這些角色是授與應用程式管理員同意的必要角色,但設定 Microsoft Entra 管理員時則非必要。

  1. Azure 入口網站中,選取 [Microsoft Entra ID][應用程式註冊],然後選取新建立的應用程式。> 應用程式的名稱應該類似 <hostname>-<instanceName><uniqueNumber>

  2. 選取 [API 權限] 功能表。

  3. 選取 [授與管理員同意]。

    Azure 入口網站中應用程式權限的螢幕擷取畫面。

若未對應用程式授與管理員同意,在 SQL Server 中建立 Microsoft Entra 登入或使用者將會導致下列錯誤:

Msg 37455, Level 16, State 1, Line 2
Server identity does not have permissions to access MS Graph.

使用 Microsoft Entra 驗證連線到 SQL Server

Microsoft Entra 驗證現在已為連接至 Azure Arc 的 SQL Server 設定完成。設定好 Microsoft Entra 管理員後,請參閱文章中的教學課程:設定適用於 SQL Server 的 Microsoft Entra 驗證,以使用 Microsoft Entra 驗證連接到 SQL Server。

另請參閱