適用於: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 專用驗證。
當您啟用 Microsoft Entra 專用驗證時,就會在 Azure SQL 環境中停用 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 Database 或管理實例的邏輯伺服器,包括所有資料庫。 雖然 SQL 認證被禁用,但擁有適當權限的 Microsoft Entra 帳號仍可建立新的 SQL 認證登入與使用者。 新建立的 SQL 認證帳號無法連接到伺服器。 啟用僅限 Microsoft Entra 驗證不會移除現有的 SQL 驗證登入和使用者帳戶。 此功能僅阻止這些帳號連接伺服器及為該伺服器建立的任何資料庫。
你也可以使用 Azure 原則,強制在建立伺服器時啟用僅限 Microsoft Entra 的驗證。 如需詳細資訊,請參閱使用 Azure SQL 僅限 Microsoft Entra 驗證的 Azure 原則。
服務在配置過程中也會產生伺服器管理員名稱,即使 SQL 認證被停用,該名稱仍可能出現在 Azure 入口網站中。 欲了解更多資訊,請參閱 系統生成伺服器管理員帳號。
權限
僅限 Microsoft Entra 驗證的功能可以由具有高許可權的 Microsoft Entra 使用者啟用或停用,這些使用者需屬於 Microsoft Entra 的內建角色,例如 Azure 訂用帳戶的擁有者及貢獻者。 此外,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 Database
如需詳細資訊,請參閱 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')
系統生成伺服器管理員帳號
當你為 Azure SQL Database 建立邏輯伺服器,或啟用僅啟用 Microsoft Entra 認證的 Azure SQL 受控執行個體 時,該服務會產生一個伺服器管理員名稱和隨機密碼。 產生的名稱以隨機字串開頭CloudSA,並以 Azure 入口網站的伺服器管理員登入方式顯示。
這個帳號存在是為了滿足配置需求,而不是提供連線方式。 無論配置哪一種資源類型,仍需 SQL 認證管理員的值。 僅用 Microsoft Entra 認證會改變哪些認證方法可以在配置後建立連線,但不會移除該配置要求,因此服務會產生符合該要求的數值。
看到產生的名稱並不代表 SQL 認證已啟用。 當僅限 Microsoft Entra 驗證啟用時:
- 沒有任何 SQL 認證帳號能連線,包括系統產生的管理員。
- 所產生的帳號不是共用帳號、備援方案,也不是緊急存取途徑。
- 應用程式與管理員必須使用 Microsoft Entra 認證才能連線。
- Microsoft Entra 管理員及其他授權的 Microsoft Entra 主體仍然是支援的管理路徑。
- 服務在配置後會永久移除控制平面上的密碼。
備註
- SQL Server 參與者可以設定或移除 Microsoft Entra 管理員,但無法設定僅限 Microsoft Entra 驗證設定。 SQL 安全管理員無法設定或移除 Microsoft Entra 管理員,但能夠設定僅限 Microsoft Entra 驗證設定。 只有具備較高 Azure RBAC 角色的帳戶或包括這兩個權限的自訂角色,才能設定或移除 Microsoft Entra 管理員,以及設定 [僅限 Microsoft Entra 驗證] 設定。 其中一個角色是參與者角色。
- 在 Azure 入口網站中啟用或停用 僅限 Microsoft Entra 驗證 之後,SQL 伺服器功能表中會顯示一則 活動記錄 項目。
- 只有在已指定 Microsoft Entra 管理員 的情況下,具備適當權限的使用者才能啟用或停用 僅使用 Microsoft Entra 驗證 設定。 如果未設定 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 管理員的動作將會失敗。
- 如果啟用 僅限 Microsoft Entra 驗證 設定,則 Azure 入口網站中的 移除管理員 按鈕會變成無法使用。
- 允許移除 Microsoft Entra 管理員,以及停用 [僅限 Microsoft Entra 驗證] 設定,但需要正確的使用者權限才能完成作業。 在 Azure 入口網站中,儲存一次即可完成兩項作業。
- 具有適當權限的 Microsoft Entra 使用者可以模擬現有的 SQL 使用者。
- 即使啟用僅限 Microsoft Entra 驗證功能,SQL 驗證使用者之間的模擬仍會繼續運作。
SQL Database 中僅限 Microsoft Entra 驗證的限制
為 SQL Database 啟用僅限 Microsoft Entra 驗證時,不支援下列功能:
- Azure SQL 資料庫中的彈性作業
- SQL 資料同步
- 變更資料擷取(CDC)-如果你以 Microsoft Entra 使用者在 Azure SQL Database 建立資料庫並啟用變更資料擷取,SQL 使用者無法停用或更改 CDC 產出物。 然而,其他 Microsoft Entra 使用者可以在同一資料庫上啟用或停用 CDC。 同樣地,如果你是以 SQL 使用者身分建立 Azure SQL Database,則以 Microsoft Entra 使用者身分啟用或停用 CDC 將無法運作
- 使用 Azure SQL 受控執行個體進行交易式複寫 - 由於複寫參與者之間的連線需要 SQL 驗證,因此啟用僅限 Microsoft Entra 的驗證時,SQL Database 不支援交易式複寫,以將 Azure SQL 受控執行個體、內部部署 SQL Server 或 Azure VM SQL Server 執行個體中所做的變更推送至 Azure SQL Database 中的資料庫
- 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 代理程式作業。
- SQL 深入解析 (預覽)
- 適用於 Microsoft Entra 群組成員帳戶的
EXEC AS陳述式
如需限制的詳細資訊,請參閱 SQL Server 與 Azure SQL 受控執行個體之間的 T-SQL 差異。