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
-
-
-
-
Note on using UPN with CUCM SSO
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.
Before you configure Azure, you must export UC metadata from your Cisco Collaboration deployment.
From Cisco Unified CM Administration, go to System > SAML Single Sign On.
For the SSO Mode, select Per-node (Per node is required for Azure SSO)
In the Certificates section, choose either Use Tomcat certificate or Use system-generated self-signed certificate.
Click Export All Metadata and download the metadata file.
After the metadata zip file downloads, unzip the file and verify that you have a separate file for each cluster node.
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.
In Cisco Unity Connection Administration, choose System Settings → SAML Single Sign On.
Choose a Per Node agreement.
Click Export All Metadata
Unzip the file and verify that you have a separate node for each cluster.
On the Expressway-C primary peer, go to Configuration → Unified Communications → Configuration.
In the MRA Access Control section, set the Authentication path to either SAML SSO authentication or SAML SSO or UCM/LDAP.
Set SAML Control to either Cluster or Peer, depending on which type of SAML agreement you want.
Click Export SAML data.
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.
Azure requires that the the same certificate be used for all nodes in the cluster.
There is no need to install this certificate on any Cisco UC applications.
If you don’t have OpenSSL, use your enterprise CA to generate a certificate.
It is recommended for the CA Certificate expiry date to be 5 years.
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
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.
The Basic SAML Configuration populates with Identifier (EntityID) and Reply
URL (Assertion customer service
URL) for the Collaboration server.
Click Save.
Unified CM, IM and Presence Service, and Unity Connection nodes only. In the the SAML Signing Certificate section, click Edit:
Click Import Certificate.
In the Certificate field, click the cloud to browse to and open the certificate.pfx file that you created earlier.
Enter the password and click Add.
This must be the only certificate in the list and must be active.
If this certificate is not active, click the adjacent dots (…), select Make certificate active and then click Yes.
If there are other certificates in the list, click the adjacent dots (…) for those certificates, select Delete Certificate and click Yes to delete those certificates.
Expressway only
In the SAML Signing Certificate section, click Edit and set the Expressway options:
Set Signing Option to Sign SAML Response and Assertion.
Set the Signing Algorithm to the appropriate SHA algorithm. For example, SHA-256.
Click Save.
All UC Apps
Note You need to do download metadata from the IdP once only for your UC deployment. You can import the same IdP metadata file into all your applications
Repeat this procedure separately for each Cisco Unified Communications Manager, IM and Presence Service and Cisco Unity Connection node.
For Cisco Expressway, how many times you complete the procedure depends on the agreement type you chose in Expressway-C (i.e. cluster is recommended)
With Cluster agreements—Complete this procedure a single time only for the Expressway-C cluster. You don't need to complete the procedure for the Expressway-E cluster.
With Peer agreements—Complete this procedure separately for each Expressway-C node. You don't need to complete the procedure for Expressway-E nodes.
Enable SAML SSO for Collaboration Applications
Enable SAML SSO on Cisco Unified Communications Manager - IM and Presence
From Cisco Unified CM Administration, navigate to System → SAML Single Sign On.
Click Enable SAML SSO, click Continue and follow the prompts.
Import the IdP Metadata file into Cisco Unified Communications Manager.
Test the SSO connection.
Restart the Cisco Tomcat Service.
Enable SAML SSO on Cisco Unity Connection
In Cisco Unity Connection Administration, go to System Settings → SAML Single Sign On.
Click Enable SAML Single Sign On.
Click Continue and follow the prompts.
Import the IdP metadata file into Cisco Unity Connection.
Test the SSO Connection.
Restart the Cisco Tomcat service.
Enable SAML SSO on Expressway
On the Expressway-C primary peer go to Configuration → Unified Communications → Identity providers (IdP).
Click Import new IdP from SAML.
Locate and select the metadata file.
Set Digest to the required SHA algorithm and click Upload.
Verify that your Identity Provider appears.
Click Associate domains.
Check each of the domains that you want to associate to this IdP.
Click Save.
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