共用方式為


使用 Kerberos 搭配 Microsoft Entra 私人存取將單一登入 (SSO) 用於您的資源

為透過 Microsoft Entra 私人存取發佈的內部部署資源提供單一登入。 Microsoft Entra 私人存取會使用 Kerberos 來支援這些資源。 或者,使用 Windows Hello 企業版雲端 Kerberos 信任來允許使用者單一登入。

必要條件

開始單一登入之前,請確保您的環境已就緒。

  • Active Directory 樹系。 本指南使用可公開解析的樹系網域名稱。 不過,公開解析的網域並非必要條件。
  • 您已啟用 Microsoft Entra 私人存取轉送設定檔。
  • 最新版本的 Microsoft Entra 私人存取連接器會安裝在可存取網域控制器的 Windows 伺服器上。
  • 全球安全存取用戶端的最新版本。 如需用戶端的詳細資訊,請參閱全球安全存取用戶端

發佈資源以搭配單一登入使用

若要測試單一登入,請建立發佈檔案共用的新企業應用程式。 使用企業應用程式發佈檔案共用可讓您將條件式存取原則指派給資源,並強制執行額外的安全性控制,例如多重要素驗證。

  1. 以至少應用程式系統管理員身分登入 Microsoft Entra
  2. 瀏覽 [全球安全存取]> [應用程式]> [企業應用程式]
  3. 選取 [新增應用程式]
  4. 使用連接埠 445/TCP 新增具有檔案伺服器 IP 的新應用程式區段,然後選取 [儲存]。 伺服器訊息區 (SMB) 通訊協定使用此連接埠。
  5. 開啟您建立的企業應用程式,然後選取 [使用者和群組] 來指派資源的存取權。

聯結 Microsoft Entra ID 的裝置 - 密碼型 SSO

如果使用者使用密碼登入 Windows,則不需要本指南以外的額外設定。

聯結 Microsoft Entra ID 的裝置依賴 Microsoft Entra ID Connect 同步的 Active Directory 網域和使用者資訊。 Windows 網域控制站定位器會因為同步處理而尋找網域控制站。 使用者的使用者主體名稱 (UPN) 和密碼可用來要求 Kerberos 票證授權票證 (TGT)。 如需此流程的詳細資訊,請參閱內部部署資源的 SSO 如何在聯結 Microsoft Entra 的裝置上運作

聯結 Microsoft Entra ID 和聯結 Microsoft Entra ID 混合式的裝置 – Windows Hello 企業版單一登入

Windows Hello 企業版需要超出本指南的額外設定。

建議使用 Microsoft Entra ID 部署混合式雲端 Kerberos 信任。 使用雲端 Kerberos 信任的裝置會取得用於單一登入的 TGT 票證。 如需深入了解雲端 Kerberos 信任,請參閱使用 Microsoft Entra ID 啟用內部部署資源的無密碼安全性金鑰登入

若要使用內部部署 Active Directory 部署 Windows Hello 企業版雲端 Kerberos 信任。

  1. 建立 Microsoft Entra ID Kerberos 伺服器物件。 若要了解如何建立物件,請參閱安裝 AzureADHybridAuthenticationManagement 模組
  2. 使用 Intune 或群組原則在您的裝置上啟用 WHfB 雲端信任。 若要了解如何啟用 WHfB,請參閱雲端 Kerberos 信任部署指南

發佈網域控制站

必須為用戶端發佈網域控制站才能取得 Kerberos 票證。 單一登入內部部署資源需要票證。

至少,發佈在安裝私人存取連接器之 Active Directory 站台中設定的所有網域控制站。 例如,如果您的私人存取連接器位於布里斯本資料中心,則請在布里斯本資料中心發佈所有網域控制站。

需要網域控制站連接埠,才能啟用內部部署資源的 SSO。

連接埠 通訊協定 目的
88 使用者資料包通訊協定 (UDP) / 傳輸控制通訊協定 (TCP) Kerberos
389 UDP DC 定位程式
464 UDP/TCP 密碼變更要求
123 UDP 時間同步處理

注意

