本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹在Cisco Unified Communication Manage(CUCM)、Cisco Unity Connection(CUC)和Expressway產品上使用Windows 2012 R2使用Active Directory聯合身份驗證服務(ADFS 3.0)配置單一登入的步驟。本文還包括配置Kerberos的步驟。
思科建議您瞭解一次登入(SSO)和Windows產品。
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
安裝ADFS3之前,環境中需要已經存在這些伺服器角色:
·域控制器和DNS
·所有伺服器必須作為A記錄與其指標記錄(將IP地址解析為域或主機名的一種DNS記錄)一起新增
在fhlab.com。已新增主機cmpubhcsc、cmsubhcsc、cucpubhcsc、cucsubhcsc、expwyc、expwye、impubhcsc和imsubhcsc。
根CA(假設證書由企業CA簽署)
需要基於Web伺服器證書模板建立證書模板,複製證書模板,重新命名證書模板,並在「擴展」頁籤上修改應用程式策略,新增客戶端身份驗證應用程式策略。在實驗室環境中簽署所有內部證書(CUCM、CUC、IMP和Expressway核心)時需要使用此模板。內部CA還可以簽署Expressway E證書簽名請求(CSR)。
需要頒發建立的模板才能簽署CSR。
在CA證書Web上,選擇以前建立的模板。
CUCM、IMP和CUC多伺服器CSR必須生成並由CA簽名。證書用途必須為tomcat。
必須將CA根證書上傳到Tomcat信任,並將簽名證書上傳到tomcat。
IIS
如果沒有,本節將介紹這些角色的安裝。否則,請跳過此部分,直接從Microsoft下載ADFS3。
安裝帶有DNS的Windows 2012 R2後,將伺服器升級為域控制器。
下一個任務是安裝Microsoft證書服務。
導航到伺服器管理器並新增新角色:
選擇Active Directory證書服務角色。
並首先部署這些服務 — 證書頒發機構證書註冊策略Web服務。安裝這兩個角色後,請對其進行配置,然後安裝證書註冊Web服務和證書頒發機構Web註冊。配置它們。
安裝證書頒發機構後,還會新增所需的其他角色服務和功能,例如IIS。
根據您的部署,您可以選擇企業或獨立。
對於CA型別,您可以選擇根CA或從屬CA。如果組織中沒有其他CA正在運行,請選擇根CA。
下一步是為您的CA建立私鑰。
只有在單獨的Windows Server 2012上安裝ADFS3時,才需要執行此步驟。配置CA後,需要配置IIS的角色服務。這是在CA上進行Web註冊所必需的。對於大多數ADFS部署,在IIS中需要額外的角色,請按一下「應用程式開發」下的ASP.NET。
在伺服器管理器中,按一下Web Server > IIS,然後按一下右鍵Default Web Site。除了HTTP外,還需要更改繫結以允許HTTPS。這麼做是為了支援HTTPS。
選擇編輯繫結。
新增新的站點繫結並選擇HTTPS作為型別。對於SSL證書,選擇應與AD伺服器具有相同FQDN的伺服器證書。
所有必備角色都安裝在環境中,因此現在您可以繼續安裝ADFS3 Active Directory聯合身份驗證服務(在Windows Server 2012上)。
對於伺服器角色,導航到Server Manager > Manage > Add Server Roles and Features,然後在專用LAN上在客戶網路中安裝IDP時選擇Active Directory Federation Services。
安裝完成後,您可以從工作列或「開始」選單開啟它。
本節將介紹如何安裝新的獨立聯合伺服器,但也可以將其安裝在域控制器上
選擇Windows並鍵入AD FS Management以啟動ADFS管理控制檯,如下圖所示。
選擇AD FS 3.0 Federation Server Configuration Wizard選項以啟動ADFS伺服器配置。這些截圖與AD FS 3中的步驟相同。
選擇Create a new Federation Service並單擊Next。
選擇Standalone Federation Server並按一下Next,如下圖所示。
在SSL certificate下,從清單中選擇自簽名證書。聯合身份驗證服務名稱將自動填充。按「Next」(下一步)。
檢查設定並按一下下一步以應用設定。
確認所有元件已成功完成,然後按一下關閉以結束嚮導並返回主管理控制檯。這可能需要幾分鐘時間。
ADFS現在已有效地啟用並配置為身份提供程式(IdP)。 接下來,您需要將CUCM新增為可信賴合作夥伴。在執行此操作之前,您需要先在CUCM管理中執行一些配置。
群集需要與Active Directory進行LDAP整合,並且需要在進一步之前配置LDAP身份驗證。導覽至System索引標籤> LDAP System,如下圖所示。
然後,導航到System頁籤> LDAP目錄。
Active Directory使用者與CUCM同步後,需要配置LDAP身份驗證。
CUCM中的終端使用者需要為其終端使用者配置檔案分配特定的訪問控制組。ACG是標準CCM超級使用者。當環境準備就緒時,將使用使用者測試SSO。
本節將介紹CUCM Publisher的流程。
第一個任務是獲取CUCM後設資料,為此您需要瀏覽到URL;https://<CUCM Pub FQDN>:8443/ssosp/ws/config/metadata/sp ,或者可以從「System(系統)」頁籤> SAML單一登入下載。這可以按節點或集群範圍完成。最好在群集範圍內執行此操作。
使用有意義的名稱(如sp_cucm0a.xml)在本地儲存資料,之後您將需要該名稱。
回到AD FS 3.0管理控制檯。
按一下新增信賴方信任嚮導。
按一下Start繼續。
選擇之前儲存的federationmedatada.xml元資料XML檔案,然後按一下下一步。
使用CUCM_Cluster_Wide_Reliking_Party_trust作為顯示名稱,然後按一下下一步。
選擇第一個選項,然後按一下下一步。
選擇允許所有使用者訪問此信賴方,然後按一下下一步,如下圖所示。
檢視設定,然後按一下Next,如下圖所示。
取消選中該框並按一下Close。
使用滑鼠輔助按鍵選擇剛建立的信賴方信任和「編輯宣告規則」配置,如下圖所示。
按一下「Add Rule」,如下圖所示。
選擇Send LDAP Attributes as Claims,然後按一下Next。
配置以下引數:
宣告規則名稱:名稱ID
屬性儲存:Active Directory(按兩下下拉選單箭頭)
LDAP屬性:SAM-Account-Name
傳出宣告型別:uid
按一下FINISH/OK繼續。
請注意,uid大小寫不小,並且不在下拉選單中。打出來。
再次按一下Add Rule以新增其他規則。
選擇Send Claims Using a Custom Rule,然後按一下Next。
建立名為Cluster_Side_Claim_Rule的自定義規則。
從此處直接在規則視窗中複製並貼上此文本。有時,如果在文本編輯器中編輯引號,則會發生更改,這會導致測試SSO時規則失敗:
c:[Type ==
"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] =
"urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"]
= "http://<ADFS FQDN>/adfs/com/adfs/services/trust",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] =
"<CUCM Pub FQDN>");
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] =
"urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] =
"http://AD.fhlab.com/adfs/services/trust",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] =
"cmpubhcsc.fhlab.com");
按一下Finish以繼續。
現在,您應該在ADFS上定義兩個規則。按一下Apply和OK關閉規則視窗。
CUCM現在已成功新增為ADFS的受信任信賴方。
繼續之前,請重新啟動ADFS服務。導航到開始選單>管理工具>服務。
您需要向CUCM提供有關我們的IdP的資訊。使用XML後設資料交換此資訊。確保在安裝ADFS的伺服器上執行此步驟。
首先,您需要使用Firefox瀏覽器連線到ADFS(IdP)以下載XML後設資料。開啟瀏覽器到https://<ADFS FQDN>/FederationMetadata/2007-06/FederationMetadata.xml,並將後設資料儲存到本地資料夾。
現在,導航至CUCM配置至system Menu > SAML Single Sign-On選單。
切換回CUCM管理並選擇SYSTEM > SAML Single Sign-On。
選擇啟用SAML SSO。
按一下「Continue」以確認警告。
在SSO螢幕上,按一下Browse..以匯入之前儲存的FederationMetadata.xml後設資料XML檔案,如下圖所示。
選擇XML檔案,然後按一下開啟,以便從「收藏夾」下的「下載」中將其上載到CUCM。
上傳後,點選Import IdP Metadata將IdP資訊匯入CUCM。確認匯入成功,然後按一下「下一步」繼續。
選擇屬於「標準CCM超級使用者」的使用者,然後按一下「運行SSO測試」。
出現使用者身份驗證對話方塊時,使用相應的使用者名稱和密碼登入。
如果所有配置都正確,您應該會看到一條消息,指示SSO測試成功!
按一下「關閉」和「完成」繼續。
我們現在已成功完成使用ADFS在CUCM上啟用SSO的基本配置任務。
在Unity Connection中啟用SSO的過程相同。
LDAP與CUC整合。
配置LDAP身份驗證。
從LDAP匯入將分配語音郵件的使用者以及將用於測試SSO的使用者。
導覽至Users > Edit > Roles,如下圖所示。
為測試使用者分配系統管理員角色。
現在,您應該已經下載了CUC後設資料,為CUC建立了ReliingPartyTrust並上載了CUC後設資料,並在ADFS 3.0上建立了規則I AD FS
轉到SAML單一登入並啟用SAML SSO。
開啟瀏覽器到https://<ADFS FQDN>/FederationMetadata/2007-06/FederationMetadata.xml,並將後設資料儲存到本地資料夾
上傳到Configuration > Unified Communications > IDP。
轉到配置 — >統一通訊 — > IDP->匯出SAML資料
群集模式使用包含在SAML中的自簽名證書(壽命長)
用於對SAML請求進行簽名的後設資料
在群集範圍模式下,要下載單個群集範圍後設資料檔案,請按一下「下載」
在每對等體模式下,要下載單個對等體的後設資料檔案,請按一下該對等體旁邊的Download。要全部匯出到.zip檔案,請按一下「全部下載」。
首先,為Expressway-Es建立信賴方信任,然後新增宣告規則以傳送標識作為UID屬性。
在Cisco CUCM Enterprise Parameters中,啟用Verify OAuth with Refresh login flow引數。轉到Cisco Unified CM管理>企業引數> SSO和OAuth配置。
SAML是基於XML的開放式標準資料格式,使管理員能夠在登入到其中某個應用程式後無縫訪問一組已定義的思科合作應用程式。SAML SSO使用SAML 2.0協定為思科合作解決方案提供跨域和跨產品單點登入。
OAuth是一個支援授權的標準。使用者必須經過驗證才能獲得授權。授權碼授權流程為客戶端提供獲取訪問權杖和刷新權杖以訪問資源(Unified CM、IM&P、Unity和Expressway服務)的方法。 此流程也基於重定向,因此需要客戶端能夠與使用者控制的HTTP使用者代理(Web瀏覽器)互動。客戶端將使用HTTPS向授權伺服器發出初始請求。OAuth伺服器將使用者重定向到身份驗證服務。如果啟用SAML SSO,則此操作可能在Unified CM或外部IdP上運行。根據所使用的認證方法,網頁檢視可能呈現給終端使用者以認證其自身。(Kerberos驗證是不顯示網頁的範例。) 與隱式授予流程不同,成功的身份驗證代碼授予流程將導致OAuth伺服器向Web瀏覽器發出「授權代碼」。這是一個一次性使用的短暫唯一代碼,然後從Web瀏覽器傳回客戶端。使用者端將這個「授權碼」與預先共用密碼一起提供到授權伺服器,並交換接收「存取權杖」和「刷新權杖」。在此步驟中使用的客戶端密碼使授權服務可以將使用限製為僅註冊和經過身份驗證的客戶端。令牌用於以下用途:
訪問令牌:此令牌由授權伺服器頒發。當客戶端需要訪問資源伺服器上的受保護資源時,向資源伺服器呈現令牌。資源伺服器能夠驗證該令牌並信任使用該令牌的連線。(思科訪問令牌的生存時間預設為60分鐘)
刷新令牌:授權伺服器再次發出此令牌。當訪問令牌已過期或即將過期時,客戶端將此令牌與客戶端金鑰一起提供給授權伺服器。如果刷新令牌仍然有效,則授權伺服器將頒發新的訪問令牌,而無需其他身份驗證。(思科刷新令牌的生存期預設為60天)。 如果刷新令牌已過期,則必須啟動新的完整OAuth授權代碼授予流程以獲取新令牌。
在隱式授予流程中,訪問令牌通過HTTP使用者代理(瀏覽器)傳遞到Jabber客戶端。 在授權碼授權流程中,訪問令牌直接在授權伺服器和Jabber客戶端之間交換。使用時間限制的唯一授權碼從授權伺服器請求令牌。這種直接交換訪問令牌更加安全並且減少了風險。
OAuth授權代碼授予流程支援使用刷新令牌。這可以為終端使用者提供更好的體驗,因為他們不需要頻繁地重新進行身份驗證(預設情況下為60天)
Internet資訊服務(IIS)管理器>站點>預設網站>身份驗證> Windows身份驗證>高級設定。
取消選中Enable Kernel-mode authentication。
確保已關閉擴展保護。
確保AD FS版本3.0同時支援Kerberos協定和NT LAN Manager(NTLM)協定,因為所有非Windows客戶端都不能使用Kerberos並依賴NTLM。
在右窗格中,選擇Providers(提供程式),並確保Negotiate and NTLM出現在Enabled Providers(已啟用提供程式)下:
確保選中Internet Explorer > Advanced > Enable Integrated Windows Authentication。
確保Internet Explorer > Security > Local Intranet > Security Level for this Zone > Custom Level > User Authentication - Logon > Automatic Logon in Intranet Zone。
Cisco Jabber無需更改配置。如果已將Unified CM配置為使用帶外部IdP的SAML SSO,則可能會顯示IdP的登入螢幕,而不是Unified CM登入螢幕。
我們學到的大部分經驗都是在實驗設定過程中學到的。
作為測試Jabber SSO的先決條件,確保您能夠使用IE瀏覽器中的SSO登入到CUCM/IM&P。
按一下IE的Internet選項,然後導航至Security(安全)頁籤。按一下Local Intranet > Sites > Advanced。將網站新增到區域(即將IDP FQDN新增到站點)。
如果發生這樣的不同步錯誤。
無效的SAML響應。當Cisco Unified Communications Manager和IDP伺服器之間的時間不同步時,可能會出現這種情況。請驗證兩台伺服器上的NTP配置。從CLI運行「utils ntp status」以檢查Cisco Unified Communications Manager上的此狀態。如果CUCM和IdP之間存在時間不匹配,您將收到以下錯誤:"無效SAML響應。" 當CUCM和IdP伺服器之間的時間不同步時,可能導致此錯誤。要使SAML SSO正常工作,必須安裝正確的NTP設定,並確保IdP和統一通訊應用程式之間的時間差不超過三秒。
為了確保您的使用者不受伺服器同步問題的影響,請按照以下說明在「NotBefore」屬性上設定至少兩分鐘的偏差:
在ADFS中開啟Powershell。
在Powershell中運行以下命令,檢查當前的NotBeforeSkew:
Get-ADFSRelingPartyTrust — 識別符號「應用程式FQDN」
Get-ADFSRelingPartyTrust -identifier "cmpubhcsc.fhlab.com"
接下來,通過在Powershell中運行以下命令將「NotBeforeSkew」設定為3分鐘:
Set-ADFSRelingPartyTrust -TargetIdentifier "application FQDN" -NotBeforeSkew 3.
再次運行以下命令,檢查新的「NotBeforeSkew」:
Get-ADFSRelingPartyTrust -identifier "cmpubhcsc.fhlab.com"
* NotBeforeSkew現在應設定為「3」。
附註:您還可以將後設資料從IDP匯入到SP(即CUCM)。
https://:8443/ssosp/token/revoke?user_id=
https://10.89.228.146:8443/ssosp/token/revoke?user_id=farfar
{"revoked_tokens":{"status":"success","user_id":"farfar","clientID_tokens":
[{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"fa8ff04aabb4a40bc493f810f9fff09a8f735d24fb05df7c9191f294611710a3"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"9ecf6a5092f1167df085f018320e2135b487f585b9cbb3e59474a0643f1a961f"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"30ab864ce41c78b9b4324a46f865dd47add4b16d7717986d715405496119bc87"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"33d025dd7b88fefe99173757a54ada771821d763a23b71cc9ca233e1c91ffd65"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"a5f0d293d3dbbbe4ef1af9379a78df04ed9a168c450de42982e3796cef758c0f"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"252912f2af65346f7ec2887505aef7d0ee2cd918f0253662b9b53ebf45e490e8"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"28c33fcbbc4d47bc6d658855f0699bbe1b3c264c0ed7a04eedc578f6b89fd4de"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"cb5269c40cdf4cc4e2e0a0f520d719851f132691d609ffe65c143952a3f7d2d7"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"acd338a0858c8f140866962e1150bcfd1768b3d8fd959700ed70ea5bff571e83"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"3acee9b52c039e58a0be060c20b8134aea5445ba141d6daedc9fb2366e0eb4d0"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"4a4ac2e56c4663ff20797228b3e67511a56ae3fd1f831303df3642206f8a9742"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"db9ae2351f51e85a01a0dc64b35fa75f052eaa6b3793a29f9dfdb86d589dc97a"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"1118b7fbcaa407541dc8e21ed70ccc581f3e7f58a31fdb94c637d7ac1279a6b8"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"2f33962f1671acc9c7acfb6cff6dff3d9ddf7e2df0a5d7747020347c08e8f18a"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"70a46c24974499c1f87b1b167795c4654460e665f2f5f1696b0a93e2887ae442"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"c05fb1c913a0cbd2984d370365d085ad8315b916a5651511401a695d17129584"},
{"client_id":"C1b4b988f3efa1c3fc97d0d0a36f6b97f244b4fafe55e8d9d78774e305bae9ab1",
"refresh_token":"47ba99793ededfe1cba3f0b83a2738c0a79f1833979ad3c6c362291f92f8fdf8
執行手動LDAP同步或從資料庫中刪除使用者,以立即阻止使用者使用Jabber。即使Jabber客戶端向CUCM上的UDS服務提供有效的訪問權杖或刷新權杖,使用者也必須在CUCM使用者資料庫中處於「活動」狀態才能進行身份驗證。
更改Refresh Token expiry timer Enterprise引數會自動撤銷該CUCM群集頒發的所有刷新令牌。
Jabber使用者被定向到WebEx Connect雲進行身份驗證,而不是本地即時消息和線上狀態(IM&P)伺服器,或者通過為移動和遠端訪問(MRA)配置的Expressway(合作邊緣)進行身份驗證。
在Jabber-bootstrap.properties檔案中,位於C:\ProgramData\Cisco Systems\Cisco Jabber檔案中,我們可以排除webex
ServiceDiscoveryExcludedServices:Webex
確實遇到一個SSO失敗的情況。在Firefox瀏覽器上對CUCM執行SSO登入測試時,它被重定向到IdP,輸入了憑證,但CUCM顯示以下錯誤:
響應中的狀態代碼無效。這可能是由於IDP中的配置錯誤導致的。請檢查IDP日誌和配置
瀏覽以下位置的ADFS(即IDP)事件檢視器
事件檢視器 — >應用和服務日誌 — > AD FS ->管理
以下是錯誤摘要:
異常詳細資訊:
Microsoft.IdentityServer.RequestFailedException:MSIS7066:請求的身份驗證失敗。—> System.Security.SecurityException:使用者名稱或密碼不正確。
挖掘後發現,域控制器的管理員憑據已更改,但ADFS服務未更新
開啟「服務」配置視窗(鍵入服務時,可以從Windows控制面板>管理工具或「開始」選單訪問它)。
查詢您的服務(Active Directory聯合身份驗證服務),然後按兩下它以開啟其屬性(或者按一下右鍵它並選擇「屬性」)。