Contact Us

+1 877 769 8938

Email

Links Business Group, LLC

Own the Book!

Own the powerful must-read title:

IAM Success Tips: Volume 1.

Own the Audio Book!


Join us today!

Receive a bonus copy of our podcast:

"Five Things the Big IAM Vendors Do Not Want You to Know"
 
Plus: exclusive member book discounts, newsletter, & bonus podcasts
 
Email:
First Name:

Syndicate Us

When Good IAM Software Goes Bad

November 27th, 2007 by Corbin H. Links

Hello Everyone:

As we end another traditional break here in the states, it might be useful to ponder real-world IAM software implementation issues. Originally, I had thought of doing a “timeline” type of post regarding IAM software, but on further review it seemed more germane to focus on IAM software problems.

First, a few “gross generalities” about IAM - related software (in no particular order.) As with any list of “gross generalities,” many exceptions apply. The point of this section is to honestly address some critical issues that vendor-related IAM websites, blogs, and podcasts will not discuss.

  • Vendors do not always put their best people on IAM-related accounts. Of course, this depends heavily on many factors, which is why I use the term “generally.” The best and brightest - the engineers, developers, key strategists, and frankly many of the people you run into in the ‘blogosphere’ on company blogs do not actually implement IAM software. So who comes to your site? Partners, offshore hires, trainees, sales people (or “sales engineers,”) High-dollar accounts are certainly more likely to get the talent, but even those accounts can suffer in this stretched IAM market.
  • IAM software is inherently incredibly complex — by nature and design. It cannot be expected to have been exhaustively tested in all permutations of environment, version, operating system, DNS, certificates, mixed authenticators, etc. I could repeat this point a thousand times. Note to enterprises — most IAM software, especially “suites” are essentially service offerings, as opposed to real packaged products. They may start off life as a retail package, but must be heavily tested, customized, configured, developed, extended, and tuned for real-world enterprise environments. That is the reality of software in the Identity Access Management space. Please do not expect point and click configuration for true enterprise-class software. It is not only an unrealistic expectation, but can lead to all sorts of planning and budgeting shortfalls when it comes time to implement, extend, and maintain.
  • IAM Software is often tightly coupled to specific versions of operating systems, web servers, application servers, and related components. In fairness to the large vendors, imagine trying to get a product to market in which it has to be supported on “n” number of platforms, with the multiplier effect coming into play when one considers the raw number of other systems or ‘targets’ that the software must connect with. Don’t let the “open platform” vendor story fool you. Your JDK versions, OS revision level (down to the service pack/patch number) in some cases, can make or break your key IAM components.
  • Vendors do not generally put their best support people on the phones, or behind portal-based support queues to support you. Most all the major IAM vendors (probably all of them, but I’ll hedge and say ‘probably’ ) offshore significant portions of their software support. Certainly most do, as we have experienced first hand time and time again. A discussion of the merits (or not) of offshoring is best left to the pundits. My point here is that it does occur often, it’s a fact of life with enterprise software vendors, and one can reasonably expect communication, skill deltas, and time zone issues (among others) when seeking basic product support from IAM vendors.
  • IAM support people are not necessarily up to speed on all the latest versions and permutations of their own products . This is an area of wide variance in the vendor space. However, generally speaking, a support call can travel through many hands before arriving at a satisfactory resolution. For vendors with very frequent revision cycles, it can be virtually assumed that a good portion of the support staff is not fully up to speed on the latest versions. Additionally, attaching firm ownership of a support case can be daunting, and extremely frustrating to enterprise clients. (Or, anyone else for that matter.)
    • On a related note, vendors — like airlines and health clubs — tend to oversell their resources. They are more than happy to sell you all the product you want, with grand support promises, but at the end of the day they do not have the resources to support what they have sold. This is a classic problem, and one that Links Business Group sees as going unresolved in the foreseeable future.
  • As with any chain, IAM software is only as good as its weakest link or connection. The best software package in the world can only be responsible for its internal operation, and not for fixing the operation of connected components. Case in point - databases and operating systems. IAM infrastructure can be an enabler, can provide features and functions that do not yet exist, and provide a platform for services. But organizations have many disjointed services and repositories of information that are in various states of disarray, older versions, misconfiguration, or dirty/unstructured data.
  • Successful IAM Software implementation requires a team. Minimally, this will include one or more technical implementers from the vendor, and one or more subject matter experts from the client site. Subject Matter Experts must be true experts on their target platforms and the data residing on those platforms for IAM software to have a prayer of success.
  • Many IAM Vendors have “Frankensteined” (if that can be used as a verb) various IAM software packages to create a presence in the IAM space. No names are necessary here. Anyone in this space and all of our clients know exactly what I’m talking about. Going back to the complexity point, consider the logistics of bringing three or four completely discontiguous, unrelated countries together to form a united whole. Not easy is it? Ok, granted IAM software is not *that* complex and the point is somewhat exaggerated for dramatic effect, but you get the point. When cobbling together various parts of machinery to make new machinery, brand new complexities and problems will occur. Putting together a team of people that can successfully put all the pieces together at a live client site is an extreme challenge for most any vendor.

