CIS 2015 SCIM in the Real World - Kelly Grizzle

63
SCIM in the Real World Kelly Grizzle Software Architect – SailPoint

Transcript of CIS 2015 SCIM in the Real World - Kelly Grizzle

Page 1: CIS 2015 SCIM in the Real World -  Kelly Grizzle

SCIM in the Real World

Kelly Grizzle Software Architect – SailPoint

Page 2: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 2

Overview

• What is SCIM? • Trends in SCIM Usage • Who are you and what’s your problem?

-  Identity Gurus -  Service Providers

• Case Studies • Where is SCIM today and where is it going?

Page 3: CIS 2015 SCIM in the Real World -  Kelly Grizzle

What is SCIM? System for Cross-Domain Identity Management

Page 4: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 4

Identity Management +

REST =

Page 5: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 5

Identity Management + REST = SCIM

• REST is just architectural pattern -  SCIM defines an identity management profile for it

• SCIM provides… -  Standard definitions for User and Group -  Standard operations

•  Create, Read, Update, Delete, Search, Partial Update, Bulk -  Extensibility

•  Add more attributes to existing object types or define new object types

Page 6: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 6

Example – Retrieve User Request

GET /Users/2819c223-7f76-453a-919d-413861904646 Host: example.com Accept: application/scim+json Authorization: Bearer h480djs93hd8

Page 7: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 7

Example – Retrieve User Response HTTP/1.1 200 OK Content-Type: application/scim+json Location: https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646 {

"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],

"id": "2819c223-7f76-453a-919d-413861904646",

"name": {

"formatted": "Ms. Barbara J Jensen III",

"familyName": "Jensen",

"givenName": "Barbara“

},

"meta": {

"resourceType": "User",

"created": "2011-08-01T18:29:49.793Z",

...

}

}

Self-describing payload

Single-valued attribute

Complex attribute

Many data types

Page 8: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 8

CRUD Operations

POST /Users PUT /Users/2819c223-7f76-453a-919d-413861904646 PATCH /Users/2819c223-7f76-453a-919d-413861904646 DELETE /Users/2819c223-7f76-453a-919d-413861904646 GET /Users?startIndex=10&count=5&filter=userName sw “J” GET /Users/2819c223-7f76-453a-919d-413861904646

Page 9: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 9

Server Configuration Operations GET /ResourceTypes

-  Return the types of resources that are supported -  Endpoint URL, schema, etc…

GET /Schemas/

-  Return the schema definitions -  Attributes names and types, etc…

GET /ServiceProviderConfigs -  Return info about what is supported by the server -  Authn methods, optional features, etc…

Page 10: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Trends in SCIM Usage

Page 11: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 11

Trends

• Enterprises are using SCIM Gateways to communicate between internal systems

• Service providers use SCIM for directory access -  Store extended information, but often not visible externally

•  IAM and IDaaS vendors provide SCIM Servers to expose identity information and use SCIM Clients to read/write external systems

• Common threads in custom password extensions • SCIM is seen as the identity management API

Page 12: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Who are you?

Page 13: CIS 2015 SCIM in the Real World -  Kelly Grizzle

IAM Gurus!

Page 14: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 14

99 problems and identity is #1

Page 15: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 15

Problem!!! Bob needs a new account

SCIM Solution: Provision

Page 16: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 16

Problem!!! Bob can’t login!

SCIM Solution: Password reset

* Alternate Solution: Single sign-on … but this isn’t a SAML / OIDC workshop.

Page 17: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 17

Problem!!! Bob can’t read the financials

SCIM Solution: Add him to a group or give him some entitlements

Page 18: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 18

Problem!!! I need to know Bob’s access

SCIM Solution: Read User and Group Data

Page 19: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 19

Problem!!! Bob has been a bad boy

SCIM Solution: Deprovision

Page 20: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 20

Problem!! Apps team needs to r/w identity

SCIM Solution: Standard but extensible API

Page 21: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Case Study Fortune 100 Chip Maker

Page 22: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 22

The Setup

• Started considering options between a failed Oracle Identity Manager project and “the next thing”

• Needed a façade -  Prevent IAM vendor lock-in -  Needed co-existence between old and new IAM systems

• Extensibility was crucial! •  “We wanted a 20 year solution.” –IAM Guru

Page 23: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 23

The Solution Create a SCIM gateway to serve as a central identity hub

SCIM Gateway Cluster

Legacy Apps

IAM System SSO

Directory Server

Page 24: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 24

The Interesting Parts

• Extended user schema to hold custom information • Extended endpoints to support many additional features

-  Email verification •  POST /EmailVerificationTokens to create a token •  POST /EmailVerification to verify email using token

-  Password reset •  POST /PasswordResetTokens to create a token •  POST /PasswordChanges to change password using token

-  Security token management for SSO •  POST /SecurityTokens to create authenticated session token •  DELETE /SecurityTokens to invalidate

Page 25: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 25

More Interesting Parts

• More extended endpoints… -  Notifications (email or SMS)

•  POST /Notifications to send a notification with user information merged in (welcome email, forgot login ID, etc…)

-  Role management •  PATCH /Roles to change membership for a role

Page 26: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 26

The Benefits

• Ability to add new information and features without breaking existing clients

-  If there is anything in JSON that you don't recognize, throw it away

“SCIM has been critical and program-saving. It is exactly what we needed at exactly the right time, and fills a crucial role in our environment."

--IAM Guru

Page 27: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Case Study Fortune 500 Pharmaceuticals

Page 28: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 28

The Setup

• Need to support identity on a large portfolio of applications -  Not all application teams are resourced equally

• Wanted an abstraction of provisioning from specific implementations

-  Allow for seamless upgrades of IAM system -  Ease cost of implementation for smaller applications

Page 29: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 29

The Solution Create a SCIM gateway to serve as a central identity hub

SCIM SOA Gateway

On-prem Apps

IAM System Cloud Apps

Directory Server

Page 30: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 30

The Benefits

• SCIM gives agility in adopting new versions of IAM system • SCIM isolates IAM system if a SaaS vendor changes their

identity model -  Connector continues to work with an updated schema -  Important for SaaS vendors that can update at any time

•  If an application vendor is small it's not worth it to write a custom connector

-  Small vendors are very willing to implement SCIM as their standard identity API

Page 31: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Who are you?

Page 32: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Service Providers!!

Page 33: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 33

99 problems and identity is #1

Page 34: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 34

Problem!!! I need to expose a directory!!

SCIM Solution: Read and write with SCIM

Page 35: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 35

Problem!!! I need an API between my own products!

SCIM Solution: Everything identity is SCIM

Page 36: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 36

Problem!! My mobile app needs identities!

SCIM Solution: Light-weight REST API

Page 37: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 37

Problem!!! I need to get identities from my customer’s directory into my cloud app!

SCIM Solution: To the cloud with SCIM!

Page 38: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Case Study Fortune 100 Networking

Page 39: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 39

The Setup

• Needed a consistent identity API that can be used: -  By partners -  By customers -  Internally between products -  To communicate with IdPs and other SaaS vendors

Page 40: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 40

The Solution

SCIM Identity Service

Directory Clients

Internal Systems Partners &

IdPs

Identity Sync Client

r/w r/w

Mobile App r/w

Page 41: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 41

The Interesting Parts

• Additional endpoints -  /Devices -  /Tenants

•  Only available internally •  Password policy is configured on tenant

• Core schemas have been extended -  Positive extensions: New attributes (mainly internal info) -  Negative extensions: Attributes in SCIM spec that aren’t

supported • Legacy APIs forward requests on to SCIM

Page 42: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 42

The Benefits

• Single API for everything identity • Mobile application has a light-weight API to use • SCIM clients are easy to write

-  Have seen no need to write a toolkit

Page 43: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Case Study Fortune 1000 Networking

Page 44: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 44

The Setup

• Needed a consistent identity API that can be used: -  By customers -  Internally between products -  To communicate with IdPs

Page 45: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 45

The Solution

SCIM Identity Service

Custom Clients

Internal Systems IdPs

AD Sync Client

r/w r/w

Page 46: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 46

The Interesting Parts

• Exploring an “organizational unit” extension to facility multi-tenancy in API

• Exploring a pub/sub SCIM model -  Client subscribes to be notified of changes -  SCIM server sends out notifications

Page 47: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 47

The Benefits

• Single API for everything identity • No need to provide documentation

