本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文說明如何在Cisco Unified Communications Manager(CUCM)中配置單一登入(SSO)。
思科建議您瞭解以下主題:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
請參閱CUCM中的單點登入配置。
思科統一通訊應用SAML SSO部署指南,版本11.5(1)。
SAML RFC 6596。
目前沒有適用於此組態的驗證程序。
在記事本中使用外掛++
安裝以下外掛:
Notepad++ Plugin -> MIME Tools--SAML DECODE
Notepad++ Plugin -> XML Tools -> Pretty Print(XML only – with line breaks)
在SSO日誌中,搜尋包含編碼響應的字串「authentication.SAMLAuthenticator - SAML Response is ::」。
使用此外掛或聯機SAML解碼以獲取XML響應。使用安裝的Pretty Print外掛可以以一種可讀的格式調整響應。
在較新版本的CUCM SAML中,響應採用XML格式,可通過搜尋「SPACSUtils.getResponse:獲取響應=<samlp:
響應xmlns:samlp="然後使用Pretty Print外掛進行列印。
使用Fiddler:
該實用程式可用於獲取即時流量並將其解碼。以下是https://www.techrepublic.com/blog/software-engineer/using-fiddler-to-debug-http/的指南。
SAML請求:
ID="s24c2d07a125028bfffa7757ea85ab39462ae7751f" Version="2.0" IssueInstant="2017-07-15T11:48:26Z" Destination="https://win-91uhcn8tt3l.emeacucm.com/adfs/ls/" ForceAuthn="false" IsPassive="false" AssertionConsumerServiceIndex="0"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">cucmsso.emeacucm.com</saml:Issuer> <samlp:NameIDPolicy xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" SPNameQualifier="cucmsso.emeacucm.com" AllowCreate="true"/> </samlp:AuthnRequest>
SAML響應(未加密):
<samlp:Response ID="_53c5877a-0fff-4420-a929-1e94ce33120a" Version="2.0" IssueInstant="2017-07-01T16:50:59.105Z" Destination="https://cucmsso.emeacucm.com:8443/ssosp/saml/SSO/alias/cucmsso.emeacucm.com" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="s24c2d07a125028bfffa7757ea85ab39462ae7751f" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://win-91uhcn8tt3l.emeacucm.com/adfs/services/trust</Issuer> <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /> </samlp:Status> <Assertion ID="_0523022c-1e9e-473d-9914-6a93133ccfc7" IssueInstant="2017-07-01T16:50:59.104Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"> <Issuer>http://win-91uhcn8tt3l.emeacucm.com/adfs/services/trust</Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /> <ds:Reference URI="#_0523022c-1e9e-473d-9914-6a93133ccfc7"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /> <ds:DigestValue>9OvwrpJVeOQsDBNghwvkLIdnf3bc7aW82qmo7Zdm/Z4=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>VbWcKUwvwiNDhUg5AkdqSzQOmP0qs5OT2VT+u1LivWx7h9U8/plyhK3kJMUuxoG/HXPQJgVQaMOwNq/Paz7Vg2uGNFigA2AFQsKgGo9hAA4etfucIQlMmkeVg+ocvGY+8IzaNVfaUXSU5laN6zriTArxXwxCK0+thgRgQ8/46vm91Skq2Fa5Wt5uRPJ3F4eZPOEPdtKxOmUuHi3Q2pXTw4ywZ/y89xPfSixNQEmr10hpPAdyfPsIFGdNJJwWJV4WjNmfcAqClzaG8pB74e5EawLmwrfV3/i8QfR1DyU5yCCpxj02rgE6Wi/Ew/X/l6qSCzOZEpl7D8LwAn74KijO+Q==</ds:SignatureValue> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate>MIIC5DCCAcygAwIBAgIQZLLskb6vppxCiYP8xOahQDANBgkqhkiG9w0BAQsFADAuMSwwKgYDVQQDEyNBREZTIFNpZ25pbmcgLSBXSU4ySzEyLnJrb3R1bGFrLmxhYjAeFw0xNTA2MjIxOTE2NDRaFw0xNjA2MjExOTE2NDRaMC4xLDAqBgNVBAMTI0FERlMgU2lnbmluZyAtIFdJTjJLMTIucmtvdHVsYWsubGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApEe09jnZXEcEC7s1VJ7fMXAHPXj7jgOOcs9/Lzxrx4c68tePGItrEYnzW9vLe0Dj8OJET/Rd6LsKvuMQHfcGYqA+XugZyHBrpc18wlhSmMfvfa0jN0Qc0lf+a3j72xfI9+hLtsqSPSnMp9qby3qSiQutP3/ZyXRN/TnzYDEmzur2MA+GP7vdeVOFXlpENrRfaINzc8INqGRJ+1jZrm+vLFvX7YwIL6aOpmjaxcPoxDcjgEGMYO/TaoP3eXutX4FuJV5R9oAvbqD2F+73XrvP4e/wHi5aNrHrgiCnuBJTIxHwRGSoichdpZlvSB15v8DFaQSVAiEMPj1vP/4rMkacNQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQA5uJZI0K1Xa40H3s5MAo1SG00bnn6+sG14eGIBe7BugZMw/FTgKd3VRsmlVuUWCabO9EgyfgdI1nYZCciyFhts4W9Y4BgTH0j4+VnEWiQg7dMqp2M5lykZWPS6vV2uD010sX5V0avyYi3Qr88vISCtniIZpl24c3TqTn/5j+H7LLRVI/ZU38Oa17wuSNPyed6/N4BfWhhCRZAdJgijapRG+JIBeoA1vNqN7bgFQMe3wJzSlLkTIoERWYgJGBciMPS3H9nkQlP2tGvmn0uwacWPglWR/LJG3VYoisFm/oliNUF1DONK7QYiDzIE+Ym+vzYgIDS7MT+ZQ3XwHg0Jxtr8</ds:X509Certificate> </ds:X509Data> </KeyInfo> </ds:Signature> <Subject> <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" NameQualifier="http:///win-91uhcn8tt3l.emeacucm.com/com/adfs/services/trust" SPNameQualifier="cucmsso.emeacucm.com">CHANDMIS\chandmis</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData InResponseTo="s24c2d07a125028bfffa7757ea85ab39462ae7751f" NotOnOrAfter="2017-07-01T16:55:59.105Z" Recipient="https://cucmsso.emeacucm.com:8443/ssosp/saml/SSO/alias/cucmsso.emeacucm.com" /> </SubjectConfirmation> </Subject> <Conditions NotBefore="2017-07-01T16:50:59.102Z" NotOnOrAfter="2017-07-01T17:50:59.102Z"> <AudienceRestriction> <Audience>ccucmsso.emeacucm.com</Audience> </AudienceRestriction> </Conditions> <AttributeStatement> <Attribute Name="uid"> <AttributeValue>chandmis</AttributeValue> </Attribute> </AttributeStatement> <AuthnStatement AuthnInstant="2017-07-01T16:50:59.052Z" SessionIndex="_0523022c-1e9e-473d-9914-6a93133ccfc7"> <AuthnContext> <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef> </AuthnContext> </AuthnStatement> </Assertion>
</samlp:響應>
Version="2.0" :- The version of SAML being used. InResponseTo="s24c2d07a125028bfffa7757ea85ab39462ae7751f" :- The id for SAML Request to which this reponse corresponds to samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success :- Status Code of SAML reponse. In this case it is Success. <Issuer>http://win-91uhcn8tt3l.emeacucm.com/adfs/services/trust</Issuer> :- IdP FQDN SPNameQualifier="cucmsso.emeacucm.com" :- Service Provider(CUCM) FQDN Conditions NotBefore="2017-07-01T16:50:59.102Z" NotOnOrAfter="2017-07-01T17:50:59.102Z :- Time range for which the session will be valid. <AttributeValue>chandmis</AttributeValue> :- UserID entered during the login
如果SAML響應已加密,您將無法檢視完整資訊,必須禁用入侵檢測和防禦(IDP)上的加密才能檢視完整響應。用於加密的證書詳細資訊位於SAML響應的「ds:X509IssuerSerial」下。
CLI命令:
utils sso disable
此命令禁用基於兩者(OpenAM SSO或SAML SSO)的身份驗證。此命令列出啟用了SSO的Web應用程式。出現提示時輸入Yes,以便為指定的應用程式禁用SSO。如果在群集中,必須在兩個節點上運行此命令。也可以通過圖形使用者介面(GUI)禁用SSO,然後在Cisco Unity Connection管理中的特定SSO下選擇Disable按鈕。
指令語法
utils sso disable
utils sso狀態
此命令顯示SAML SSO的狀態和配置引數。它有助於分別驗證每個節點上的SSO狀態(已啟用或已禁用)。
指令語法
utils sso狀態
utils sso enable
此命令返回一條資訊性文本消息,提示管理員只能從GUI啟用SSO功能。無法使用此命令同時啟用基於OpenAM的SSO和基於SAML的SSO。
指令語法
utils sso enable
utils sso recovery-url enable
此命令啟用恢復URL SSO模式。也會驗證此URL是否成功工作。如果在群集中,必須在兩個節點上運行此命令。
指令語法
utils sso recovery-url enable
utils sso recovery-url disable
此命令禁用該節點上的恢復URL SSO模式。如果在群集中,必須在兩個節點上運行此命令。
命令語法
utils sso recovery-url disable
set samltrace level <trace-level>
此命令啟用可定位任何錯誤、調試、資訊、警告或致命的特定跟蹤和跟蹤級別。如果在群集中,必須在兩個節點上運行此命令。
命令語法
set samltrace level <trace-level>
show samltrace level
此命令顯示SAML SSO的日誌級別集。如果在群集中,必須在兩個節點上運行此命令。
命令語法
show samltrace level
跟蹤以檢視故障排除時間:
預設情況下,SSO日誌未設定為詳細級別。
首先運行命令set samltrace level debug 以將日誌級別設定為調試、重現問題並收集這些日誌。
在RTMT上:
Cisco Tomcat
Cisco Tomcat安全
Cisco SSO
唯一識別符號(UID)的值不正確:
它應該正好是UID,如果不是,CUCM無法理解這一點。
宣告規則不正確或NameID策略錯誤:
在此案例中,很可能沒有提示輸入使用者名稱和密碼。
SAML響應中沒有任何有效的斷言,狀態代碼將如下所示:
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"/>
驗證在IDP端是否正確定義了宣告規則。
索賠規則中定義的案件/名稱差異:
宣告規則中的CUCM FQDN應與實際伺服器上指定的規則完全匹配。
通過在CUCM的CLI上運行show network cluster/show network etho details命令,可以將IDP的後設資料xml檔案中的條目與CUCM上的條目進行比較。
時間不正確:
CUCM和IDP之間的NTP差異大於《部署指南》中允許的3秒。
Assertion Signer Not Trusted:
在IDP和CUCM(服務提供商)之間交換後設資料時。
交換證書,如果證書被吊銷,應再次交換後設資料。
DNS配置錯誤/無配置
DNS是SSO工作的主要要求。運行show network ethoo detail,utils diagnostic test在CLI上驗證DNS/域是否正確配置。
ADFS簽名證書會續訂,並將兩個簽名證書新增到IDP響應返回到CUCM(SP),因此會導致您運行缺陷。您必須刪除不需要的簽名證書
當您從CCM Admin導航到SAML SSO頁面時,系統提示您輸入「以下伺服器在嘗試獲取SSO狀態時失敗」,後跟節點名稱。
在CCMAdmin//System/Server中將CUCM伺服器定義為IP地址時,基於CTI的SSO失敗。