So what can (and will) go wrong with IAM software? Here is a highly shortened list….

  • Installation failures. Frightfully common, for a wide variety of reasons, including faulty installation scripts, library/file issues, version conflicts, etc. See “dependency failures” below for more detail.
  • Authentication failures.
  • Authorization failures
  • Connection failures.
  • Dependency failures (other software, versions, missing libraries and JAVA classpaths, missing patches, or patches supersede an older but more “supported” configuration)
  • Weak-link encryption. In this scenario, some portions of the Identity transaction may be encrypted, but others are not.
  • Database read failures. (Bad connection strings, databases that require extensive JDBC string tuning such as character translation, etc…)
  • Database misread failures. Your tables say one thing, the provisioning tool which is connected to the database says something else…
  • SSO Failures. User logs in, the token is granted, user wants to take token to other portal/application/website and ’seamlessly’ login. Often, not so seamless especially when multiple products are involved in the transaction.
  • Directory Service attribute mismatch.
  • Java Library Errors. May not be related to installation, but starting/stopping of IAM components or application servers.
  • Function errors. Three quarters of the way into the transaction, strange errors emerge….
  • Module or plugin mismatch. The version of a previous plugin or module which was certified for a previous version suddenly fails with the new one, only to find that the particular plugin that your site relies on was not thoroughly tested…
  • SSL / Certificate failures. Certificate authority may be in the certificate cache of your web server, Java application server, or client browser. Magnify the situation for environments that also require client-side certificates.

There are many others, but these are just a few of the many things which can keep Identity Access Management component installations from fulfilling their intended mission. (And earning back some of the significant monies your enterprise has spent on them.)

Is there hope?

Yes there is. Here are a few (far from inclusive) suggestions that can *help* ensure that your Identity Access Management software installation and maintenance has the best chance of success:

  1. Standardize on a JDK version, and plan to stick with it for at least 1 full implementation cycle. It is very easy (and tempting) to continually upgrade JDK and JRE components as new ones come available. However, doing so can create compatibility issues with your IAM software. Stick with the version that your software is certified with, and if certified with multiple versions, go with the latest. That said, *always* go with at least version 1.5.x, due to the myriad of security and security model enhancements that are now available. Vendors will patch based on older JDK’s as well, so don’t assume that that an upgrade is automatically required to fix a particular problem.
  2. For Microsoft shops, or heterogeneous environments with Windows 2k3 servers and XP or Vista clients, plan a move to .NET 3.0. We have discussed this elsewhere, but it is an important point. Not only are there useful new IAM-related features, but .NET is *in general* backwards compatible with previous versions, while adding important fixes and enhancements. Cardspace support is also a key driver for moving toward .NET 3.0.
  3. Standardize JDBC drivers on a specific version, and ensure that the Identity Access Management vendor will certify said version for connectivity with your data sources. IAM vendors, especially of provisioning and audit tools, rely heavily on JDBC connections to directory services and databases. Their products are often coded to expect a certain class or version of driver. In the case of JDBC, newer is not always better. I repeat “newer is not always better, when it comes to JDBC.” Remember also that many components of your IAM software may rely on the same driver, so mixing and matching versions can be a major source of grief.
  4. With the big vendors, get a clear picture of their product roadmaps for the next 3 years. Remember that Identity Access Management programs are multiyear endeavors. If they cannot provide one, it generally means that they’re just waiting to see what others are doing in the space, then going on an acquisition spree. (We won’t mention names.)
  5. With the small vendors, get a clear picture of their exit strategy, and request source escrow. Admittedly, many small vendors may not part with this information and may not have a really long term plan. No problem with that in and of itself, but with the blistering acquisition rate in this industry, it is critical to know where these companies stand. Talk to the president. Talk to the board (if applicable.) I cannot tell you how many established “smaller” vendors we have spoken with and asked these point blank questions, only to see them be acquired in the next few weeks.
  6. Review implementation scenarios with the vendor’s technical people and see how they respond. Repeat with their service. Perform a couple of test service calls during the product evaluation phase. Insist on having access to full support doing evaluation. Call them during the business day, then call them at 2:00am in the morning. Ask the same question each time. Compare and contrast.
  7. Request virtual disks of vendor software to test. Look at the libraries loaded with the application servers and web servers. Capture and review the logs. Check for inconsistencies.
  8. Request…no…*demand* a consistent implementation team. Large enterprises have to deal with enough resource challenges without having to worry about which vendor representative will be showing up at a site, or sending global emails to your technical team asking about VPN passwords or troubleshooting access issues to your environment. Get a consistent team together up front, allow for a 2 - 3 person change “contingency,” and get this written into the contract.
  9. When your product and/or product suite is ultimately selected, pick a good cross-functional mix of your Subject Matter Experts (SME’s) and send them to IAM product training. More importantly, *make sure that the SME’s going to training are planning to *stay with the project.* Key SME’s must be comfortable with, and understand your IAM products, especially as they relate to connecting with SME-controlled resources.
  10. Put together a comprehensive listing of all your application authenticators: databases, directory services, XML blobs, flat files, or wherever IAM data resides in your enterprise. Present it as a checklist to your IAM vendor, and ask them to specifically detail how their product(s) will address each one, and also not which they cannot. While this may sound like a trivial exercise, for many large enterprises, finding out exactly what they have, much less how they can protect what they have, is a vast exercise. The collection and collation of this data is not up to your vendor’s IAM implementation team. Please do not expect them to get this for you. Rather, please plan to have this ready for them before implementation starts. Often, a key detail or pattern will arise during the portfolio review phase, which can be fundamental to deciding the best architecture and implementation plan for your environment.
  11. Maintain a strong code/software management practice. If you do not have one in place, get one before you embark on multi-product IAM implementations. Structure your code repository by product and project, and keep in mind that access management and provisioning products make extensive changes to directory services and databases. Match each update to a particular build or revision of your IAM software components.

