使用 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 驗證。 如需詳細資訊,請參閱使用 Azure SQL 僅限 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
停用
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
停用
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] 功能表中看到 [活動記錄] 項目。
- 已指定 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 登入群組。
- Azure SQL 資料庫中的彈性作業
- SQL 資料同步
- 異動資料擷取 (CDC) - 如果您以 Microsoft Entra 使用者身分在 Azure SQL 資料庫中建立資料庫,並在其上啟用異動資料擷取,則 SQL 使用者將無法停用或變更 CDC 成品。 但是,另一個 Microsoft Entra 使用者將能夠在相同的資料庫上啟用或停用 CDC。 同樣地,如果您以 SQL 使用者的身分建立 Azure SQL 資料庫,則無法以 Microsoft Entra 使用者身分啟用/停用 CDC
- 使用 Azure SQL 受控執行個體的異動複寫 - 複寫參與者之間的連線需要 SQL 驗證,因此在僅限 Microsoft Entra 驗證啟用時,SQL Database 不支援使用異動複寫將 Azure SQL 受控執行個體、內部部署 SQL Server,或 Azure VM SQL Server 執行個體中所做的變更推送至 Azure SQL 資料庫資料庫的案例
- SQL 深入解析 (預覽)
- Microsoft Entra 群組成員帳戶的
EXEC AS
陳述式
Azure SQL 受控執行個體中僅限 Microsoft Entra 驗證的限制
為 SQL 受控執行個體啟用僅限 Microsoft Entra 驗證時,不支援下列功能:
- 搭配 Azure SQL 受控執行個體的異動複寫
- 在 Azure SQL 受控執行個體中使用 SQL Agent 作業的自動化管理工作支援僅限 Microsoft Entra 驗證。 不過,Microsoft Entra 使用者若為有權存取受控執行個體的 Microsoft Entra 群組成員,則不能擁有 SQL Agent 作業。
- SQL 深入解析 (預覽)
- Microsoft Entra 群組成員帳戶的
EXEC AS
陳述式
如需限制的詳細資訊,請參閱 SQL Server 與 Azure SQL 受控執行個體之間的 T-SQL 差異。