如何使用 Azure Active Directory 和 Kerberos 為Azure SQL 受控執行個體設定 Windows 驗證

本文概述如何設定基礎結構和受控執行個體,以在 Azure SQL 受控執行個體上為 Azure AD 主體實作 Windows 驗證

使用 Azure Active Directory (Azure AD) 和 Kerberos 設定 Azure SQL 受控執行個體設定的 Windows 驗證,是兩階段的工作。

  • 一次性基礎結構設定。
    • 同步處理 Active Directory (AD) 與 Azure AD (如果尚未完成此作業)。
    • 啟用現代互動式驗證流程 (如果可用)。 組織若具有已加入 Azure AD 或已加入混合式 AD 的用戶端,且執行的是 Windows 10 20H1 / Windows Server 2022 和更新版本 (用戶端已加入 Azure AD 或混合式 AD),建議這類組織使用現代互動式流程。
    • 設定傳入的信任型驗證流程。 對於無法使用新式互動式流程,但已加入 AD 的用戶端執行Windows 10/Windows Server 2012和更新版本的客戶,建議這麼做。
  • 設定 Azure SQL 受控執行個體。
    • 為每個受控執行個體建立系統指派的服務主體。

一次性基礎結構設定

基礎結構設定的第一個步驟是將 AD 與 Azure AD 同步處理 (如果尚未完成)。

然後,系統管理員會設定驗證流程。 有兩個驗證流程可用來為 Azure SQL 受控執行個體上的 Azure AD 主體實作 Windows 驗證:傳入的信任型流程支援已加入 AD、且執行 Windows Server 2012 或更新版本的用戶端,而現代互動式流程則支援已加入 Azure AD、且執行 Windows 10 21H1 或更新版本的用戶端。

同步處理 AD 與 Azure AD

客戶應先實作 Azure AD Connect,以整合內部部署目錄與 Azure AD。

選取您要實作的驗證流程

下圖顯示現代互動式流程和傳入的信任型流程的適用性和核心功能:

決策樹,顯示選取驗證流程的準則。

「決策樹顯示現代互動式流程適用於執行 Windows 10 20H1 或 Windows Server 2022 或更新版本的用戶端 (且用戶端已加入 Azure AD 或已加入混合式 AD)。 傳入的信任型流程適用於執行 Windows 10 或 Windows Server 2012 或更新版本的用戶端 (且用戶端已加入 AD)。」

現代互動式流程適用於執行 Windows 10 21H1 和更新版本、並且已加入 Azure AD 或已加入混合式 Azure AD 的用戶端。 在現代互動式流程中,使用者不需要看到網域控制站 (DC) 即可存取 Azure SQL 受控執行個體。 不需要在客戶的 AD 中建立信任物件。 若要啟用現代互動式流程,系統管理員會設定要在登入期間使用的 Kerberos 驗證票證 (TGT) 的群組原則。

傳入的信任型流程適用於執行 Windows 10 或 Windows Server 2012 和更新版本的用戶端。 使用此流程時,用戶端必須加入 AD,並且可從內部部署環境看到 AD。 在傳入的信任型流程中,會在客戶的 AD 中建立信任物件,並在 Azure AD 中註冊。 若要啟用傳入的信任型流程,系統管理員將會使用 Azure AD 設定傳入的信任,並透過群組原則設定 Kerberos Proxy。

現代互動式驗證流程

實作現代互動式驗證流程需要下列必要條件:

必要條件 描述
用戶端必須執行 Windows 10 20H1、Windows Server 2022 或更新版本的 Windows。
用戶端必須已加入 Azure AD 或混合式 Azure AD。 您可以執行 dsregcmd 命令來判斷是否符合此必要條件:dsregcmd.exe /status
應用程式必須透過互動工作階段連線至受控執行個體。 此支援 SQL Server Management Studio (SSMS) 和 Web 應用程式等應用程式,但不適用於以服務形式執行的應用程式。
Azure AD 租用戶。
您打算用於驗證的相同 Azure AD 租用戶下的 Azure 訂用帳戶。
已安裝 Azure AD Connect。 Azure AD 和 AD 中同時存在身分識別的混合式環境。

如需啟用此驗證流程的步驟,請參閱 如何使用新式互動式流程設定 Azure Active Directory 的 Windows 驗證

傳入的信任型驗證流程

要實作傳入的信任型驗證流程,必須符合下列必要條件:

必要條件 描述
用戶端必須執行 Windows 10、Windows Server 2012 或更新版本的 Windows。
用戶端必須已加入 Azure AD。 網域必須具有 Windows Server 2012 或更新版本的功能等級。 您可以執行 dsregcmd 命令來判斷用戶端是否已加入 AD:dsregcmd.exe /status
Azure AD 混合式驗證管理模組。 此 PowerShell 模組提供內部部署設定的管理功能。
Azure 租用戶。
您打算用於驗證的相同 Azure AD 租用戶下的 Azure 訂用帳戶。
已安裝 Azure AD Connect。 Azure AD 和 AD 中同時存在身分識別的混合式環境。

如需啟用此驗證流程的指示,請參閱 如何使用傳入信任型流程設定 Azure Active Directory 的 Windows 驗證

設定 Azure SQL 受控執行個體

針對傳入的信任型驗證流程和現代互動式驗證流程,設定 Azure SQL 受控執行個體的步驟都相同。

設定受控執行個體的必要條件

若要為 Azure AD 主體設定 Windows 驗證的受控執行個體,需要下列必要條件:

必要條件 描述
Az.Sql PowerShell 模組 此 PowerShell 模組提供 Azure SQL 資源的管理 Cmdlet。 執行下列 PowerShell 命令來安裝此模組:Install-Module -Name Az.Sql
Azure Active Directory PowerShell 模組 本模組提供 Azure AD 管理工作的管理 Cmdlet,例如使用者和服務主體管理。 執行下列 PowerShell 命令來安裝此模組:Install-Module –Name AzureAD
受控執行個體 您可以建立新的受控執行個體,或使用現有的受控執行個體。

設定每個受控執行個體

如需設定每個受控執行個體的步驟,請參閱為 Azure Active Directory 的 Windows 驗證設定 Azure SQL 受控執行個體

限制

下列限制適用於在 Azure SQL 受控執行個體上為 Azure AD 主體套用 Windows 驗證:

不適用於 Linux 用戶端

Azure AD 主體的 Windows 驗證目前僅支援執行 Windows 的用戶端電腦。

Azure AD 快取登入

Windows 會限制其連線至 Azure AD 的頻率,因此使用者帳戶在升級或全新部署用戶端電腦的 4 小時內,可能會沒有重新整理的 Kerberos 票證授與票證 (TGT)。 使用者帳戶若沒有重新整理的 TGT,會導致來自 Azure AD 的票證要求失敗。

身為系統管理員,您可以在用戶端電腦上執行下列命令,然後鎖定和解除鎖定使用者工作階段,取得重新整理的 TGT,以立即觸發線上登入來處理升級案例:

dsregcmd.exe /RefreshPrt

下一步

深入了解在 Azure SQL 受控執行個體上為 Azure AD 主體實作 Windows 驗證: