The only constant in life is change
-Heraclitus.
One of the things that most people in the Identity field know about me is that I am a huge fan of Virtual Directory Services (VDS). But it’s possible this is starting to change. It’s also entirely possible that working with the technologies at Ping Identity every day has something to do with this. 1
What I have always loved about a true Virtual Directory is its immediacy. Access the VDS, have it do the lookup, and then do something with the value. It doesn’t matter what the back end is—an LDAP directory, a database view, or even a CSV file. (Not that I ever wanted to go there.) Do the search, get the result, and move on with your life.
But do we really need this when other, less complicated tools exist? I’m starting to think that this is exactly what is happening. Let’s face it: a Virtual Directory is a real pain to set up in the posterior (although once it’s running, you tend to forget it’s there). Setting up the DIT, configuring joins of back-end sources, properly translating non-directory data into something resembling the DIT that was configured back in step 1, it's tedious and is about as error-prone a process as exists in the Identity field.
What if I told you that there were solutions that just work better?
I mean, if you just need to do some basic representations of an existing Directory and some simple transformations to handle things like mergers and acquisitions, a basic LDAP Proxy will handle this exceptionally well. There is no need to have anything else going on. A proxy also handles essential use cases such as Pass-Through Authentication, which can be helpful during “lazy migration” scenarios.
If you need to access different types of data, we need to think about what are we doing with it. Does it really need to be referenced in some sort of LDAP schema? Does inetOrgPerson (or other LDAP Object classes) necessarily give any true advantages? Most of the time when we need this information it’s to choose a course of action during an identity related process.
What are we doing with it? Does it need to be referenced in some LDAP schema? Does inetOrgPerson (or other LDAP Object classes) necessarily give any actual advantages? Most of the time, we need this information to choose a course of action during an identity-related
So, instead of the virtual attribute, why not consider fine-grained authentication tools? The whole point here is that we are looking at specific identity attributes to determine access or those involved in an orchestration flow, where both data and policies are subject to change at a moment’s notice. Being able to look up and evaluate that data with the same tool seems to make the most sense to me.
To me, the biggest value here is more efficient access to data and understanding how said data will be used. In an age where we are increasingly concerned with governance, compliance, and regulation, maybe this is the way we need to think about identity data and how it is represented for use in identity-related operations.
1 My opinions remain my own, and nothing said here represents any official positions or statements from Ping Identity or any organization I might be associated with unless otherwise specified.