Table of Contents

Configuring Cisco SSO with Microsoft Azure

References

Introduction

This document provides a configuration example of how to configure Microsoft Azure as the SAML SSO Identity Provider (IdP) for the following applications:

Summary

There are various bugs and issues with using uPN with CUCM SSO and even without SSO.

When NOT using SSO - CUCM doesn't support using a suffix which is different that the main suffix in the AD / LDAP. i.e. CUCM attempts to find the user in the LDAP with the suffix of the user entered - which might NOT be how the LDAP is setup and so the user might not be found - even if this IS their uPN. This is a bug on CUCM side - which is NOT been fixed. i.e. Cisco workaround is “use mail attribute”.

When using SSO this issue doesn't occur as it doesn't attempt to verify and authenticate the user against the AD - but with SSO. However with SSO and using uPN - Jabber has a bug.

Jabber attempts to find the user in CUCM before attempting the SSO. It finds the user in CUCM by searching for that users mail attribute and not against the userID in CUCM. So if the user doesn't have a mail attribute or entered their uPN which is different that the mail attribute no SSO will be attempted as the user is not found.

So in effect the user has to enter their mail attribute as their username in Jabber. Jabber finds the user and THEN SSO will be attempted with the uPN - which is VERY confusing for the user if the uPN doesn't match the mail attribute.

And if it always match for all users why use uPN - just use the mail attribute instead.

Awaiting to test the behaviour of Webex One and CUCM and if it replicates this Jabber bug…. Update! Webex one works with uPN and SSO.

Export UC Metadata Files

Before you configure Azure, you must export UC metadata from your Cisco Collaboration deployment.

Export UC metadata from Cisco Unified Communications Manager

Note If you have the IM and Presence Service deployed in a Standard Deployment (non-centralized), your metadata zip file also includes IM and Presence Service nodes.

Export UC metadata from Cisco Unity Connection

Export UC metadata from Cisco Expressway.

Note With Cluster agreements, you will get an XML file download. With Peer agreements, you will get a zip file that contains XML files for each Expressway-C cluster node.

Generate Certificate Signing for Azure Responses

If you have OpenSSL installed, generate a certificate for Azure and provision it on the Azure application. Azure will include this certificate in its IdP metadata export and use this certificate to sign the SAML assertions that it sends to Cisco Unified Communications Manager, IM and Presence Service and Cisco Unity Connection nodes.

Note: This procedure is not required for Cisco Expressway.

Using open SSL to generate CA (store private keys securely)

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 1825 -out certificate.pem
openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in certificate.pem

Configure Azure Custom Application

Complete the following procedure separately for each cluster node in your Cisco Unified Communications Manager, IM and Presence Service, and Cisco Unity Connection deployment.

For Cisco Expressway, if you have a cluster agreement, complete the procedure once for the Expressway-C cluster. Otherwise, if you are using a peer agreement, complete the procedure separately for each Expressway-C node.

Expressway only

All UC Apps

Enable SAML SSO for Collaboration Applications

Enable SAML SSO on Cisco Unified Communications Manager - IM and Presence

Enable SAML SSO on Cisco Unity Connection

Enable SAML SSO on Expressway

Troubleshooting

Review troubleshooting guide URL (at the top of the page).

set samltrace level debug
file list activelog tomcat/logs/ssosp/log4j/*
file view  activelog tomcat/logs/ssosp/log4j/ssosp000xx.log
file tail activelog tomcat/logs/ssosp/log4j/ssosp000xx.log
set samltrace level info

Also check out the following logs

To download all tomcat logs use the following command

file get activelog tomcat/logs/* recurs