Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source...

51
Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015

Transcript of Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source...

Page 1: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Open SourceIdentity Management

OpenAlt 2015

Radovan SemančíkNovember 2015

Page 2: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Ing. Radovan Semančík, PhD.Software architect

Co-owner of Evolveum (open source company)Architect of midPoint projectApache committer (Directory API)

Page 3: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

What is this Identity Management?

Page 4: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Let's start with a story ...

● Pirate Brethren, Inc.

● Fictional company

● Starts small

● Lean, efficient

● Grows quickly

● Focus on profit

Page 5: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Simple and easy start

Keeping access rights matrix in spreadsheetSome manual work but still quite OK

Page 6: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

It gets quite complex very soon ...

Page 7: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Login Nightmares

Shippin' DeLuxe v99.02

Login: mjones

Password:

NaviGATE+

Username: p0054358

Password:Forgot password?

CrashSoft Woknous

Login: jones3

Password:

Realm: PIRACY

Login: marryPassword:

Page 8: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

# LDAPv3# base <dc=example,dc=com> with scope subtree# filter: (entryUUID=48b2295e-c131-4300-835a-fa85c863233e)# requesting: ALL#

# jack, people, example.comdn: uid=jack,ou=people,dc=example,dc=commail: [email protected]: JackobjectClass: personobjectClass: inetOrgPersonobjectClass: organizationalPersonobjectClass: topuid: jackcn: cpt. Jack Sparrowsn: Sparrow

no feedback

manual synchronization(unreliable, slow, costly)

untrackedchanges

Policy

Reality

Page 9: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

# LDAPv3# base <dc=example,dc=com> with scope subtree# filter: (entryUUID=48b2295e-c131-4300-835a-fa85c863233e)# requesting: ALL#

# jack, people, example.comdn: uid=jack,ou=people,dc=example,dc=commail: [email protected]: JackobjectClass: personobjectClass: inetOrgPersonobjectClass: organizationalPersonobjectClass: topuid: jackcn: cpt. Jack Sparrowsn: Sparrow

AUDIT$

$ $

$VERY COSTLY… and it has to be repeated ...

Page 10: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Call Center Goes Crazy

Password reset Password reset

Password resetPassword reset

Password reset Password reset

Password reset

Access request

Access request

Page 11: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Let's do this IAM* thing. Everybody is doing that.

*) Identity and Access Management

Page 12: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Manager's View

Application

Application

Application

Application

SSO

Users

Application

ImplementationDetails

Page 13: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

High Level Architect's View

Application

Application

Application

Application

SSO

Users

Application

LDAP

ImplementationDetails

HR

ImplementationDetails

ImplementationDetails

ImplementationDetails

Page 14: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Reality

Application

Application

Application

Application

SSO

Users

Application

LDAP

HR

Unsupported

No standard(ugly script needed)

Unsupported

!Customschema

Incompatibleschema

Relationaldatabase

Extremely expensive

!Expensive

Homedirectory

Local copy

Incompatibleidentifiers

Page 15: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

“Single directory” approachis not going to work

… and this has been known since 2006 (at least)

Page 16: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

What are we going to do now?

Page 17: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

DO NOT PANIC!

SSO is what you think you want

IDM is what you really need

Page 18: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

What is this Identity Management (IDM)

thing, again?

Page 19: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Identity and Access Management

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Users

CRM

SystemAdmin

RequesterApprover

Application

Page 20: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

How IDM works?

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Page 21: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Automatic user provisioning

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

PoliciesRBACRules

Page 22: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Business As Usual

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Page 23: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Password reset (self-service)

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Page 24: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Employee Leaves Company

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Page 25: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Automatic user deprovisioning

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

PoliciesRBACRules

Page 26: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Business As Usual

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Page 27: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Bidirectional Synchronization

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Page 28: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Policy enforcement

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

PoliciesRBACRules

Page 29: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

What Identity Management does?

● Provisioning

● Synchronization

● Self-service

● Password management

● Credentials distribution

(SSH, X.509)

● RBAC

● Organizational structure

● Entitlement management

● Identifier management

● Data mapping

● Segregation of duties

● Workflow

● Notifications

● Auditing

● Reporting

● Governance

● ...

Page 30: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Who needs Identity Management?

● < 100 identities: you are fine with manual work

● 100 – 1K identities: you might need it

● 1K - 10K identities: you need it

● > 10K identities: you desperately need it!

IDM Rule of the Thumb:

Page 31: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

This IDM looks like the best thing since the sliced bread.

What's the catch?

Page 32: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

This IDM looks like the best thing since the sliced bread.

What's the catch?

The commercial IDM products are expensive.

Page 33: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

This IDM looks like the best thing since the sliced bread.

