Final report, approved by CACTI on 2023-08-16
Version: 1.0
Publication Date: 2023-08-25
DOI: http://doi.org/10.26869/TI.171.1
Introduction
A number of factors have, in recent years, led to increasing deployment of multiple single sign-on (SSO) solutions within individual organizations. Different consumers of SSO services may require different SSO protocols/APIs (eg., SAML vs. OIDC vs. WS-* vs. CAS); implementations of the same protocol may differ in ways that require different SSO providers due to variant interpretations of standards; some (primarily commercial) services may even provide their own self-contained SSO solutions. Apart from the expense of operating multiple SSO systems, this fragmentation of SSO services produces an undesirable, high-friction user experience, and can threaten the consistency and security of identity and access management (IAM) across disparate systems. Required to interact with multiple, unlinked SSO services, users may become confused as to what credentials to use when, and which “sign on” service(s) they should trust. They may quite rightly question how their experience can be termed “single” sign on at all.
A common, and in many cases the only viable approach to reducing friction and limiting the negative impact of SSO service fragmentation on users involves linking disparate SSO systems together, usually with the goal of providing a consistent point of authentication for the end user while allowing SSO consumers (relying parties) to integrate with different linked component services as necessary.
Multiple strategies for linking particular SSO systems may be used, each with different effects on the user experience, security, and federation capabilities. The choice, for example, of which SSO system will be responsible for end-user interaction, and how the integration between linked systems is accomplished, may expand or limit options for such important features as multi-factor authentication (MFA). No single linking strategy may be “optimal” for all sites and all scenarios, but each strategy has strengths and weaknesses which need to be considered when an organization designs a solution.
This report details the creation of the InCommon Linking SSO Working Group and it's attempt to document some of the known strategies for linking SSO systems and significant issues and benefits around each. After compiling the rational for the linked IdP scenarios it was very clear that a core value proposition for linking SSO systems is the ability to federate an otherwise non-InCommon-compatible IdP with InCommon, a multilateral federation. Other common value propositions on linking SSO systems involved less user friction due to consistent login experiences, and even the ability to create temporary transition states or migration paths between different SSO products or solutions.
The Working Group
The InCommon Linking SSO Working Group stemmed from conversations that occurred at ACAMP 2021 and the fact that there are many different SSO protocols and APIs that individual organizations have found a need to have that aren’t always available within one SSO solution, which can require having multiple SSO solutions within the same organization. Of course, this leads to a question of how to link the different SSO providers so that there is still true Single Sign On, and not Multiple Single Sign On solutions. The working group was chartered with the intent to review existing methods members have used, in the past, present, and future plans, and to give a basic listing of scenarios for linkage strategies, as well as the benefits and issues with each. The group first convened in April 2022 to review the charter, determine the scope of the work the group planned to complete, and establish ground rules for the group. After this meeting, Brian Arkills (U Washington) and Etan Weintraub (Johns Hopkins) were elected as co-chairs for the working group. It was decided to target a completion date of end of September for the group’s work.
Over the next few months, the working group went through the process of gathering a list of scenarios members of the group were using and what issues and benefits they saw with each. A table was developed for the purpose of being a uniform way to provide information for each scenario, and members were asked to load the information for their scenarios into that table. The table is the expected final product of the group’s work.
Visual Aid
The finished table has five columns defined as follows:
Login IdP | The IdP the users enter their credentials at |
---|---|
Linked IdP(s) | The additional IdP or IdPs that applications are connected to |
Method of Link/Trust | The technology used to link the IdPs together |
Significant Issues | A list of issues seen with using the scenario |
Significant Benefits | A list of benefits seen with using the scenario |
The first three columns may be visually described by filling them in to the following diagram:
IdP Glossary
There is also a “glossary” of IdP names that are used in the table that is shared here:
IdP | Full Name | Website | Supports Multilateral Federation Natively |
---|---|---|---|
ADFS | Microsoft Active Directory Federation Services | https://docs.microsoft.com/en-us/windows-server/identity/active-directory-federation-services | No (but there are tools available to make it work) |
Azure AD | Microsoft Azure Active Directory | https://azure.microsoft.com/en-us/services/active-directory/ | No |
CAS | CAS Single Sign-On | Yes | |
CIB | Cirrus Identity Bridge | Yes | |
Google Cloud | No | ||
OAM | Oracle Access Management | https://www.oracle.com/security/identity-management/access-management/ | No |
Okta | Okta | No | |
Shib | Shibboleth | Yes |
The table is available at Key Linked IdP Scenarios and below. This is a list of Scenarios we have and had people willing to comment on. This is NOT an exhaustive list of possible scenarios, but rather the ones which the working group had collective experience. One requirement for all scenarios was that they supported Multilateral Federation. If any future readers of this report have experience with another linked IDP scenario (to achieve similar goals) not on the list below please consider reaching out to the Linking SSO Working Group mailing list on possibly getting the scenario added to this report.
The ability to not only parse, consume, and configure an IdP's behavior based on multilateral federation metadata, but also interpret and validate metadata signatures is critical to participating fully in a multilateral federation, and is integral to maintaining the trust on which such federations depend. In each of the selected scenarios below, it is worth noting that at least one of the linked IdPs or proxies supports behavioral autoconfiguration via signed multilateral federation metadata (whether that may be Shibboleth, the Cirrus Identity Bridge, or another IdP or proxy). Each of the scenarios below may be deployed in a fashion in keeping with the Kantara Initiative's SAML2 Interoperability Deployment Profile, which both ensures proper processing of federation metadata and prepares a deployment for participation in InCommon (and other multilateral federations). To ensure interoperability across multilateral federations in these scenarios, it is important that the IdP actually registered and participating in the federation be (the) one which supports saml2int (whether it's the login or linked IdP). Full documentation of current requirements for InCommon participation by IdPs (including the latest Baseline Expectations requirements) can be found in the InCommon Federation Library. The Working Group recommends that all deployers review and address these recommendations and requirements, regardless of the scenario(s) they may be implementing.
A note on Linking vs Proxying: It is understood that there can be confusion around linking vs proxying as it relates to this topic of linking sso. The working group agreed that proxying refers to the method of how the SSO systems are linked. A proxy method can involve multiple Idp systems linked together though a chained saml requests (IdP acts as an SAML sp to another SAML IdP). Other proxy methods can involve different protocols on each side of the linked systems. For example ADFS can act as an transparent proxy to translate the incoming WS-Trust request from Azure AD into a SAML request to Shibboleth. Not all linked SSO scenarios are achieved via a proxy method.
Table of Linked Scenarios
Login IdP | Linked IdP(s) | Method of Link/Trust | Significant issues | Significant benefits |
---|---|---|---|---|
ADFS | Shib | Shib natively proxied to ADFS vis SAML Auth Proxy | No one in the working group does this so we cannot provide issues or benefits. | No one in the working group does this so we cannot provide issues or benefits. |
Azure AD | Shib | Shib natively proxied to AAD with SAML Auth Proxy |
|
|
Azure AD | CIB | CIB federated to AAD | Additional cost. Why pay to have a 2nd IdP? |
|
Okta | Shib | Dependent Campus login forwarding to Okta for medical center accounts (button based) |
|
|
Shib | Azure AD | AAD federated to Shib |
|
|
Shib | Azure AD ADFS | AAD federated to ADFS which is federated to Shib |
|
|
Shib | Google Federated to Shib |
|
| |
Shib | OAM CAS | CAS protected by OAM (via OAM webgate), OAM authentication delegated (via saml proxy) to Shib CAS was our original SSO system (password auth only, no MFA). When OAM was introduced we used an OAM webgate (apache module similar to ship sp reverse proxy, but oracle propriety protocol). The OAM webgate handles OAM auth processing and passes REMOTE_USER back to CAS. 2021-2022 Shib was introduced to take over SSO duties from both CAS and OAM. OAM was configured as an SP to shib which allowed us to delegate all OAM/CAS authentication to Shib to facilitate a temporary transition state until all apps are moved off of OAM & CAS. |
|
|
Shib | Azure AD ADFS | AAD to ADFS to Shib. Shib is the primary IDP for campus.
|
|
|
Shib | Azure AD | Azure AD federated directly with Shib using WS-Fed/Trust code within the Shib IdP |
|
|
Shib | ADFS | ADFS federated with Shibboleth as a claims provider, with HRD override to avoid ADFS interrupting flow. |
|
|
CAS | Shib | Shibboleth federated with CAS as a registered application via the Unicon shib-cas-authn module. |
|
|
At this point, the working group believes its work to be finished. We intend to keep the group’s mailing list available as a point of contact should someone have questions about the table. We can also see a future group being convened to create HOW-TO documents for the different scenarios, which was determined to be out of scope for this working group.
7 Comments
Elle Weintraub (johnshopkins.edu)
Elle Weintraub (johnshopkins.edu)
I will pull the table and information from Key Linked IdP Scenarios directly into this document to make one document.
Elle Weintraub (johnshopkins.edu)
Rob will take c/f/g - linking the Kantara stuff and InCommon Federation requirements...
Rob Carter (duke.edu)
I added a paragraph between the glossary and the actual table that may cover c/f/g – at least it starts in that direction (and it's relatively brief).
Elle Weintraub (johnshopkins.edu)
Majeed will take b/d/e and inviting others for more scenarios, and qualifying linking vs. proxying (e)
Majeed Abu-Qulbain
Finally got some updates in:
b: As suggested, I did repurpose some of the content from the working group charter to create an introduction section.
d: I added this in the last paragraph of the intro
Added a sentence at the end of the first paragraph after the glossary inviting folks to reach out to the linking_sso_working_group@incommon.org mailing list if they are interested in adding another linked scenario to the list that wasn't there before.
e: I added "A note on Linking vs Proxying" just before the table of linked scenarios. I'm not 100% sure the distinction is helpful - curious what others think - feel free to nuke it.
Also added a table of contents - it provides a minor outline with links which seems alright
Lastly, In the IdP glossary i did give "OAM" a "No" on supporting multilateral federations - We couldn't find any ootb documentation around it or any oracle support articles mentioning it. It might be possible with some metadata import scripting, but I wouldn't call that native.
Elle Weintraub (johnshopkins.edu)
Adjustment to (d) - A core value, not THE core value