First, access management is concerned with authentication, authorization, access control, and attribution. These are effectively online services that take center stage while the system is being used by the user or service.
Second, identity management services like provisioning are concerned with preparing the system for use. These services focus on the life cycle management process, like account registration, propagation, and deprovisioning.
These two disparate concerns -- online access management and offline identity management -- are often lumped together in an information security team, yet their staffing models, processes technologies, and overall project risk have little in common. Identity management systems like provisioning have a heavy set of audit and compliance requirements, and they must map business rules, often from HR, and policies to long-running workflows. Access management systems, in general, are more technical in that they require deep integration into application runtime, working within the SDLC to wire up access management to work with app server containers and code.
Neither of these, working with HR and business process or with developers in the SDLC, is home territory for many information security teams. Of course, identity management and access management services must work together -- the identity management system must feed the access management system with the freshest, most consistent, and specific information to get the job done -- and this presents us with the third grand challenge: interoperability.
Anyone who has hiked in the mountains knows the concept of a "false peak." At the bottom of the trail you fixate on a mountain top, you eventually sweat your way up there, ten only to discover that it is not the top -- it just looked that way at the bottom. Merely getting an identity management system and an access management system up and running is not good enough. Running these two systems in isolation won't amount to a hill of beans unless they work together; specifically, the identity management processes must feed and manage the accounts that the access management system uses to make its decisions. This sounds simpler than it is.
Interoperability challenges come in several forms. At the most basic level there is connectivity and communications. Distributed application smay use Active Directory, LDAP databases, mainframes, Unix servers, and a whole host of other technologies. Can your provisioning system talk to each one?
Identity data must be synchronized or replicated, and this is where naming, data representation, and account and attribute ownership issues arise. The IDM must navigate a variegated naming and data landscape. For naming and data issues, either all systems must follow the same standard (highly unlikely), or in-depth mapping, transformation and cleanup processes must be worked into the provisioning systems to ensure consistency.
For account and attributes that are used across systems, the ownership is Balkanized. Organizational ownership battles occur over who is allowed to update, create, and delete accounts and attributes. The identity management team is in the center of the ring for these challenges and must build toward something that can both satisfy cross-organization stakeholders and scale in the real world.
Finally, the identity management team must clearly understand how the application is using the accounts and identity attributes. Which attributes are used for authorization inside the application? Is it a group, a role, or something more granular? The offline provisioning processes must provide the online authentication and authorization systems with data at the right level of specificity to enable the access management systems' policies to be workable and meet their goals.
Scaling identity's twin peaks is not easy, but it is possible. Keys to success include: