Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment configurer l'authentification unique (SSO) dans Cisco Unified Communications Manager (CUCM).
Cisco vous recommande de connaître les sujets suivants :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Référez-vous à Configuration de l'authentification unique dans CUCM.
SAML SSO Deployment Guide for Cisco Unified Communications Applications, version 11.5(1).
RFC 6596 SAML.
Aucune procédure de vérification n'est disponible pour cette configuration.
Utilisation de plug-ins dans le Bloc-notes++
Installez les modules d'extension suivants :
Notepad++ Plugin -> MIME Tools--SAML DECODE
Notepad++ Plugin -> XML Tools -> Pretty Print(XML only – with line breaks)
Dans les journaux SSO, recherchez la chaîne « authentication.SAMLAuthenticator - SAML Response is :: » qui contient la réponse encodée.
Utilisez ce plugin ou le décodage SAML en ligne afin d'obtenir la réponse XML. La réponse peut être ajustée dans un format lisible avec le plug-in Pretty Print installé.
Dans la version plus récente de la réponse SAML CUCM est au format XML que vous pouvez trouver en recherchant « SPACSUtils.getResponse : get response=<samlp :
Response xmlns : samlp= “, puis imprimez avec l'utilisation du plug-in Pretty Print.
Utiliser Fiddler :
Cet utilitaire peut être utilisé pour obtenir le trafic en temps réel et le décoder. Voici le guide pour le même ; https://www.techrepublic.com/blog/software-engineer/using-fiddler-to-debug-http/.
Requête 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>
Réponse SAML (non chiffrée) :
<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:Réponse>
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
Si la réponse SAML est chiffrée, vous ne pourrez pas voir l'information complète et devez désactiver le chiffrement sur Intrusion Detection & Prevention (IDP) pour voir la réponse complète. Le détail du certificat utilisé pour le chiffrement se trouve sous "ds : X509IssueSerial" de la réponse SAML.
Commandes CLI :
utils sso disable
Cette commande désactive l'authentification basée sur OpenAM SSO ou SAML SSO. Cette commande répertorie les applications Web pour lesquelles SSO est activé. Entrez Yes lorsque vous y êtes invité afin de désactiver SSO pour l'application spécifiée. Vous devez exécuter cette commande sur les deux noeuds dans un cluster. SSO peut également être désactivé à partir de l'interface utilisateur graphique (GUI) et sélectionnez le bouton Désactiver, sous SSO spécifique dans l'administration de Cisco Unity Connection.
Syntaxe de commande
utils sso disable
utils sso status
Cette commande affiche les paramètres d'état et de configuration de SAML SSO. Il permet de vérifier l'état de l'authentification unique, activée ou désactivée, sur chaque noeud individuellement.
Syntaxe de commande
utils sso status
utils sso enable
Cette commande renvoie un message texte informatif qui invite l'administrateur à activer la fonction SSO uniquement à partir de l'interface utilisateur graphique. Impossible d'activer les SSO basés sur OpenAM et SAML avec cette commande.
Syntaxe de commande
utils sso enable
utils sso recovery-url enable
Cette commande active le mode SSO de l'URL de récupération. Il vérifie également que cette URL fonctionne correctement. Vous devez exécuter cette commande sur les deux noeuds dans un cluster.
Syntaxe de commande
utils sso recovery-url enable
utils sso recovery-url disable
Cette commande désactive le mode SSO de l'URL de récupération sur ce noeud. Vous devez exécuter cette commande sur les deux noeuds dans un cluster.
Syntaxe de commande
utils sso recovery-url disable
set samltrace level <trace-level>
Cette commande active les traces et les niveaux de suivi spécifiques qui peuvent localiser toute erreur, débogage, information, avertissement ou fatale. Vous devez exécuter cette commande sur les deux noeuds dans un cluster.
Syntaxe de commande
set samltrace level <trace-level>
show samltrace level
Cette commande affiche le niveau de journal défini pour SAML SSO. Vous devez exécuter cette commande sur les deux noeuds dans un cluster.
Syntaxe de commande
show samltrace level
Suivre le moment du dépannage :
Par défaut, les journaux SSO ne sont pas définis au niveau détaillé.
Exécutez d'abord la commande set samltrace level debug afin de définir les niveaux de journal à déboguer, reproduire le problème et collecter ces ensembles de journaux.
À partir de RTMT :
Cisco Tomcat
Sécurité Cisco Tomcat
SSO Cisco
Valeur incorrecte pour l'identificateur unique (UID) :
Il devrait être exactement UID et si ce n’est pas le cas, CUCM ne peut pas le comprendre.
Règle de revendication incorrecte ou stratégie NameID incorrecte :
Il est très probable qu'aucun nom d'utilisateur et mot de passe n'est demandé dans ce scénario.
Il n'y aura aucune assertion valide dans la réponse SAML et le code d'état sera le suivant :
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"/>
Vérifiez que la règle de revendication est correctement définie du côté PCI.
Différence entre le nom et la casse Définie dans la règle de revendication :
Le FQDN CUCM dans la règle de revendication doit correspondre exactement à celui spécifié sur le serveur réel.
Vous pouvez comparer l'entrée dans le fichier xml de métadonnées de IDP à celle de CUCM en exécutant la commande show network cluster/show network etho details sur l'interface de ligne de commande de CUCM.
Heure incorrecte :
NTP entre CUCM et IDP a une différence supérieure aux 3 secondes autorisées dans le Guide de déploiement.
Signataire d'assertion non approuvé :
Au moment de l'échange des métadonnées entre IDP et CUCM (fournisseur de services).
Les certificats sont échangés et, en cas de révocation de certificat, les métadonnées doivent être échangées à nouveau.
Erreur de configuration DNS/Aucune configuration
DNS est la principale condition requise pour que SSO fonctionne. Exécutez show network etho detail, utils diagnostic test sur l'interface de ligne de commande afin de vérifier que DNS/Domain est configuré correctement.
Le certificat de signature ADFS se renouvelle et ajoute deux certificats de signature aux réponses IDP à CUCM (SP), ce qui vous fait courir un défaut. Vous devez supprimer le certificat de signature qui n'est pas requis
Lorsque vous accédez à la page SSO SAML à partir de CCM Admin, vous êtes invité à indiquer « Les serveurs suivants ont échoué lors de la tentative d'obtention de l'état SSO », suivi du nom du noeud.
L'authentification unique CTI échoue lors de la définition du serveur CUCM en tant qu'adresse IP dans CCMAdmin//System/Sever.