What's the catch?

The commercial IDM products are expensive.

Very, very expensive.

Page 34: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Open Source to the Rescue

There was no practical FOSS solution until 2010

(Sun Identity Manager was the king)

2010-2011: Syncope, OpenIDM, midPoint, ...

(that was the time when Oracle acquired Sun)

Now there are two leading open source* IDMs:

● Apache Syncope

● Evolveum midPoint

*) by “open source” I mean both license and practice

Page 35: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Evolveum midPoint?

Page 36: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Users

CRMApplication

midPoint

Page 37: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

The midPoint Story

● Started 2010-2011 (5 years, 14 releases)

● Github, Apache 2.0 License

● ~500K lines of code (Java)

● State-of-the-art IDM features

ProvisioningSynchronizationRBAC

GovernanceConsistency Workflow

Audit Authorization

Management

Self-serviceDelegated administration

Data mapping REST

PolicyEntitlements

Segregation of duties

HA

IdentifiersNotifications

ConnectorsLocalization

Parametric roles

Password resetOrganizational structure

Web UI

Expressions

SchemaConditions Extensibility

Scripting

Bulk actions

Page 38: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

MidPoint Big Picture

midPoint

IdentityConnectors

TargetSystems

SourceSystems

Page 39: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

IdentityRepository

HR

Application

Application

Application

AM

IdentityManagement

Users

CRM

midPoint

Complete Open Source Solution

OpenLDAP

CAS

Page 40: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Conclusion

Page 41: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Identity and Access Management

IdentityRepository

HR

Application

Application

Application

Application

AM

IdentityManagement

Users

CRM

SystemAdmin

RequesterApprover

Application

Page 42: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

IAM Letter Soup

IdentityRepository

HR

Application

Application

Application

Application

AM

ProvisioningSystem

Users

CRM

SystemAdmin

RequesterApprover

Application

IDM AMLDAP

AD

Provisioning

RBAC

Administration

Sync

Workflow

Connector

LDAP

SSO

Federation

SAML

OAuth

Authentication

Two-factor

OpenID Connect

UMA

Integration

Policy

Page 43: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Access Management● Authentication

● Single Sign-On (SSO)

● Quite expensive

● Provisioning

● RBAC

● Synchronization

● Password management

● Self-service

● … and much more

● Cost reduction

Identity Management

What people want What people need

Page 44: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Access Management● Authentication

● Single Sign-On (SSO)

● Quite expensive

● Provisioning

● RBAC

● Synchronization

● Password management

● Self-service

● … and much more

● Cost reduction

Identity Management

What people want What people need

STARTHERE

Page 45: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Questions and Answers

ProvisioningSynchronizationRBAC

GovernanceConsistency Workflow

Audit Authorization

Management

Self-serviceDelegated administration

Data mapping REST

PolicyEntitlements

Segregation of duties

HA

IdentifiersNotifications

ConnectorsLocalization

Parametric roles

Password resetOrganizational structure

Web UI

Expressions

SchemaConditions Extensibility

Scripting

Bulk actions

Page 46: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Radovan Semančík

www.evolveum.com

Thank You

Page 47: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Extra Slides

Page 48: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

(Much) More Information

● midPoint Wiki• https://wiki.evolveum.com/display/midPoint/Home

● Architecture and Design (in Wiki)• Wiki pages under [Architecture and Design] page

• “Live” architecture documentation

• Includes UML diagrams

• We try to keep it (reasonably) up to date

● midPoint Mailing List

Page 49: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Example midPoint Deployment Architecture

midPoint

midPoint Identity Repository(Relational DB)

Custom HR

System

CSVFile

ScheduledExports

FlatFileConnector

Active Directory

ADSI

AD Connector(remote)

SQL

DB TableConnector

Oracle Database

Database Applications

Microsoft Applications

Administrator

User Self-Service(Web GUI) Identity

ManagementPolicies

(rules, processes)

Web GUI

IDM Logic

Page 50: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Identity Connectors

● Common Identity Connector Framework• Sun Identity Connector Framework → ConnId

● Compatible connectors• AD, DB Table, DB2, MySQL, Oracle, RACF, Solaris, SPML, VMS,

FlatFile, XML, Solaris, SAP, ...

• LDAP: OpenLDAP, 389ds, OpenDJ, eDirectory, Active Directory

• CSV file, Office365, SAS, GitLab, Lotus, LifeRay

Page 51: Open Source Identity Management - Konference OpenAlt Semancik - Open source... · Open Source Identity Management OpenAlt 2015 Radovan Semančík November 2015. Ing. Radovan Semančík,

Live Demo

http://demo.evolveum.com/Documentation: search for “Live demo” in wiki.evolveum.com