wso2con usa 2014 - identity server tutorial

88
WSO2 Identity Server An open source Identity and Entitlement Management Server Prabath Siriwardena, Director of Security Architecture Johann Nallathamby, Product Lead – Identity Server

Upload: prabath-siriwardena

Post on 08-Jun-2015

637 views

Category:

Education


3 download

DESCRIPTION

WSO2Con USA 2014 - Identity Server Tutorial

TRANSCRIPT

Page 1: WSO2Con USA 2014 - Identity Server Tutorial

WSO2 Identity ServerAn open source Identity and Entitlement Management Server

Prabath Siriwardena, Director of Security ArchitectureJohann Nallathamby, Product Lead – Identity Server

Page 2: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

Page 3: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

Authentication

ADLDAP JDBC

Page 4: WSO2Con USA 2014 - Identity Server Tutorial

Authentication

Page 5: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

AuthenticationSingle Sign On

SAML2 Kerberos WS-Fed Passive

Page 6: WSO2Con USA 2014 - Identity Server Tutorial

OpenID

Decentralized Single Sign On Single user profile Widely used for community &

collaboration aspects Multifactor Authentication

[Infocard, XMPP] OpenID relying party

components

Page 7: WSO2Con USA 2014 - Identity Server Tutorial

SAML2

Single Sign On / Single Logout Widely used *aaS providers [Google Apps, Salesforce] SAML2 Web SSO Profile SAML2 Attribute Profile Distributed Federated SAML2 IdPs Used in WSO2 StratosLive

Page 8: WSO2Con USA 2014 - Identity Server Tutorial

SharePoint

WS-Fed Passive

Single Sign-On

Page 9: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

AuthenticationSingle Sign On

Provisioning

SCIMSPML

Page 10: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning

Page 11: WSO2Con USA 2014 - Identity Server Tutorial

Heterogeneous systems

Goog

le

Adap

to

r

SF

Adapto

r

Page 12: WSO2Con USA 2014 - Identity Server Tutorial

Open standards for provisioning

2001 : OASIS PS TC

2003 : SPML 1.02003 : WS-Provisioning

2006 : SPML 2.02010 : SCIM community

2011 : SCIM 1.0

2012 : SCIM 1.1

2011 : RESTPML

Page 13: WSO2Con USA 2014 - Identity Server Tutorial

Open standards for provisioning

Pro

vis

ion

in

g

Serv

ice

Poin

t

Page 14: WSO2Con USA 2014 - Identity Server Tutorial

System for Cross-domain Identity Management

SCIM Service Provider

/Users

/GroupsSCIM Consumer

Page 15: WSO2Con USA 2014 - Identity Server Tutorial

System for Cross-domain Identity Management

