Dissecting SAML Authentication -...

25
Dissecting SAML Authentication Dennis Smith and Gary Lee

Transcript of Dissecting SAML Authentication -...

Page 1: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Dissecting SAML Authentication

Dennis Smith and Gary Lee

Page 2: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Access / Identity

Clients

Services

Web Device

Server Online Content and Services

Desktop

Page 3: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

How to authenticate?

Named Users

Enterprise Users

ArcGIS OnlineArcGIS Portal

Domain Users

Page 4: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What is SAML?

• Security Assertion Markup Language

• Based on XML

• Web browser single sign-on

• Separating the Identity Store from the Service Provider

ArcGIS Online

Page 5: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Service Provider, Identity Provider and Client

Meet the Players

Page 6: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Meet the Players:Service Provider

• Provides web-based consumables to the end-user

• Requires authentication

• ArcGIS Online, Portal for ArcGIS

ArcGIS

Page 7: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Meet the Players: Service Provider

ArcGIS

• Provides web-based consumables to the end-user

• Requires authentication

• ArcGIS Online, Portal for ArcGIS

Page 8: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Meet the Players: Identity Provider (IdP)

• Provides cross-domain authentication

• Uses HTTP/HTTPS

• Active Directory Federated Services, OpenAM, etc

• Can authenticate via existing user stores (AD, LDAP, etc)

Page 9: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Meet the Players:Identity Provider (IdP)

ArcGIS Online

Client

Active DirectoryIdP: ADFS

External Domain(s) DMZ Internal Domain

FirewallFirewall

Typical SAML Provider Architecture

Page 10: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Meet the Players:Client

• Web browser

• ArcGIS for Desktop

• ArcGIS Pro

• Collector for ArcGIS

ArcGIS Online

Page 11: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Relationships Are All About Trust

Page 12: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Relationships are all about Trust!

Identity Provider

Metadata

Service Provider

Page 13: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Relationships are all about Trust!

Identity Provider

AssertionConsumerService URLSingleLogoutService URLPublic SSL keyOrganizationNameOrganizationDisplayNameOrganizationURL

Service Provider

Page 14: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Relationships are all about Trust!

Identity Provider

SSO Service URLLogout Service URLDigital SignaturePublic SSL Key

ID to identify the provider

Claims attributes offered

Page 15: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What Happens During SAML authentication

Page 16: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What happens during SAML authentication?

• Requests sent via HTTP/HTTPS in XML format

• Client acts as the middleman between the SP and IdP

• Service Provider Initiated Log on

• Identity Provider Initiated Log on

Page 17: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What happens during SAML authentication?

Service ProviderArcGIS Online / Portal for ArcGIS

ClientWeb Browser / Application

SAML token returned to client

Authentication request forwarded to IdP

Identity Provider

SAML token & attributes forwarded to SP

User is logged into SP

User accesses resource

Authentication Request

Page 18: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What happens during SAML authentication?Authentication Request

Service ProviderArcGIS Online / Portal for ArcGIS

ClientWeb Browser / Application

Authentication request

User accesses resources

Page 19: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What happens during SAML authentication?Authentication Request

1. IdP checks if user is currently authenticated

2. If user is not currently authenticated, user is

challenged for credentials

3. IdP attempts to authenticate user

4. A SAML assertion is generated and sent to the

AssertionConsumerService URL

ClientWeb Browser / Application

SAML token returned to client

Authentication request forwarded to IdP

Identity Provider

Page 20: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What happens during SAML authentication?Authentication Response

ClientWeb Browser / Application

SAML token returned to client

Authentication request forwarded to IdP

Identity Provider

Page 21: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What happens during SAML authentication?Service Provider accepts SAML assertion

Service ProviderArcGIS Online / Portal for ArcGIS

ClientWeb Browser / Application

User is logged into SP

SAML token and attributes forwarded to SP

Page 22: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

What happens during SAML authentication?Identity Provider Initiated Log In

Service ProviderArcGIS Online / Portal for ArcGIS

ClientWeb Browser / Application

Redirected to SP with token and attributes

User accesses login page on IdP

Identity Provider

SAML token & attributes forwarded to IdP

User is logged into SP

Page 23: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Demo

Page 24: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web

Questions?

Page 25: Dissecting SAML Authentication - Esriproceedings.esri.com/library/userconf/proc17/tech-workshops/tw_456... · What is SAML? •Security Assertion Markup Language •Based on XML •Web