Scenario:
We want to manage the user password centrally for QIM connected systems such that when users are created in QIM their passwords are generated (through QIM), stored on QIM in a secured way and then synchronized with end systems. Solution should be able to store the encrypted passwords on QIM (in case a new target system gets added to the list, it should be able to retrieve the user password and synch it with the target system).
In the existing process, user records are planned to be created from HR into QIMusing scheduled dataImporter script.
Below is what we understand about QIM:
- "Central password" attribute on person table is not encrypted in the DB, hence we cannot store the generated password in the central password attribute (security risk) as the same password will be pushed to all the target systems.
- There is another attribute (Password OR DialogPassword) that stores user password in encrypted form (with a secret salt) and can be set while creating user on QIM. We can potentially use this attribute to store the central password but we would need a mechanism to decrypt it and push it to end systems
IDM requirements for password synch:
Typically IDM suites have a proprietary way of encrypting and storing the password on IDM system. This is not generally directly accessible to the developers, IDM tool accesses the APIs internally to decrypt the passwords to push to end systems (for security reasons). In our scenario if we decide to store the password in “Central password” attribute and choose to encrypt it we need below 2 things:
- a way to encrypt so that passwords cannot be decrypted by anyone except the APIs accessible only to the IDM tool.
- a way to decrypt the password through the APIs provided by the IDM tool.
Questions:
I am sure that this scenario has been faced by people while implementing Password Sync for connected systems. Just wanted to understand what is the recommended way of implementing password generation, storage on IDM (encrypting and decrypting) and synchronizing the password with the target systems. Primary concern here is maintaining the security of the central password as we need to keep it on QIM and decrypt it as needed for synchronization.