SAML
SAML is an XML-based standard for passing signed identity statements between an identity provider and an application. It commonly lets employees use one organizational sign-in to reach separate web applications without giving each application the organizational password.
itIdentity, access, and cryptography | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
SAML
Security Assertion Markup Language, or SAML, is an XML-based framework for exchanging authentication, attribute, and authorization information across security domains. Its most familiar use is enterprise web single sign-on. An identity provider authenticates a person and issues a SAML assertion. A service provider consumes that assertion and creates its own application session.
SAML separates authentication from application access. The service provider does not receive the user's identity-provider password. Instead, the two organizations establish trust in advance by agreeing on identifiers, endpoints, bindings, and signing keys. This federation arrangement lets one identity provider serve many applications while each application retains control of its local session and authorization rules.
The actors and trust boundary
Three actors participate in browser single sign-on:
- The principal is the person whose identity is being asserted.
- The identity provider, or IdP, authenticates the principal and issues assertions.
- The service provider, or SP, protects the application and consumes assertions.
The browser carries protocol messages between the IdP and SP, but it is not trusted to decide what they mean. The SP validates the response against its configured trust information. A valid signature proves that signed content came from the holder of the configured private key and was not altered. It does not prove that every assertion is acceptable for every SP. The consumer must also validate issuer, audience, destination, time conditions, subject confirmation, and correlation data where the profile requires them.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.oasis-open.org/standard/saml/
Supports
- SAML 2.0 standard set, approval date, scope, and component documents
- Assertions carrying authentication, attribute, and authorization information
- https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html
Supports
- IdP, SP, principal, assertion, protocol, binding, and profile architecture
- Browser SSO message flows and federation use cases
- Distinction between SAML components and post-2.0 extensions
- https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
Supports
- Assertion, Subject, Conditions, statements, request, response, issuer, audience, and status semantics
- Time conditions and assertion identifiers
- https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf
Supports
- Web Browser SSO, bearer subject confirmation, SP-initiated and unsolicited response processing
- Request correlation, recipient, destination, and Single Logout behavior
- https://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf
Supports
- HTTP Redirect, HTTP POST, and HTTP Artifact mappings
- Binding-layer encoding and signature rules
- https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf
Supports
- Entity descriptors, roles, endpoints, bindings, and key descriptors
- Multiple keys supporting controlled signing-key transition
- https://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf
Supports
- Signature, encryption, TLS, replay, bearer assertion, confidentiality, and privacy considerations
- Need to bind security decisions to validated signed content
- https://docs.oasis-open.org/security/saml/v2.0/errata05/csd01/saml-v2.0-errata05-csd01.html
Supports
- Corrections and clarifications to SAML 2.0 core, bindings, profiles, and metadata
- https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/cs01/saml-subject-id-attr-v1.0-cs01.html
Supports
- Stable subject identifier attributes and deficiencies in persistent NameID practice
- https://github.com/kdeldycke/awesome-iam
Supports
- Discovery of Keycloak, authentik, SimpleSAMLphp, Shibboleth-related SAML resources, and SAMLTool for Awesome Links research
- SAML's placement in the wider identity and access management ecosystem
- https://www.keycloak.org/docs/latest/server_admin/
Supports
- SAML clients, SAML identity brokering, metadata, keys, mappers, and endpoint configuration
- https://docs.goauthentik.io/add-secure-apps/providers/saml
Supports
- SAML provider bindings, endpoints, metadata, certificates, and property mappings
- https://simplesamlphp.org/docs/stable/
Supports
- SimpleSAMLphp IdP and SP configuration, metadata, authentication sources, and modules
- https://shibboleth.atlassian.net/wiki/spaces/IDP5/overview
Supports
- Shibboleth IdP metadata, profiles, attributes, credentials, and relying-party configuration
- https://www.samltool.com/
Supports
- Browser-accessible SAML decoding, XML, certificate, metadata, and signature inspection utilities
- https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal-setup-sso
Supports
- Entra enterprise application SAML setup, entity ID, ACS URL, attributes, certificate, and testing
- https://help.okta.com/okta_help.htm?id=ext-apps-about-saml
Supports
- Okta acting as SAML IdP or SP in application integrations
- https://docs.pingidentity.com/pingfederate/latest/pingfederate_administrators_reference_guide/pf_administrators_reference_guide.html
Supports
- PingFederate IdP and SP connections, adapters, contracts, certificates, and protocol configuration
- https://www.onelogin.com/product/sso
Supports
- OneLogin managed single sign-on and SAML application integration role
- https://auth0.com/docs/authenticate/identity-providers/enterprise-identity-providers
Supports
- Auth0 enterprise identity-provider connections including SAML
- https://workos.com/docs/sso
Supports
- WorkOS connection layer for application SSO with SAML and OIDC identity providers
- Application ownership of user records and authorization outside the SSO exchange
- https://www.oasis-open.org/2002/11/05/security-assertion-markup-language-saml-ratified-as-oasis-open-standard/
Supports
- SAML 1.0 ratification in November 2002 and its original exchange scope
- https://www.oasis-open.org/2003/09/21/security-assertion-markup-language-saml-version-1-1-ratified-as-oasis-standard/
Supports
- SAML 1.1 ratification in September 2003 and incorporation of implementation experience
- https://www.oasis-open.org/2005/03/13/members-approve-security-assertion-markup-language-saml-v2-0-as-oasis-standard/
Supports
- SAML 2.0 ratification in March 2005 and added federation capabilities
- https://www.oasis-open.org/committees/security/faq.php
Supports
- Liberty ID-FF contribution as input to SAML 2.0
- https://www.oasis-open.org/standards/
Supports
- 2007 SAML metadata extensions and 2008 X.509 deployment profile approvals
- https://www.oasis-open.org/standard/saml2-0-meta-interop/
Supports
- Metadata Interoperability Profile Committee Specification approval on 4 August 2009
- https://www.oasis-open.org/standard/saml-assur-prof/
Supports
- Identity Assurance Profiles approval on 5 November 2010
- https://docs.oasis-open.org/security/saml/Post2.0/saml-ecp/v2.0/csd01/saml-ecp-v2.0-csd01.html
Supports
- Enhanced Client or Proxy Profile Version 2.0 work and 2013 approval path
- https://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop.html
Supports
- Metadata Interoperability Profile as an OASIS Standard on 24 October 2019
