When/how does IIQ update role metadata - like "allowed by"?

I am trying to troubleshoot some data inconsistencies in our production environment. I think some process may need to run to update this information. If I understood how this information was managed, I think I could better understand why it is inconsistent and perhaps have a plan to fix it.

We have requestable Business Roles that require non-requestable IT Roles, that in turn connect to Entitlements, and the Entitlements are memberships in Microsoft Active Directory Security Groups.

When three matching items (assigned and detected roles, plus memberOf entitlement) appear in the UI on the “entitlements” tab for a given Identity, the expectation is that the Assigned Role’s name appears in the Allowed By column. While this is often the case, about half of the time (and increasingly?) this column is empty.

As I looked deeper, and into the database, in the spt_identity_entitlement table I see quite a disparity in the amount of data in the Attributes column for rows having name=“memberOf”.

The “good” case looks like below, sometimes having only one of these entry elements, but for 45% of the rows it is null.

<Attributes>
   <Map>
     <entry key="sourceAssignableRoles" value="Business_RoleName"/>
     <entry key="sourceDetectedRoles" value="IT_RoleName"/>
   </Map>
</Attributes> 

And in the UI - Green rectangle is expected behavior, Red is where the attributes column is null.

In the Java Doc for RoleDetection I see (emphasis mine)

An object used to record information about which entitlements held by the identity were used in the detection of a role. This is calculated as a side effect of entitlement correlation, and not intended to be edited manually.

Perhaps what I am missing is how to control or trigger “entitlement correlation”?

Or perhaps I should be looking at the RoleAssignment object?

Used to record information about role assignments and revocations.

Each Assigned Role has a corresponding Identity (Access) Request, but the data inconsistency is that they aren’t shown/calculated as connected.

Hi @TrailBear - in your ‘Refresh Identity’ task - are you running with the flag ‘Refresh assigned, detected roles and promote additional entitlements’ ?

Yes, our daily task that refreshes all Identities has the following options selected:

  • Refresh identity attributes
  • Refresh manager status
  • Refresh assigned, detected roles and promote additional entitlements
  • Refresh role metadata for each identity
  • Process events
  • Enable partitioning