Account protection system
What is the account protection system?
The goal is to ensure that even after removing the role assigned to the account by the user, this account is not immediately removed from the end system. By the time the last role assigned to the account is removed, the IDM account will be marked as Protected.
If a user assigns a role that assigns the same account (he has the same generated UID in AccAccount) then the Protected mark is removed from the IDM account (so the account returns to its original state).
How can I use it?
Activating account protection before deletion is performed on provisioning mapping in the IDM system. Two items are available here:
- Account protection (before delete) - By ticking the protection will be activated.
- Length of protection interval (in days) - defines the length of the protection interval. After the end of the retention period, the account will be cleared in both the IDM and the end system. If the value is empty, the protection interval will be infinite.
Removing accounts with expired protection interval is done by the AccountProtectionExpirationTaskExecutor. You must create and schedule this task.
Basic use case scenario:
- We have the "LDAP" system with the anti-deletion account protection system activated. The duration of the protection interval is 10 days.
- This system has the DN attribute set so that in the case of a protected account it changes from eu.ldap.{userName} to eu.ldap.archive.{userName} .
- Next, we have the user "john-doe" and the role "roleLDAP" (which assigns "LDAP").
- The Administrator assigns "john-doe" role roleLDAP.
- IDM:
- Creates bindings IdmIdentityRole, AccIdentityAccount and IDM account AccAccount (where uid = "john-doe").
- Provisioning then creates the appropriate account on the end system. The value of the DN attribute will be eu.ldap.john-doe.
- Admin deletes john-doe role roleLDAP.
- IDM:
- Removes the link IdmIdentityRole.
- Because the AccIdentityAccount link to the last account is retained, the IDM account will be retained.
- The IDM account will be marked It is protected. Furthermore, the length of the protection interval (now + 10 days) will be calculated.
- Provisioning changes the DN attribute from eu.ldap.john-doe to eu.ldap.archive.john-doe
- Administrator reassigns user john-doe role roleLDAP.
- IDM:
- Creates bindings IdmIdentityRole, AccIdentityAccount .
- Because an existing IDM account AccAccount (protected) is found for the generated UID ("john-doe"), it will be converted to the unprotected state. A new link AccIdentityAccount will be bound to this account. The original binding will be removed.
- Provisioning changes the DN attribute from eu.ldap.archive.john-doe to eu.ldap.john-doe .