概述
在 Active Directory 環境中,使用整合式 Windows 驗證 (Kerberos) 可讓使用者使用與登入 Windows 時相同的驗證憑證。自動單一登入 (SSO) 到 CAMServer,無需額外登入 C&M。 能。
傳統上,該系統需要使用 IIS/ASP.NET 構建,但藉助此功能,CAMServer 可以直接處理 Kerberos 驗證。這使得使用整合的 Windows 驗證來設定 SSO 更加簡單,無需額外的伺服器(例如 IIS)。
SSO 流量
單一登入處理流程
- 訪問 CAM 伺服器
使用者透過瀏覽器存取 CAMServer。存取時,會透過 POST 請求發送一個應用程式的臨時令牌。 - 身份驗證請求
驗證暫存令牌後,CAMServer 會向瀏覽器要求 Windows 驗證(協商)。 - Kerberos票據獲取
瀏覽器使用Windows登入資訊。
從 Active Directory KDC 取得 Kerberos 服務票證。 - 發送 Kerberos 票據
瀏覽器使用已取得的 Kerberos 票據。
新增 HTTP 標頭並將訊息重新傳送到 CAMServer。 - 票務驗證
CAMServer 使用 keytab 來驗證 Kerberos 票據。如果驗證成功,它會檢索票據中包含的 Kerberos 主體。 - LDAP 搜尋和 CAM 使用者匹配
系統使用檢索到的 Kerberos 主體執行 LADP 搜索,從 AD 獲取用戶信息,並將其與 CAMServer 中註冊的用戶進行比較。如果找到匹配項,則允許登入。 - 登入完成
CAMServer 發出登入會話,
使用者無需顯示登入畫面即可使用 CAMServer。
如果您使用 Windows 驗證所使用的 FQDN 之外的網域名稱存取該站點,或者如果您從未加入網域的 PC 造訪該站點,則會在命令和管理伺服器 (C&M) 上執行登入驗證。
運行要求
使用此功能需要以下環境。
活動目錄環境
- 必須建立Active Directory網域。
CAMServer
- 終極計劃使用
- CAMServer 必須可透過其完全限定網域名稱 (FQDN) 存取。
- 執行 CAMServer 的 Windows 伺服器必須加入 Active Directory 網域。
若要檢查現有 Windows Server 加入哪些網域,請前往「伺服器管理員」→按一下左側功能表中的「本機伺服器」→按一下「電腦名稱」並參考網域欄位。
使用者
- 使用者的電腦必須加入網域,並透過該網域登入 Windows。
- 符合 SSO 資格的使用者是指其使用者 ID 為 使用者主體名稱 (您必須預先在 CAMServer 上註冊,註冊資訊格式為 UPN(例如,user@camtest.com))
支援的瀏覽器
Windows驗證SSO可在下列瀏覽器中使用。
- Microsoft Edge
- Google Chrome
- 網路攝影機應用
關於負載平衡器配置
Windows 驗證 (Kerberos) 是一種使用 HTTP 驗證標頭進行協商的驗證方法,因此 CAMServer 必須保持在 443 連接埠上執行,且負載平衡器必須是 L4 (TLS 直通)。
推薦配置
使用者 ──HTTPS──▶ L4 負載平衡器(TLS 直通) ──HTTPS──▶ CAMServer(443)
NG配置
使用者-HTTPS-▶ L7 負載平衡器(SSL 終止)-HTTP-▶ CAMServer(8080)
施工程序
以下設定步驟將根據「設定範例」進行說明。
配置範例
- Windows 驗證的 FQDN:
https://test.chat-messenger.com - Active Directory 網域:
camtest.com - 服務帳戶:
cam-svc@camtest.com(CAMTEST\cam-svc)
SPN註冊概述
SPN(服務主體名稱)是在 Kerberos 驗證中唯一標識 Active Directory 上特定服務的名稱。如果您使用 FQDN 存取服務,註冊 SPN 將使用戶端能夠成功為您正在存取的服務請求 Kerberos 票證。
例如 https://test.chat-messenger.com 存取服務時,用戶端(瀏覽器)會向 Active Directory 要求票據,聲明「我想連線到名為 HTTP/test.chat-messenger.com 的服務」。 Active Directory 會檢查 SPN 關聯的帳戶,並發出對應的服務票據。如果 SPN 註冊不正確,Kerberos 驗證將會失敗。
服務帳戶
為 Kerberos 驗證建立服務帳戶。雖然可以使用網域使用者帳戶建立服務帳戶,但通常建議將使用者帳戶和服務帳戶分開,以防止意外錯誤並明確密碼原則的應用範圍。OU=服務帳戶 就像,OU 使用者 Active Directory 網域控制站,凸輪服務 創建一個
請在您的帳戶選項中檢查以下內容。
- 設定密碼永不過期
- 此帳號支援 Kerberos AES 256 位元加密。
使用服務帳戶註冊 SPN
setspn -S HTTP/test.chat-messenger.com CAMTEST\cam-svc使用上面建立的服務帳戶註冊 SPN。
- 可以使用網域中的任何設備,但需要網域管理員權限。
・SPN 也用於 HTTPS 通信HTTP/主機名稱您必須按照以下格式註冊:
使用以下命令驗證 SPN 是否已註冊。
setspn -L CAMTEST\cam-svc建立 keytab
若要使 CAMServer 能夠驗證 Kerberos 票證,請為服務帳戶建立 keytab 檔案。在 Active Directory 管理伺服器上執行下列命令:
ktpass /out CAMServer\config\windowsAuth\cam.keytab /princ HTTP/test.chat-messenger.com@CAMTEST.COM /mapuser CAMTEST\cam-svc /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /pass "*******"CAM伺服器設定
若要使用 Windows 驗證,請將以下內容新增至 CAMServer 設定檔 (boot.ini) 中。請根據您的環境替換每個值。
# Kerberos レルム(通常は Active Directory ドメイン名を大文字で指定)
# 例: camtest.com ドメイン → CAMTEST.COM
cam.windowsAuth.realm=CAMTEST.COM
# Windows認証を行うFQDN
cam.windowsAuth.FQDN=test.chat-messenger.com
# Kerberos KDC
# 通常は Active Directory のドメインコントローラのFQDN。ポートTCP/UDP 88 は Kerberos 標準ポートでリッスンされている
cam.windowsAuth.kdc=ad.camtest.com:88
設定互聯網選項
將 CAMServer 的 FQDN 新增到 intranet 區域。
選擇“Internet 選項”,按一下“安全性”選項卡,然後選擇“本機 Intranet”。點擊“網站”按鈕,選擇“進階”,然後新增網站 URL(https://test.chat-messenger.com)。
檢查自動登入
按一下“自訂等級”,然後在“使用者驗證”→“登入”下,請確保選擇“在內網路區域自動登入”。
從使用 IIS 整合 Windows 驗證的 SSO 遷移
- 卸載 IIS 功能(伺服器管理員 > 管理 > 刪除角色和功能)
- 卸載 ASP.NET Core Hosting Bundle
- 服務帳戶是此帳號支援 Kerberos AES 256 位元加密。「查看
- 鍵盤標籤 創造
- 在 Internet 選項設定中,將 CAMServer 的 FQDN 新增至 Intranet 區域(如果尚未新增)。
- 如果負載平衡器連接到 L7 層的 CAMServer,則在 CAMServer 上放置 SSL 證書,並在 L4 層進行連線。
