putting access control in the hands of the users

22
Putting Access Control in the Hands of the Users @I2 Global Summit 9 April 2014

Upload: others

Post on 24-Nov-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Putting Access Control in the Hands of the Users

Putting Access Control in the Hands of the Users

@I2 Global Summit 9 April 2014

Page 2: Putting Access Control in the Hands of the Users

Program

• Introduction to User Managed Access (UMA)

• Use case 1 (Maciej)

• Use case 2 (Roland)

Page 3: Putting Access Control in the Hands of the Users

User Managed Access• Kantara project

”.. address the harmonization and interoperability challenges that exist between enterprise identity systems, Web 2.0 applications and services, and Web-based initiatives.”

• UMA WG

”.. to develop specs that let an individual control the authorization of data sharing and service access made between online services on the individual’s behalf”

Page 4: Putting Access Control in the Hands of the Users

OAuth is a three-entity protocol for securing API calls in a user context

���4Source:  The  OAuth  2.0  Authorization  Framework,  http://tools.ietf.org/html/rfc6749

End-user resource owner gets redirected to AS to log in and consent to access token issuance

AS and RS are typically in the same domain and communicate in a proprietary way

Page 5: Putting Access Control in the Hands of the Users

UMA’s original goal: apply privacy-by-design to OAuth data sharing

���5

Standardized APIs for privacy and “selective sharing”

Outsources protection to a centralized “digital footprint control console”

The “user” in User-Managed Access (UMA)

Some guy not accounted for in OAuth…

Further reading:tinyurl.com/umapbd

Page 6: Putting Access Control in the Hands of the Users

Introduction

AuthorizationServer

ResourceServer

PAT

Page 7: Putting Access Control in the Hands of the Users

Register resources

AuthorizationServer

ResourceServer

PAT

Page 8: Putting Access Control in the Hands of the Users

Resource set description• name

• Human readable name

• icon_uri

• scopes • A bounded extent of access that is possible to perform on a resource

set

• type • A string uniquely identifying the semantics of the resource set

• subsets

Page 9: Putting Access Control in the Hands of the Users

Register rules

AuthorizationServer

ResourceServer

Page 10: Putting Access Control in the Hands of the Users

Resource requestAuthorization

ServerResourceServer

Client

Page 11: Putting Access Control in the Hands of the Users

Initial registration of requester

AuthorizationServer

ResourceServer

Client

AAT

RPT

Page 12: Putting Access Control in the Hands of the Users

Permission registrationAuthorization

ServerResourceServer

Client

RPT

RPT

Page 13: Putting Access Control in the Hands of the Users

Permitted accessAuthorization

ServerResourceServer

Client

RPT

RPT

Page 14: Putting Access Control in the Hands of the Users

AM1.0 vs AM2.0• Complex and feature-rich • Usually proprietary • Mobile/API-unfriendly • Brittle deployment

architecture • Not agnostic to authn

method • Hard to source distributed

policies • Usually coarse-grained

• RESTful and simpler • Standard interop baseline • Mobile/API-friendly • Just call authz endpoints vs.

deploying an agent • Agnostic to authn method

and federation usage • Flexible in policy expression

and sourcing • Leverages API’s “scope-

grained authorization”

���14

Page 15: Putting Access Control in the Hands of the Users

Use case 2

• SAML + UMA

Page 16: Putting Access Control in the Hands of the Users

The pieces

IdP

AS

UC RS

SP

Alice

AS=UMA Authorization ServerRS=UMA Resource ServerUC=UMA clientSP=SAML2 Service providerIdP=SAML2 Identity Provider

Page 17: Putting Access Control in the Hands of the Users

The configuration

IdP

AS

UC RS

SP

Alice

AS=UMA Authorization ServerRS=UMA Resource ServerUC=UMA clientSP=SAML2 Service providerIdP=SAML2 Identity Provider

Page 18: Putting Access Control in the Hands of the Users

1. AS->RS introAS

RS

Alice

AS=UMA Authorization ServerRS=UMA Resource Server

12

3

4

Page 19: Putting Access Control in the Hands of the Users

2. Create rulesAS

Alice

AS=UMA Authorization Server

Page 20: Putting Access Control in the Hands of the Users

IdP

AS

UC RS

SP

Alice

1

2

16

3

4

8

9

10

14

65 7 12

11

13

15

AS=UMA Authorization ServerRS=UMA Resource ServerUC=UMA clientSP=SAML2 Service providerIdP=SAML2 Identity Provider

3. Attribut release

Page 21: Putting Access Control in the Hands of the Users

demo

Page 22: Putting Access Control in the Hands of the Users

Next steps for the WG…and you• Get involved!

– Become an “UMAnitarian” (it’s free) – Participate in the interop and

our implementation discussions – Follow and engage with @UMAWG on Twitter

• Current work: – Technical: claim profiling to allow claim-gathering using

SAML, OpenID Connect, LDAP… – Business: Binding Obligations spec to tie “terms of

authorization” to multi-party state changes

���22

Join  at:tinyurl.com/umawg