本指南著重於啟用 SSO 到內部部署資源,並排除已加入 Windows 網域的用戶端執行網域作業所需的設定 (密碼變更、群組原則等)。

  1. 以至少應用程式系統管理員身分登入 Microsoft Entra
  2. 瀏覽 [全球安全存取]> [應用程式]> [企業應用程式]
  3. 選取 [新增應用程式],以建立新的應用程式來發佈您的網域控制站。
  4. 選取 [新增應用程式區段],然後根據資料表新增所有網域控制站的 IP 或完整網域名稱 (FQDN) 和連接埠。 只有 Active Directory 站台中的網域控制站,才應該發佈私人存取連接器所在的網域控制站。

注意

請確保您不使用萬用字元 FQDN 發佈網域控制站,而是新增其特定的 IP 或 FQDN。

建立企業應用程式之後,請瀏覽回應用程式,然後選取 [使用者和群組]。 新增從您的 Active Directory 同步處理的所有使用者。

發佈 DNS 尾碼

設定私人 DNS,以便全球安全存取用戶端可以解析私人 DNS 名稱。 單一登入需要私人 DNS 名稱。 用戶端會使用它們來存取已發佈的內部部署資源。 若要了解更多使用快速存取私用 DNS 的資訊,請參閱 how-to-configure-quick-access.md#add-private-dns-suffixes

  1. 瀏覽至 [全球安全存取]>[應用程式]>[快速存取]
  2. 選取 [私用 DNS]索引標籤,然後選取 [啟用私用 DNS]
  3. 選取 [新增 DNS 尾碼]。 至少新增 Active Directory 樹系的最上層尾碼,裝載使用者已同步處理至 Microsoft Entra ID。
  4. 選取儲存

如何使用 Kerberos SSO 來存取 SMB 檔案共用

此圖示範嘗試從使用 Windows Hello 企業版 + 雲端信任設定的 Windows 裝置存取 SMB 檔案共用時,Microsoft Entra 私人存取 的運作方式。 在此範例中,系統管理員已設定快速存取 私用 DNS 和兩個企業應用程式-一個用於域控制器,另一個用於SMB檔案共用。

Microsoft Entra 私人存取 使用 Kerberos SSO for SMB 檔案共享的圖表。

步驟 描述
A 用戶嘗試使用 FQDN 存取 SMB 檔案共用。 GSA 用戶端會攔截流量,並將其通道傳送至 SSE Edge。 系統會評估並強制執行Microsoft Entra ID 中的授權原則,例如使用者是否已指派給應用程式和條件式存取。 一旦用戶獲得授權,Microsoft Entra ID 會發出SMB企業應用程式的令牌。 流量會釋出,以繼續進行私人存取服務,以及應用程式的存取令牌。 Private Access 服務會驗證存取令牌,並將連線代理至 Private Access 後端服務。 然後,聯機會代理至專用網連接器。
B 專用網連接器會執行 DNS 查詢,以識別目標伺服器的 IP 位址。 專用網上的 DNS 服務會傳送回應。 專用網連接器會嘗試存取目標SMB檔案共享,然後要求 Kerberos 驗證。
C 用戶端會產生 SRV DNS 查詢來尋找域控制器。 階段 A 會重複,攔截 DNS 查詢,併為使用者授權快速存取應用程式。 專用網連接器會將SRV DNS查詢傳送至專用網。 DNS 服務會透過專用網連接器將 DNS 回應傳送至用戶端。
D Windows 裝置會從 Microsoft Entra ID 要求部分 TGT(也稱為 Cloud TGT)(如果還沒有 TGT)。 Microsoft Entra ID 發出部分 TGT。
E Windows 會透過 UDP 連接埠 389 起始 DC 定位器連線,其中包含階段 C 的 DNS 回應中列出的每個域控制器。階段 A 會重複,攔截 DC 定位器流量,併為發佈內部部署域控制器的企業應用程式授權使用者。 專用網連接器會將DC定位器流量傳送至每個域控制器。 回應會轉送回用戶端。 Windows 會選取並快取具有最快回應的域控制器。
F 用戶端會交換部分 TGT 以取得完整的 TGT。 然後,系統會使用完整的 TGT 來要求及接收 SMB 檔案共用的 TGS。
G 用戶端會將 TGS 呈現至 SMB 檔案共用。 SMB 檔案共用會驗證 TGS。 授與檔案共用的存取權。

