Open source identity management 20121106 - apache con euPresentation Transcript
Open Source Identity Management Francesco Chicchiriccò <firstname.lastname@example.org>
Agenda● Identity and Access Management● Vendor Vs Open Source solutions● Apache Syncope
Whats IdM about?● Data records that contains a collection of data about a person – “Data record” → Account – “A person” → Identity● The joint effort of business process and IT to manage user data on systems and applications.
IdM technologies● Identity Stores – Storage of user information● Provisioning – Synchronize account data across identity stores and a broad range of data formats, models, meanings and purposes● Access Management – Security mechanisms that take place when a user is accessing a specific system or functionality
Identity Stores● Examples – LDAP / Active Directory – RDBMS – Meta and Virtual Directories● Accounts can be created and managed in one place only● Each application manages authentication separately – The user may use the same password for all the connected applications
Provisioning● Keeping the identity stores as synchronized as possible (and practical)● Need to be customizable and flexible● Priority: non-intrusive● Focused on application back-end● Communication: – Connectors – Agents
Access Management● Mediator to all access to all applications● Focused on application front-end● Aspects – Authentication ● Single SignOn – Authorization – Federation (SAML, Liberty, ...)● Mainly applicable to web applications● Difficult integration with pre-existing apps
Arent Identity Stores enough?● Heterogeneity of systems● Lack of a single source of information – HR for corporate id, Groupware for mail address, ...● Need for a local user database● Inconsistent policies● Lack of workflow management● Hidden infra management cost, growing with organization size
IdM in practice: before...
IdM in practice: ...after!
Vendor products● Oracle – with addition of ex-Sun suite● Novell● IBM (Tivoli)● Microsoft (Forefront)● Niche players – Ping – NetIQ – SailPoint – Quest (now Dell)
Open Source non-ASF productsIdentity Stores Provisioning Access Management
Apache Syncope (incubating)● Inception by Tirasa in 2010● Entered ASF incubator in February 2012● 6 ASF releases made● Graduation as TLP currently under [VOTE]● Rising in popularity – New PPMC members joined – ~80 mailing list subscribers, noticeable traffic – Our mentor Colm Ó hÉigeartaigh is these days introducing Syncope at JAXCON 2012 http://lanyrd.com/2012/w-jax/sxcyz/
Syncope: features● Workflow-based provisioning engine● Account / Password policies● Agentless connection with Identity Stores● Auditing & Reporting● Shining admin console● Customizable and extensible by design
Syncope: attribute mapping LDAP User uid: jblack givenName: John sn: jblack User Attributes mail: email@example.com Username: jblack userpassword: ********** Nickname: jontheblack Firstname: John employeeNumber: 1432 Surname: Black cn: John Black Email: firstname.lastname@example.org Database homeDirectory: /home/jblack Password: ********** Badge: 1432accountId: jblacksurname: jblack User Derived Attributes Fullname: John Blackfirstname: John User Virtual Attributespassword: ********* HomeDirectory: /home/jblack (stored only on external resource)employeeNumber: 1432fullname: Jock Black
Syncope: connectors● Based on ConnId, hosted at GoogleCode, new home of Suns Identity Connectors – Ready-to-use bundles: ● LDAP ● Active Directory Provisioning Engine ● DB Table ● CSV Directory API ● SOAP Common Code Objects & Utils SPI ● Google Apps ● UNIX – Write your own bundle Using Connectors
Syncope and the external world
Syncope: JEE deployment
Syncope: internal storage
Syncope: roadmap● Role provisioning● SOAP / SCIM interface via CXF● Access Management features via Shiro● Concurrent / Asynchronous communication with external resources● OpenICF support
Syncope: trying it out● Online http://syncopedemo.tirasa.net● Virtual Machine image● Quickstart projects on Github● New project from Maven Archetype● Standalone distribution (soon available)
Questions? All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). Apache, Syncope, Apache Syncope, the Apache feather logo, the Apache Syncope project logo and the Apache Syncope logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.