Conclusion

In summary, Identity Access Management (IAM / IdM) software installations must be managed like other aspects of your program. Plan for the complexities of IAM software, and most importantly, take small baby steps with each software tool. Avoid jumping in with certificates, complex password policies, Federation, complex database and directory joins until you have a clear test plan in place, and can validate basic product functionality. Once validated in your environment, move very incrementally up the feature ladder until your use cases are fully satisfied.

Have more questions? IAM software complexity and implementation issues putting the breaks on your program? Contact Links Business Group today at +1 877 769 8938 to schedule a complimentary initial consultation. Alternatively, you may log on to our contact page and submit a formal inquiry. Links Business Group responds to all questions and service inquiries within one business day.

Thanks for reading! Until next time, All the Best, of Identity Management Success.

Corbin H. Links, President
Links Business Group LLC

©2003-2007 Links Business Group LLC. All rights reserved.

Posted in Identity and Access Management |

3 Responses

  1. Gregory Says:

    IAM remains too complex and takes too long for too many. The problem is that too often organizations focus on buying products (suite or best-of-breed) and not tools and know-how from people that really had to face complex IM projects.
    One step ahead (among others) could be select tools and enabling technology, like Enterprise Role Management, that through automation and implementation methodology help speed project time with less implementation risk and cost, thus providing project predictability.

  2. Corbin H. Links Says:

    Gregory:

    Thanks for the comment, and you make an excellent point. A metaphor that comes to mind is the person that wants to lose weight. They’ll try pills, different foods, even surgery before considering a real change in the patterns which put weight on in the first place. What they may really need is an experienced ‘exercise coach’ that can help them understand what their own unique challenges are, and help tailor a program that will help them succeed in their weight loss goal. Someone who has “been there” and can show the way and help them do what they cannot do by will power alone.

    Regarding the enabling technology, this can also be a great move, as can audit technology. (I personally think that auditing tools are more useful as discovery tools than pure security monitoring t tools, but that’s another discussion…) When organizations are large and distributed enough, they will need some type of discovery tool set to help them understand what they have, and appreciate the extent of the challenges they face.

    Best regards,
    -Corbin

  3. IAM Says:

    Setting expectations is always key. Readiness of the organization will largly drive how successful the program will be. Your maturity model should be aligned with organizational readiness. When your integration partners are all gone, its up to your operations and developement teams to stay on top of things, providing the promised enablement.

Leave a Comment

You may either log in directly with your OpenID to post a comment, or complete the boxes below. If you choose to complete the form in the "Anonymous" section, your feedback will appear in your browswer, but will not appear on the main blog until approved by a moderator. Please allow between 12 and 24 hours for comment moderation. Please visit the registration link if you would like create an account.

OpenID

Anonymous

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.