共用方式為


使用 Azure SQL 進行僅限 Microsoft Entra 驗證

適用於:Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics (僅限專用的 SQL 集區)

僅限 Microsoft Entra 驗證是 Azure SQL 內的一項功能,可讓服務僅支援 Microsoft Entra 驗證,適用於 Azure SQL 資料庫Azure SQL 受控執行個體

注意

Microsoft Entra ID 先前稱為 Azure Active Directory (Azure AD)。

僅限 Microsoft Entra 驗證也適用於獨立伺服器中的專用 SQL 集區 (先前稱為 SQL DW)。 Azure Synapse 工作區只能啟用僅限 Microsoft Entra 驗證。 如需詳細資訊,請參閱 Azure Synapse 工作區的僅限 Microsoft Entra 驗證

在 Azure SQL 環境中啟用僅限 Microsoft Entra 驗證時,系統便會停用 SQL 驗證,包括來自 SQL 伺服器管理員、登入和使用者的連線。 只有使用 Microsoft Entra 驗證的使用者才有權連線至伺服器或資料庫。

您可以使用 Azure 入口網站、Azure CLI、PowerShell 或 REST API,來啟用或停用僅限 Microsoft Entra 驗證。 也可以使用 Azure Resource Manager (ARM) 範本,在伺服器建立期間設定僅限 Microsoft Entra 驗證。

如需 Azure SQL 驗證的詳細資訊,請參閱驗證與授權

功能說明

啟用僅限 Microsoft Entra 驗證時,會在伺服器或受控執行個體層級停用 SQL 驗證,並根據任何 SQL 驗證認證來防止任何驗證。 SQL 驗證使用者將無法連線到 Azure SQL 資料庫或受控執行個體 (包括其所有資料庫) 的邏輯伺服器。 雖然 SQL 驗證已停用,但仍可使用具有適當權限的 Microsoft Entra 帳戶來建立新的 SQL 驗證登入和使用者。 新建立的 SQL 驗證帳戶不允許連線至伺服器。 啟用僅限 Microsoft Entra 驗證不會移除現有的 SQL 驗證登入和使用者帳戶。 此功能只會防止這些帳戶連線至伺服器,以及此伺服器建立的任何資料庫。

您也可以使用 Azure 原則強制建立伺服器,並啟用僅限 Microsoft Entra 驗證。 如需詳細資訊,請參閱僅限 Microsoft Entra 驗證的 Azure 原則

權限

Microsoft Entra 使用者若是具有高特殊權限的 Microsoft Entra 內建角色 (例如 Azure 訂用帳戶擁有者參與者全域系統管理員) 的成員,則可以啟用或停用僅限 Microsoft Entra 驗證。 此外,SQL 安全管理員角色也可以啟用或停用僅限 Microsoft Entra 驗證功能。

SQL Server 參與者SQL 受控執行個體參與者角色將無權啟用或停用僅限 Microsoft Entra 驗證功能。 這與職責區分方法相一致;亦即,可建立 Azure SQL 伺服器或可建立 Microsoft Entra 管理員的使用者,無法啟用或停用安全性功能。

必要動作