-  Just point developers at the spec • Easy to implement

Page 48: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Case Studies in brief

Page 49: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 49

PaaS – CloudFoundry

• CloudFoundry is an open platform-as-a-service (PaaS) •  Identity APIs leverage standards

-  SCIM, OAuth2, and OpenID Connect • Benefits

-  Use existing open API rather than reinventing the wheel -  Use SCIM extensions for some non-identity APIs

Page 50: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 50

IDaaS and IAM Vendors

•  IDaaS and IAM vendors need to: -  Allow external access to their identity store -  Provision/read identities and groups to/from other applications

• SCIM server provides external access • SCIM client provides provisioning to other applications • Benefits

-  Standardized API makes external integration easy -  Applications that support SCIM can be integrated immediately

•  No custom connector is required •  No product upgrade required to support new apps

SailPoint, Salesforce, Ping, VMWare, neXus, Oracle, UnboundID

Page 51: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 51

Higher Education

• Higher education is largely focused on federation -  Need to propagate minimum amount of identity data -  Authorization data (group memberships) are very important -  Federation attribute payload works well for Just In Time (JIT)

provisioning -  SCIM enables more robust record propagation when JIT is not

good enough •  For example, email account provisioning often must occur before

first login

Federations that need attribute exchange

Page 52: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 52

Higher Education

• VOOT is an identity/group protocol built on top of SCIM -  Adds more features around group membership

• Grouper is a user/group management tool developed by Internet2

-  SCIM integration allows writing to down-stream endpoints

http://openvoot.org/ https://spaces.internet2.edu/display/Grouper/Grouper+SCIM+Integration

VOOT and Grouper

Page 53: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Case Study neXus Internet of Things

Page 54: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 54

The Setup

•  IoT provider needed: -  A registry of devices associated with a user -  Information about the device (bluetooth address, etc…) -  A mobile app that can

•  Authenticate •  Retrieve user information (including devices) •  Communicate with devices

-  Devices that can send status updates

Page 55: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 55

The Solution

SCIM Server

Mobile App

GET /me (as authenticated user)

{ “id”: “89723-83703”, “devices”: [{ “name”: “Tesla”, “bluetoothAddress”: “000A3A58F310”, “deviceType”: “electricCar”, “batteryLife”: 58, … }, … }

Bluetooth Start A/C

PATCH /Cars/89723-83703 { “batteryLife”: 57, “location”: { “lat”: 30.4045541, “long”: -97.8489572 } }

Page 56: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 56

The Benefits

• Extended user schema to show which devices belong to each user

• New endpoints for devices to read/write device information -  Example: /Cars, /Vacuums

• Extensible schema allows new device types to be imported via JSON files

• Extremely light-weight SCIM clients on mobile app and devices

-  This is very important for constrained devices

Page 57: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Where is SCIM?

Page 58: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 58

Current Status

• 2.0 API, Core Schema, and Use Cases docs are complete -  Will become official RFCs in the next couple months

•  IETF working group will continue to work on SCIM extensions

-  Passwords: http://datatracker.ietf.org/doc/draft-hunt-scim-password-mgmt/

-  Notify: http://datatracker.ietf.org/doc/draft-hunt-scim-notify/

-  Soft Delete: http://datatracker.ietf.org/doc/draft-ansari-scim-soft-delete/

-  Others TBD

Page 59: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Wrapping it up…

Page 60: CIS 2015 SCIM in the Real World -  Kelly Grizzle
Page 61: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 61

Adoption is growing…

“The SCIM interface will have parity other APIs and will be a first-class citizen.”

--Ian Glazer, Salesforce “I’m also proud to say Oracle’s Amit Jasuja announced at last year’s OpenWorld that Oracle IDM’s key REST API for Identity will be SCIM…”

--Phil Hunt, Oracle

Page 62: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 62

Adoption is growing…

“SCIM works perfectly for constrained devices.” --Erik Wahlström, neXus

“SCIM is simple to implement.”

--Haavar Valeur, Citrix

Page 63: CIS 2015 SCIM in the Real World -  Kelly Grizzle

Copyright © SailPoint Technologies, Inc. 2015 All rights reserved. 63

Questions [email protected] @kelly_grizzle http://simplecloud.info