疑難排解

使用密碼驗證聯結 Microsoft Entra ID 的裝置依賴 Microsoft Entra ID Connect 同步處理的屬性。 請確定屬性 onPremisesDomainNameonPremisesUserPrincipalNameonPremisesSamAccountName 具有正確的值。 使用 Graph 總管和 PowerShell 來檢查值。

如果這些值不存在,請檢查您的 Microsoft Entra ID Connect 同步處理設定,並驗證這些屬性正在同步處理。 若要深入了解屬性同步處理,請參閱 Microsoft Entra Connect 同步處理:屬性同步至 Microsoft Entra ID

如果使用 Windows Hello 企業版登入,請從未提高權限的命令提示字元執行命令。 dsregcmd /status

驗證屬性擁有 YES 為值。

PRT 應該存在。 若要深入了解 PRT,請參閱針對 Windows 裝置上的主要重新整理權杖問題進行疑難排解

OnPremTgtYES 表示 Entra Kerberos 已正確設定,且已向使用者發出針對內部部署資源部分 TGT 以進行 SSO。 如需了解更多設定雲端 Kerberos 信任的資訊,請參閱 無密碼安全性金鑰登入內部部署資源

執行 klist 命令。

klist cloud_debug

確認 Cloud Primary (Hybrid logon) TGT available: 欄位的值為 1。

執行 nltest 命令。

nltest /dsgetdc:contoso /keylist /kdc

驗證 DC 定位器傳回作為雲端 Kerberos 信任作業參與者的網域控制站。 傳回的 DC 應該具有 klist 旗標。

如何在 Windows 電腦上避免 Kerberos 負值快取

Kerberos 是 Windows 中驗證使用者或主機身分識別之服務的慣用驗證方法。 Kerberos 負值快取會導致 Kerberos 票證的延遲。

Kerberos 負值快取發生在已安裝全球安全存取用戶端的 Windows 裝置上。 GSA 用戶端會嘗試連線至 Kerberos 票證最接近的網域控制站,但要求失敗,因為 GSA 用戶端仍未連線,或網域控制站目前無法連線。 要求失敗後,用戶端不會立即嘗試再次連線至網域控制站,因為登錄上的預設 FarKdcTimeout 時間設定為 10 分鐘。 即使 GSA 用戶端可能在 10 分鐘的預設時間之前已連線,GSA 用戶端仍會保留負值快取項目並認為網域控制站定位流程失敗。 預設時間 10 分鐘結束後,GSA 用戶端將使用 Kerberos 票證查詢網域控制站,且連線成功。

若要緩解此問題,您可以在登錄上變更預設 FarKdcTimeout 時間,或在每次重新啟動 GSA 用戶端時,手動即時排清 Kerberos 快取。

選項 1:變更登錄上的預設 FarKdcTimeout 時間

如果您正在執行 Windows,則可以修改 Kerberos 參數,以協助針對 Kerberos 驗證問題進行疑難排解,或測試 Kerberos 通訊協定。

重要

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需備份和還原登錄的詳細資訊,請參閱如何在 Windows 中備份及還原登錄

[參數] 機碼底下的登錄項目和值

本節所列的登錄項目必須新增至下列登錄子機碼:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

注意

如果 Parameters 機碼未列在 Kerberos 底下,您必須加以建立。

修改下列 FarKdcTimeout 登錄項目

  • 項目:FarKdcTimeout
  • 類型:REG_DWORD (英文)
  • 預設值:0 (minutes)

它是用於使網域控制站快取中來自不同網站的網域控制站失效的逾時值。

選項 2:手動 Kerberos 快取清除

如果您選擇手動清除 Kerberos 快取,則每次重新啟動 GSA 用戶端時,都必須完成此步驟。

以系統管理員身份開啟命令提示字元,然後執行下列命令:KLIST PURGE_BIND

下一步