As promised a couple of guidelines on your second example. But first - sorry for taking my time - but I have been busy - answering questions here are not part of my formal work even though I regard it very important :-)
I am not complete understanding what problem you are trying to solve - it looks to me that you are trying to implement some kind of birthright management - but exactly why you would need to do that is not clear to me.
But let me give you some guidance in general - first: using a relationship filter like '(${role.errolename}=W-APL.
XXX*)' is somewhat dangerous - be aware that this will result in a very long filter sent to the ldap server - if you are running SDS on Windows this will often fail as the filter limit is relatively small on Windows - if is significantly larger on linux/AIX. So if you use such filter ensure you are also using other filters to bring down the population of the search.
On the subject of dynamic roles and role hierarchies - I also played around with this many years ago - it "partly" works - but I would not go down that route as it can turn really nasty. Instead I would look into the new functionally added in the newest SVG 10 ISIM release :
Identity Manager console enhancements
- An administrator can now specify schedules with multiple days of the week that must be executed. The REST and JAVA APIs are also enhanced as a part of this functionality.
- An administrator can now define a provisioning policy with automatic entitlement for non-individual accounts.
- While working with Role Hierarchies, you can now add a dynamic role as a child to the static role.
You can find the "What's new" here :
What's new in this releaseThe 3 bullet is the one that is relevant here - the basic idea is that you can now use a dynamic role (representing the "who") and then lining to the actual static roles (the "what") - i.e. separating the who/what so that you do not need dynamic roles in the provisioning policies making management of birthrights much more flexible...
Alas the role hierarchy system workflow is not open so you cannot insert you logic there - so you will still need either to use the person modify workflow or work with a LCR for special purpose handling of the hierarchy...
I hope this helps - let me know what you think...
------------------------------
Franz Wolfhagen
IAM Technical Architect for Europe - Certified Consulting IT Specialist
IBM Security Expert Labs
------------------------------
Original Message:
Sent: Thu February 11, 2021 06:39 AM
From: Felipe Risalde Serrano
Subject: Using wildcard and special characters in LCR filters
Hi Franz,
let me show you some examples where it could be interesting. There is no doubt that there are workarounds for the issues we will see later, nevertheless this post it is just only to confirm that there are some limitations defining LCR with role names.
Example1
The role name 'BE-WINDOWS (BDEEXP01)' must be renamed as 'BE-WINDOWS-BDEEXP01' for being able to use in the LCR definition: ' (${role.errolename}=BE-WINDOWS-BDEEXP01)'.
Using escape characters in the filter, ie. '(${role.errolename}=BE-WINDOWS \28BDEEXP01\29)', is not an option due to it doesn't work.
When the role name, instead of erglobalid, is used in the filter, it allows us to import the LCR to ISIM production from development enviroment. At the same time, the LCR is legible.
Example 2.
We would like to run a LCR for the users who are authorized to one application. As we are working in a RBAC modelo it could be done using a wildcard in the LCR filter, such as: '(${role.errolename}=W-APL.XXX*)'
BTW: it would be great to be able to use role name in the dynamic rol definition for setting automatic dependences between roles without workflows customizations, neither managing role hierarchy.
------------------------------
Felipe Risalde Serrano
Security Expert
Banco de España
Original Message:
Sent: Mon February 08, 2021 04:00 AM
From: Franz Wolfhagen
Subject: Using wildcard and special characters in LCR filters
Can you please show one or more example of what you are trying to accomplish ? There are some limitations to the filters - but none that matches what you seem to struggle with :-)
------------------------------
Franz Wolfhagen
IAM Technical Architect for Europe - Certified Consulting IT Specialist
IBM Security Expert Labs
Original Message:
Sent: Mon February 08, 2021 03:31 AM
From: Felipe Risalde Serrano
Subject: Using wildcard and special characters in LCR filters
Dear colleagues,
defining filters in the Life Cycle Rules we have not able to use the expression ${role.errolename}, neither with wildcards nor special characters like '(', ')', … , although they are replaced by the '\' + ASCII code as it is defined in the RFC. Please, could you confirm that it is not possible?
Thank in advanced for your support.
------------------------------
Felipe Risalde Serrano
Security Expert
Banco de España
------------------------------