Google Summer of Code (GSOC)
Apache Syncope
An Open Source Identity Management System
Introduction
Apache syncope is an identity management system which essentially means that it allows enterprises to maintain information and credentials for their employees in an organized and efficient way. It is a real world solution for a pressing problem.
Apache Syncope is an Open Source system for managing digital identities in enterprise environments, implemented in Java EE technology and released under Apache 2.0 license.
Identity management (or IdM) means to manage data on systems and applications, using the combination of business processes and IT.
Suppose an employee at an organization has competed a project and is asssigned a new one. The organization’s resource manager needs to
- Revoke access to the completed projects resources.
- Provide access to the resources of the new project.
This process can be simplified by deploying syncope on a local server and managing the resources through it.
How I came to know about it.
I was looking at prospective organizations and proposed projects for GSOC when I came across this project and it instantly caught my eye. Open source projects are generally initiated to “scratch a developer’s itch” and this project send to be just that. It is a common problem a among various organizations and needs to be solved ASAP to prevent any further wastage of time on such trivial problems.
How it works
The administrator is expected to install and run a server if syncope on the local intranet. His roles include managing the server, adding users and provisioning resources to the users. He can do this both the web based dashboard and a CLI tool. The end users can self register on the syncope server and self service.
Steps involved in installing syncope on a system are defined here. I would suggest using the maven way of installation as it allows you better access to log and configuration files which ensures better control over the deployment. Once installed, the admin can login to the syncope console and create or edit users and resources.