Click HERE to see how Saviynt Intelligence is transforming the industry. |
05/16/2024 05:04 AM - edited 05/16/2024 05:07 AM
We have a database connection for which the account correlation is not happening.
The account correlation rule has been set in the endpoint in advanced query as "users.username = accounts.name" (tried basic config with the same setup as well)
Note: A1, A2 are usernames
I have also mapped the account correlation rule in the advanced config as "users.username = 'A1'" and tired to bring in only the account A1 via import. This doesn't seem to work as well.
Additionally, I don't find any mentions of
"Associating Users and Accounts" or " Total accounts to be correlated" in the logs.
Please find the mappings as below:
1. Status and Threshold config
{
"statusAndThresholdConfig": {
"statusColumn": "customproperty20",
"activeStatus": ["512","A","1"],
"deleteLinks": true,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": false,
"inactivateAccountsNotInFile": true
}
}
2. Accounts Import
<dataMapping>
<sql-query description="Import" uniquecolumnsascommaseparated="name" >
<![CDATA[select UPPER(emp.employeeID) as 'accountName', ‘SS’ as securitysystemname, ‘SS’ as endpointname, 'Groups' as entitlementtype, app.description as role, CASE when emp.status = 'A' THEN 1 ELSE 2 END AS accountstatus, emp.status as 'AccountStatusProp', emp.ModifiedDateTime from EmployeeDetails emp join EntDetails app on emp.appID=app.appID where employeeID IN (‘A1’,'A2',)]]>
</sql-query>
<incrementalcondition>
<![CDATA['${incrementalcolmaxval.format("yyyy-MM-dd")}']]>
</incrementalcondition>
<mapper description="Import" ifusernotexists="noaction" addOnlyMode="true" deleteaccountentitlement="true" dateformat="date" incrementalcolumn="ModifiedDateTime">
<mapfield saviyntproperty="accounts.name" sourceproperty="accountName" type="character"/>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="securitysystemname" type="character"/>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="endpointname" type="character"/>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="entitlementtype" type="character"/>
<mapfield saviyntproperty="accounts.customproperty20" sourceproperty="AccountStatusProp" type="character"/>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="role" type="character"/>
<mapfield saviyntproperty="accounts.status" sourceproperty="accountstatus" type="number"/>
</mapper>
</dataMapping>
Please can you help in identifying if there are any gaps?
Thanks in advance,
Uzair
Solved! Go to Solution.
05/16/2024 05:54 AM
Hi @Uzair, is user.username and account name has the the same value ?
Can you share the value for both the attributes?
05/16/2024 06:48 AM
@NM try below
<dataMapping>
<sql-query description="Import" uniquecolumnsascommaseparated="name" >
<![CDATA[select UPPER(emp.employeeID) as 'accountName','SS' as securitysystemname,'SS as endpointname, 'Groups' as entitlementtype, app.description as role, CASE when emp.status = 'A' THEN 1 ELSE 2 END AS accountstatus, emp.status as 'AccountStatusProp', emp.ModifiedDateTime from EmployeeDetails emp join EntDetails app on emp.appID=app.appID where employeeID IN ('A1','A2',)]]>
</sql-query>
<incrementalcondition>
<![CDATA['${incrementalcolmaxval.format("yyyy-MM-dd")}']]>
</incrementalcondition>
<mapper description="This is the mapping field for Saviynt Field name" checkrules="false" buildusermap="false" accountnotinfileaction="noaction" deleteaccountentitlement="false" ifusernotexists="noaction" addOnlyMode="true" dateformat="date" incrementalcolumn="accounts.customproperty5" systems="'SS' ">
<mapfield saviyntproperty="accounts.name" sourceproperty="accountName" type="character"/>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="securitysystemname" type="character"/>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="endpointname" type="character"/>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="entitlementtype" type="character"/>
<mapfield saviyntproperty="accounts.customproperty20" sourceproperty="AccountStatusProp" type="character"/>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="role" type="character"/>
<mapfield saviyntproperty="accounts.status" sourceproperty="accountstatus" type="character"/>
</mapper>
</dataMapping>
05/16/2024 07:03 AM
05/16/2024 07:18 AM
Hello Saathvik,
Thanks for this suggestion. This helped.