適用於 Azure SQL 的 Microsoft Entra ID 中的目錄讀取者角色

適用於:Azure SQL DatabaseAzure SQL 受控執行個體Azure Synapse Analytics

Microsoft Entra ID(先前稱為 Azure Active Directory)引進了 使用群組來管理角色指派。 這可讓 Microsoft Entra 角色指派給群組。

注意

有了適用於 Azure SQL 的 Microsoft Graph 支援,您可以使用較低層級的權限取代「目錄讀取者」角色。 如需詳細資訊,請參閱 Microsoft Entra for Azure SQL 中的使用者指派受控識別。

Azure SQL 資料庫、Azure SQL 受控執行個體 或 Azure Synapse Analytics 啟用受控識別時,可以將 Microsoft Entra ID Directory 讀取者角色指派給身分識別,以允許 Microsoft Graph API讀取許可權。 SQL 資料庫 和 Azure Synapse 的受控識別稱為伺服器身分識別。 SQL 受管理執行個體 的受控識別稱為受控實例識別,並在建立實例時自動指派。 如需將伺服器身分識別指派給 SQL 資料庫 或 Azure Synapse 的詳細資訊,請參閱啟用服務主體以建立 Microsoft Entra 使用者

目錄 讀取者 角色可作為伺服器或實例身分識別來協助:

  • 建立 SQL 受管理執行個體 的 Microsoft Entra 登入
  • 在 Azure SQL 中模擬 Microsoft Entra 使用者
  • 將使用 Windows 驗證 的 SQL Server 使用者移轉至使用 Microsoft Entra 驗證 SQL 受管理執行個體 (使用 ALTER USER (Transact-SQL) 命令)
  • 變更 SQL 受管理執行個體 的 Microsoft Entra 系統管理員
  • 允許 服務主體 (應用程式) 在 Azure SQL 中建立 Microsoft Entra 使用者

注意

Microsoft Entra 標識符 先前稱為 Azure Active Directory (Azure AD)。

指派目錄讀取者角色

若要將目錄讀取者角色指派給身分識別,需要具有全域 管理員 istratorPrivileged Role 管理員 istrator 許可權的使用者。 經常管理或部署 SQL 資料庫、SQL 受管理執行個體 或 Azure Synapse 的使用者可能無法存取這些高許可權角色。 這通常會導致建立非計劃性 Azure SQL 資源的使用者複雜,或需要大型組織中經常無法存取之高許可權角色成員的協助。

針對 SQL 受管理執行個體,必須先將目錄讀取者角色指派給受控實例身分識別,才能為受控實例設定 Microsoft Entra 系統管理員。

為邏輯伺服器設定 Microsoft Entra 管理員時,SQL 資料庫 或 Azure Synapse 不需要將目錄讀取者角色指派給伺服器身分識別。 不過,若要代表 Microsoft Entra 應用程式在 SQL 資料庫 或 Azure Synapse 中啟用 Microsoft Entra 物件建立,則需要目錄讀取者角色。 如果未將角色指派給邏輯伺服器身分識別,在 Azure SQL 中建立 Microsoft Entra 使用者將會失敗。 如需詳細資訊,請參閱 使用 Azure SQL 的 Microsoft Entra 服務主體。

將目錄讀取者角色授與 Microsoft Entra 群組

您現在可以有全域 管理員 istrator 或 Privileged Role 管理員 istrator 建立 Microsoft Entra 群組,並將目錄讀取者許可權指派給群組。 這可允許存取此群組成員的 Microsoft Graph API。 此外,允許擁有此群組的 Microsoft Entra 使用者為此群組指派新成員,包括邏輯伺服器的身分識別。

此解決方案仍然需要高許可權使用者(全域 管理員 istrator 或 Privileged Role 管理員 istrator)建立群組,並將使用者指派為一次性活動,但 Microsoft Entra 群組擁有者將能夠指派其他成員。 這可避免未來需要讓高許可權使用者在其 Microsoft Entra 租使用者中設定所有 SQL 資料庫、SQL 受管理執行個體 或 Azure Synapse 伺服器。

下一步