La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come configurare Single Sign-On (SSO) in Cisco Unified Communications Manager (CUCM).
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Fare riferimento alla sezione Configurazione di Single Sign-On in CUCM.
Guida all'implementazione di SAML SSO per le applicazioni Cisco Unified Communications, versione 11.5(1).
SAML RFC 6596
Attualmente non è disponibile una procedura di verifica per questa configurazione.
Utilizzo dei plug-in in Blocco note++
Installa questi plug-in:
Notepad++ Plugin -> MIME Tools--SAML DECODE
Notepad++ Plugin -> XML Tools -> Pretty Print(XML only – with line breaks)
Nei log SSO cercare la stringa "authentication.SAMLAuthenticator - SAML Response is ::" che contiene la risposta codificata.
Utilizzare questo plug-in o la decodifica SAML online per ottenere la risposta XML. La risposta può essere regolata in un formato leggibile con il plug-in Pretty Print installato.
Nella versione più recente di CUCM la risposta SAML è in formato XML, reperibile cercando "SPACSUtils.getResponse: risposta ottenuta=<samlp:
Risposta xmlns:samlp="e quindi stampare con il plug-in Pretty Print.
Utilizza Fiddler:
Questa utilità può essere utilizzata per ottenere il traffico in tempo reale e decodificarlo. Di seguito è riportata la guida per la stessa operazione: https://www.techrepublic.com/blog/software-engineer/using-fiddler-to-debug-http/.
Richiesta 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>
Risposta SAML (non crittografata):
<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:Risposta>
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
Se la risposta SAML è crittografata, non sarà possibile visualizzare le informazioni complete e sarà necessario disattivare la crittografia su Intrusion Detection & Prevention (IDP) per visualizzare la risposta completa. I dettagli del certificato utilizzato per la crittografia si trovano in "ds:X509IssuerSerial" della risposta SAML.
Comandi CLI:
usa sso disable
Questo comando disabilita l'autenticazione basata su (OpenAM SSO o SAML SSO). Con questo comando vengono elencate le applicazioni Web per le quali è abilitato l'SSO. Quando richiesto, immettere Sì per disabilitare l'SSO per l'applicazione specificata. È necessario eseguire questo comando su entrambi i nodi se in un cluster. È inoltre possibile disabilitare l'SSO dall'interfaccia utente grafica (GUI) e selezionare il pulsante Disabilita in SSO specifico in Amministrazione Cisco Unity Connection.
Sintassi dei comandi
usa sso disable
utilizza stato sso
Questo comando visualizza lo stato e i parametri di configurazione di SAML SSO. Consente di verificare lo stato SSO, abilitato o disabilitato, su ogni singolo nodo.
Sintassi dei comandi
utilizza stato sso
utilizza sso enable
Questo comando restituisce un messaggio di testo informativo in cui viene richiesto all'amministratore di abilitare la funzione SSO solo dalla GUI. Impossibile abilitare con questo comando sia l'SSO basato su OpenAM che l'SSO basato su SAML.
Sintassi dei comandi
utilizza sso enable
utilizza sso recovery-url enable
Questo comando abilita la modalità SSO dell'URL di ripristino. Verifica inoltre che l'URL funzioni correttamente. È necessario eseguire questo comando su entrambi i nodi se in un cluster.
Sintassi dei comandi
utilizza sso recovery-url enable
utilizza sso recovery-url disable
Questo comando disabilita la modalità SSO dell'URL di ripristino in tale nodo. È necessario eseguire questo comando su entrambi i nodi se in un cluster.
Sintassi del comando
utilizza sso recovery-url disable
set samltrace level <livello traccia>
Questo comando abilita le tracce e i livelli di traccia specifici che possono individuare errori, debug, informazioni, avvisi o errori irreversibili. È necessario eseguire questo comando su entrambi i nodi se in un cluster.
Sintassi del comando
set samltrace level <livello traccia>
mostra livello samltrace
Questo comando visualizza il livello di log impostato per SAML SSO. È necessario eseguire questo comando su entrambi i nodi se in un cluster.
Sintassi del comando
mostra livello samltrace
Tracce per verificare il momento della risoluzione dei problemi:
Per impostazione predefinita, i log SSO non sono impostati su un livello dettagliato.
Eseguire prima il comando set samltrace level debug per impostare i livelli di log di cui eseguire il debug, riprodurre il problema e raccogliere i seguenti set di log.
Da RTMT:
Cisco Tomcat
Cisco Tomcat Security
Cisco SSO
Valore non corretto per UID (Unique Identifier):
Dovrebbe essere esattamente UID e, in caso contrario, CUCM non è in grado di capirlo.
Regola attestazione errata o criterio NameID errato:
È molto probabile che in questo scenario non vengano richiesti nome utente e password.
La risposta SAML non conterrà alcuna asserzione valida e il codice di stato sarà simile al seguente:
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"/>
Verificare che la regola attestazione sia definita correttamente sul lato IDP.
Differenza tra maiuscole/minuscole definita nella regola attestazione:
L'FQDN CUCM nella regola attestazione deve corrispondere esattamente a quello specificato nel server effettivo.
È possibile confrontare la voce nel file xml dei metadati di IDP con quella presente in CUCM eseguendo il comando show network cluster/show network etho details sulla CLI di CUCM.
Ora errata:
L'NTP tra CUCM e IDP presenta una differenza maggiore dei 3 secondi consentiti nella Guida alla distribuzione.
Firmatario asserzione non attendibile:
Al momento dello scambio dei metadati tra IDP e CUCM (provider di servizi).
I certificati vengono scambiati e, in caso di revoca del certificato, i metadati devono essere nuovamente scambiati.
Configurazione errata DNS/Nessuna configurazione
Il DNS è il requisito principale per il funzionamento dell'SSO. Eseguire il comando show network etho detail, utilizzare il test di diagnosi sulla CLI per verificare che DNS/Domain sia configurato correttamente.
Il certificato di firma ADFS viene rinnovato e alle risposte IDP vengono aggiunti due certificati di firma alle risposte CUCM (SP), pertanto si verifica un errore. È necessario eliminare il certificato di firma non necessario
Quando si accede alla pagina SAML SSO da CCM Admin, viene visualizzato il messaggio "I seguenti server non sono riusciti durante il tentativo di ottenere lo stato SSO" seguito dal nome del nodo.
L'SSO basato su CTI non riesce quando si definisce il server CUCM come indirizzo IP in CCMAdmin/System/Server.