下列動作會新增至 SQL 安全管理員角色,以允許管理僅限 Microsoft Entra 驗證功能。

  • Microsoft.Sql/servers/azureADOnlyAuthentications/*
  • Microsoft.Sql/servers/administrators/read - 只有存取 Azure 入口網站 Microsoft Entra ID 功能表的使用者才需要執行此動作
  • Microsoft.Sql/managedInstances/azureADOnlyAuthentications/*
  • Microsoft.Sql/managedInstances/read

您也可以將上述動作新增至自訂角色,以管理僅限 Microsoft Entra 驗證。 如需詳細資訊,請參閱在 Microsoft Entra ID 中建立和指派自訂角色

使用 API 管理僅限 Microsoft Entra 驗證

重要

必須先設定 Microsoft Entra 管理員,才能啟用僅限 Microsoft Entra 驗證。

您的 Azure CLI 版本必須為 2.14.2 或更新版本。

name 對應至伺服器或執行個體名稱的前置詞 (例如 myserver),resource-group 對應至伺服器所屬的資源 (例如 myresource)。

Azure SQL 資料庫

如需詳細資訊,請參閱 az sql server ad-only-auth

在 SQL Database 中啟用或停用

啟用

az sql server ad-only-auth enable --resource-group myresource --name myserver

Disable

az sql server ad-only-auth disable --resource-group myresource --name myserver

檢查 SQL Database 中的狀態

az sql server ad-only-auth get --resource-group myresource --name myserver

Azure SQL 受控執行個體

如需詳細資訊,請參閱 az sql mi ad-only-auth

啟用

az sql mi ad-only-auth enable --resource-group myresource --name myserver

Disable

az sql mi ad-only-auth disable --resource-group myresource --name myserver

檢查 SQL 受控執行個體中的狀態

az sql mi ad-only-auth get --resource-group myresource --name myserver

使用 T-SQL 檢查僅限 Microsoft Entra 驗證

已新增 SERVERPROPERTY IsExternalAuthenticationOnly,以檢查您的伺服器或受控執行個體是否已啟用僅限 Microsoft Entra 驗證。 1 表示已啟用此功能,0 表示此功能已停用。

SELECT SERVERPROPERTY('IsExternalAuthenticationOnly') 

備註

  • SQL Server 參與者可以設定或移除 Microsoft Entra 管理員,但無法設定僅限 Microsoft Entra 驗證設定。 SQL 安全管理員無法設定或移除 Microsoft Entra 管理員,但能夠設定僅限 Microsoft Entra 驗證設定。 只有具備較高 Azure RBAC 角色的帳戶或包括這兩個權限的自訂角色,才能設定或移除 Microsoft Entra 管理員,以及設定 [僅限 Microsoft Entra 驗證] 設定。 其中一個角色是參與者角色。
  • 在 Azure 入口網站中啟用或停用僅限 Microsoft Entra 驗證之後,可以在 [SQL Server] 功能表中看到 [活動記錄] 項目。 Azure 入口網站中的活動記錄項目
  • 已指定 Microsoft Entra 管理員時,具備正確權限的使用者才能啟用或停用 [僅限 Azure Active Directory 驗證] 設定。 如果未設定 Microsoft Entra 管理員,僅限 Microsoft Entra 驗證設定會保持非使用狀態,且無法啟用或停用。 如果未設定 Microsoft Entra 管理員,使用 API 啟用僅限 Microsoft Entra 驗證也會失敗。
  • 僅限 Microsoft Entra 驗證啟用時,支援具備適當權限的使用者變更 Microsoft Entra 管理員。
  • 具有適當權限的使用者,可以在 Azure 入口網站中變更 Microsoft Entra 管理員,以及啟用或停用僅限 Microsoft Entra 驗證。 在 Azure 入口網站中,儲存一次即可完成兩項作業。 必須設定 Microsoft Entra 管理員,才能啟用僅限 Microsoft Entra 驗證。
  • 不支援在啟用僅限 Microsoft Entra 驗證功能時移除 Microsoft Entra 管理員。 如果已啟用僅限 Microsoft Entra 驗證,則使用 API 移除 Microsoft Entra 管理員的動作將會失敗。
    • [僅限 Azure Active Directory 驗證] 設定啟用時,Azure 入口網站中的 [移除管理員] 按鈕會顯示為非作用中。
  • 允許移除 Microsoft Entra 管理員,以及停用 [僅限 Microsoft Entra 驗證] 設定,但需要正確的使用者權限才能完成作業。 在 Azure 入口網站中,儲存一次即可完成兩項作業。
  • 具有適當權限的 Microsoft Entra 使用者可以模擬現有的 SQL 使用者。
    • 即使啟用僅限 Microsoft Entra 驗證功能,SQL 驗證使用者之間的模擬仍會繼續運作。

SQL Database 中僅限 Microsoft Entra驗證的限制

為 SQL Database 啟用僅限 Microsoft Entra 驗證時,不支援下列功能:

  • Azure AD 伺服器主體支援 Azure SQL 資料庫伺服器角色,但不支援 Microsoft Entra 登入群組。
  • 彈性工作
  • SQL 資料同步
  • 異動資料擷取 (CDC) - 如果您以 Microsoft Entra 使用者身分在 Azure SQL 資料庫中建立資料庫,並在其上啟用異動資料擷取,則 SQL 使用者將無法停用或變更 CDC 成品。 但是,另一個 Microsoft Entra 使用者將能夠在相同的資料庫上啟用或停用 CDC。 同樣地,如果您以 SQL 使用者的身分建立 Azure SQL 資料庫,則無法以 Microsoft Entra 使用者身分啟用/停用 CDC
  • 異動複寫 - 複寫參與者之間的連線需要 SQL 驗證,因此在僅限 Microsoft Entra 驗證啟用時,SQL Database 不支援使用異動複寫將 Azure SQL 受控執行個體、內部部署 SQL Server,或 Azure VM SQL Server 執行個體中所做的變更推送至 Azure SQL 資料庫資料庫的案例
  • SQL 深入解析 (預覽)
  • Microsoft Entra 群組成員帳戶的 EXEC AS 陳述式

受控執行個體中僅限 Microsoft Entra 驗證的限制

為受控執行個體啟用僅限 Microsoft Entra 驗證時,不支援下列功能:

如需限制的詳細資訊,請參閱 SQL Server 與 Azure SQL 受控執行個體之間的 T-SQL 差異

下一步