20
SAML 2.0 The Universal Identity Solvent Pat Patterson Principal Developer Evangelist salesforce.com

SAML Smackdown

Embed Size (px)

DESCRIPTION

My slides from the Identity Protocol Smackdown session at Gartner Catalyst 2013. Ignite format - 20 slides, 15 seconds per slide. There are auto-builds on a few slides, so download and view in PowerPoint for the best experience.

Citation preview

Page 1: SAML Smackdown

SAML 2.0The Universal Identity Solvent

Pat PattersonPrincipal Developer Evangelist

salesforce.com

Page 2: SAML Smackdown

SAML 2.0

Standardized by OASIS, March 2005Widely supported– Google Apps since October 2006– salesforce.com since Winter ’09 (October 2008)– Microsoft Active Directory Federation Services (AD

FS) since version 2.0 (May 2010)– Your favorite service provider!

Page 3: SAML Smackdown

SAML Providers

Service Provider–Provides some service/resource to user– Trusts identity provider to authenticate user

Identity Provider–User logs in here–Creates SAML Assertion

Page 4: SAML Smackdown

social

automateadminister

trust

Bring your own Identity single sign-on anduser management

secure single sign-onand social apps

centralized access management, provisioning

and reporting

Page 5: SAML Smackdown

Authenticate

SAML 2.0 Protocol

BrowserIdentity Provider Service Provider

GET /something

HTTP/1.1 302 FoundLocation: http://idp.ex.com/saml?

SAMLrequest=hf7893b…&RelayState=HKFDhh383GET http://idp.ex.com/saml?

SAMLrequest=hf7893b…&RelayState=HKFDhh383

200 OKSAML Assertion in HTML FORM POST /acs

SAML Assertion

HTTP/1.1 302 FoundLocation: http://sp.ex.net/something

Set-Cookie: token=value; Domain=.ex.net

Page 6: SAML Smackdown

More than just Single Sign-On!

<Assertion> <Issuer/> <Signature/> <Subject/> <Conditions/> <AttributeStatement> <Attribute Name=”JobCode”> <AttributeValue> 12345678 </AttributeValue> </Attribute> <!-- Can send any number of additional attributes --> </AttributeStatement> <AuthnStatement/></Assertion>

Page 7: SAML Smackdown

Can even provision identities!

Just-in-time Provisioning– Service Provider creates account if one does not

already exist, gives user immediate access– Service Provider updates account details with each

SSO– Sweet spot: large pool of potential users, small

number of actual users

Page 8: SAML Smackdown

SAML is Multi-Purpose!

• Single Sign-On• Provisioning• Synchronization

• But that’s not all!

Page 9: SAML Smackdown

Embedded SAML

• Loose coupling between identity protocols allows us to use SAML in an OAuth flow

My Company Inc

Page 10: SAML Smackdown

SAML in OAuth

Page 11: SAML Smackdown

Other Protocols in SAML

• ‘Authenticate’ user step can be anything• Username/password (ugh!) still most common• Any web-based interaction– e.g. two factor

• Wrap any protocol in HTTP– e.g. Kerberos -> SPNEGO

Page 12: SAML Smackdown

SPNEGO – Kerberos within SAML

Page 13: SAML Smackdown

So SAML is Composable

But wait… That’s still not all!!!

Page 14: SAML Smackdown

The SAML Assertion is a Universal Identity Solvent!

Even competing federation protocols

use SAML Assertion as a token format!

Page 15: SAML Smackdown

Token Exchange

• Authorization Services can function as RESTful STS’s (remember those?)

• Client app obtains SAML Assertion from enterprise IAM infrastructure

• Authorization Service verifies Assertion, issues token for API access

• Client app is off to the races

Page 16: SAML Smackdown

Bridging to the Brave New World

IETF Draft: SAML 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants

Page 17: SAML Smackdown

SAML -> OAuth -> Any API!

Enterprise apps get to play– OpenID Connect– SCIM– Cloud Services– Whatever you want

Page 18: SAML Smackdown

SAML and XACML

• SAML 2.0 Profile for XACML• SAML as transport for XACML

attributes

Page 19: SAML Smackdown

So wait…

Not only can SAML do SSO and provisioning…

It can also interoperate with ALL of the other identity

protocols on stage?

Page 20: SAML Smackdown

MIND BLOWN

Thank You!

Pat PattersonPrincipal Developer Evangelist

salesforce.com