{ "schemas":[], "name":{"familyName":”siriwardena","givenName":”prabath"}, "userName":”prabath","password":”prabath123", "emails":[{"primary":true,"value":”[email protected]","type":"home"},

{"value":”[email protected]","type":"work"}]}

curl -v -k --user admin:admin -d @add-user.json --header "Content-Type:application/json" https://localhost:9443/wso2/scim/Users

add-user.json

curl command

Page 16: WSO2Con USA 2014 - Identity Server Tutorial

System for Cross-domain Identity Management

{ "schemas": ["urn:scim:schemas:core:1.0"], "id": "idnext", "displayName": "IdentityNext",}

curl -v -k --user admin:admin -d @add-group.json --header "Content-Type:application/json" https://localhost:9443/wso2/scim/Groups

add-group.json

curl command

Page 17: WSO2Con USA 2014 - Identity Server Tutorial

System for Cross-domain Identity Management

Page 18: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Service Provider

Domain A

Domain B

Federated Provisioning Patterns

One way provisioning

Provisioning Service Provider

Provisioning Service Provider

Domain C

SCIM Consumer

Page 19: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Service Provider

Domain A

Domain B

Federated Provisioning Patterns

One way provisioning with broker mode

Provisioning Service Provider

Provisioning Service Provider

Domain C

SCIM Consumer

Page 20: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Service Provider

Domain A

Domain B

Federated Provisioning Patterns

Bi-directional provisioning

Provisioning Service Provider

Provisioning Service Provider

Domain C

SCIM Consumer

SCIM Consumer

SCIM Consumer

Page 21: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Service Provider

Domain A

Domain B

Federated Provisioning Patterns

Multi-directional provisioning with a centralized PSP

Provisioning Service Provider

Provisioning Service Provider

Domain C

SCIM Consumer

SCIM Consumer

SCIM Consumer

Provisioning Service Provider

Page 22: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Service Provider

Domain A

Domain B

Federated Provisioning Patterns

Just-in-time provisioning with SAML2

SAML2 IdP

1

2

3

4

Page 23: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Service Provider

Domain A

Domain B

Federated Provisioning Patterns

Just-in-time provisioning with SAML2

SAML2 IdP

1

2

3

5

4

Page 24: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Service Provider

Multi-tenancy

SCIM Consumer (facilelogin.com)

SCIM Consumer (wso2.com)

wso2.com

facilelogin.com

Page 25: WSO2Con USA 2014 - Identity Server Tutorial

WSO2 Charon

Page 26: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

AuthenticationSingle Sign On

Provisioning

Auditing Delegation

WS-TRUST

Page 27: WSO2Con USA 2014 - Identity Server Tutorial

Delegation

Page 28: WSO2Con USA 2014 - Identity Server Tutorial

OAuth Evolution

Page 29: WSO2Con USA 2014 - Identity Server Tutorial

OAuth Evolution

Page 30: WSO2Con USA 2014 - Identity Server Tutorial

OAuth Evolution

Page 31: WSO2Con USA 2014 - Identity Server Tutorial

OAuth Evolution

Page 32: WSO2Con USA 2014 - Identity Server Tutorial

OAuth

Identity Delegation Securing RESTful services 2-legged & 3-legged OAuth 1.01 XACML integration with OAuth OAuth 2.0 support with Authorization Code, Implicit, Resource Owner Credentials, Client Credentials

Page 33: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

AuthenticationSingle Sign On

Provisioning

Auditing DelegationFederation

WS-TRUSTSAML2

Page 34: WSO2Con USA 2014 - Identity Server Tutorial

Fed

era

tion

Page 35: WSO2Con USA 2014 - Identity Server Tutorial

Security Token Service

Supports WS-Trust 1.3/1.4 SAML 1.0/1.1/2.0 token profiles Claim management

Page 36: WSO2Con USA 2014 - Identity Server Tutorial

Security Token Service

Consumer App

Resource

Domain A

Domain B

Federation Patterns

Cross Domain Authentication with WS-Trust

Page 37: WSO2Con USA 2014 - Identity Server Tutorial

Federation Patterns

Cross Domain Authentication with Kerberos and WS-Trust

Page 38: WSO2Con USA 2014 - Identity Server Tutorial

Federation Patterns

Decentralized Federated SAML2 IdPs

Page 39: WSO2Con USA 2014 - Identity Server Tutorial

Federation Patterns

Decentralized Federated SAML2 IdPs

Page 40: WSO2Con USA 2014 - Identity Server Tutorial

Federation Patterns

Decentralized Federated SAML2 IdPs

Page 41: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

Page 42: WSO2Con USA 2014 - Identity Server Tutorial

Identity BusO

pera

tors

Serv

ice P

rovid

ers

Page 43: WSO2Con USA 2014 - Identity Server Tutorial

Identity BusO

pera

tors

Serv

ice P

rovid

ers

SAML 2.0

OpenID Connect / SAML 2.0

Op

en

ID C

on

nect

Op

en

ID C

on

nect

Page 44: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

SAML 2.0

OpenID Connect / SAML 2.0

Page 45: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

SAML 2.0

SAML 2.0

SAML 2.0

SAML 2.0

Page 46: WSO2Con USA 2014 - Identity Server Tutorial

Identity BusO

pera

tors

Serv

ice P

rovid

ers

Page 47: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

1Scenario - 1

http://ebuy.federationdemo.com:9766/ebuy/

Page 48: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

2

OpenID ConnectRequest

Scenario - 1

1502808989

Page 49: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

3

OpenID ConnectRequest

Scenario - 1

Page 50: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

4

< credentials >

Scenario - 1

User : tom_imobilePassword: tom_imobile

Page 51: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

4Scenario - 1

Page 52: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

5

OpenID ConnectResponse

Scenario - 1

Page 53: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

6

OpenID ConnectResponse

Scenario - 1

Page 54: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

7Scenario - 1

Page 55: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

1Scenario - 2

http://azone.federationdemo.com:9766/azone/

9477808989

Page 56: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

2

OpenID Connect Request

Scenario - 2

Page 57: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

3

SAML2.0 Request

Scenario - 2

Page 58: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

3

OAuth 2.0

Scenario - 2

Page 59: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

4

< credentials >

Scenario - 2

Page 60: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

4

OAuth 2.0 response

Scenario - 2

Page 61: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

5

SAML2 Response

Scenario - 2

Page 62: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

6

OpenID ConnectResponse

Scenario - 2

Page 63: WSO2Con USA 2014 - Identity Server Tutorial

Identity Bus

7Scenario - 2

Page 64: WSO2Con USA 2014 - Identity Server Tutorial

Provisioning Bus

Page 65: WSO2Con USA 2014 - Identity Server Tutorial

Federation Silos

Page 66: WSO2Con USA 2014 - Identity Server Tutorial

Spaghetti Identity

Page 67: WSO2Con USA 2014 - Identity Server Tutorial

Why Identity Bus?

• Introducing a new service provider is extremely easy. • Removing an existing service provider is extremely easy. • Introducing an new identity provider is extremely easy. • Removing an existing identity provider is extremely easy. You only

need to remove the identity provider from the identity bus.• Enforcing new authentication protocols is extremely easy. • Claim transformations. • Role mapping. • Just-in-time provisioning. • Centralized monitoring and auditing.• Introducing a new federation protocol needs minimal changes.

Page 68: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

Role Based Access Control

Page 69: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

Role Based Access Control

Attribute Based Access Control

Page 70: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

Role Based Access Control

Attribute Based Access Control

Policy Based Access Control

XACML

Page 71: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

Role Based Access Control

Attribute Based Access Control

Policy Based Access Control

SOAP

XACML / WS-XACML

Page 72: WSO2Con USA 2014 - Identity Server Tutorial

An open source Identity & Entitlement management server

Role Based Access Control

Attribute Based Access Control

Policy Based Access Control

SOAP

REST

XACML

Page 73: WSO2Con USA 2014 - Identity Server Tutorial

XACML

The de-facto standard for authorization

XACML 3.0 Support for multiple PIPs Policy distribution Decision / Attribute caching UI wizard for defining policies Notifications on policy updates TryIt tool

Page 74: WSO2Con USA 2014 - Identity Server Tutorial

XACML

EntitlementService EntitlementPolicyAdminService

Policy Decision Point

Policy Cache

Decision Cache

XACML Engine

ExtensionsPolicy

Administration Point

Attribute Finder

Extensions

Default Finder

LDAP

Attribute Cache

SOAP/Thrift/WS-XACML

SOAP

Page 75: WSO2Con USA 2014 - Identity Server Tutorial

XACML

Page 76: WSO2Con USA 2014 - Identity Server Tutorial

XACML

Page 77: WSO2Con USA 2014 - Identity Server Tutorial

XACML

Page 78: WSO2Con USA 2014 - Identity Server Tutorial

XACML

Page 79: WSO2Con USA 2014 - Identity Server Tutorial

XACML – Reverse Lookup

Page 80: WSO2Con USA 2014 - Identity Server Tutorial

XACML – Policy Governance

Page 81: WSO2Con USA 2014 - Identity Server Tutorial

XACML – Access Monitoring

Page 82: WSO2Con USA 2014 - Identity Server Tutorial

Identity Server 5.0.0 Architecture

Page 83: WSO2Con USA 2014 - Identity Server Tutorial

Identity Broker Interop with ADFS

Page 84: WSO2Con USA 2014 - Identity Server Tutorial

Identity Broker Interop with ADFS

Page 85: WSO2Con USA 2014 - Identity Server Tutorial

Identity Broker Interop with ADFS

Page 86: WSO2Con USA 2014 - Identity Server Tutorial

Mobile IdP Proxy

Page 87: WSO2Con USA 2014 - Identity Server Tutorial

What Do We Have Now ?

User stores with LDAP/AD/JDBC Multiple user stores OpenID SAML2 Kerberos Integrated Windows Authentication Information Cards XACML 2.0/3.0 OAuth 1.0a/2.0 Security Token Service with WS-Trust SCIM 1.1 WS-XACML WS-Fed Passive

Page 88: WSO2Con USA 2014 - Identity Server Tutorial

Thank You…!!!

[email protected] | [email protected]