Click HERE to see how Saviynt Intelligence is transforming the industry. |
07/17/2024 08:22 AM
We are getting below error while trying to assign Saviynt account to users in provisioning tasks. Please help to fix the issue.
Error:SAV - Error while creating account - 851063-No such property: systemusername for class: com.saviynt.ecm.identitywarehouse.domain.Users Possible solutions: systemUserName SAV - Error while creating account - 851063-No such property: systemusername for class: com.saviynt.ecm.identitywarehouse.domain.Users Possible solutions: systemUserName
Create Account Json:
Solved! Go to Solution.
07/17/2024 01:25 PM
07/18/2024 12:58 AM - edited 07/18/2024 04:55 AM
@DaanishJawed Thanks for the suggestion, I modified the systemUsername and then re-ran the task however now we are getting this error Error while creating account - a8908**- Exception occured in Create Account Query - PROCEDURE sav_fnd_user_pkg.createuser does not exist SAV
Please suggest the default JSON for Create account or suggest a way to assign Saviynt Account to all users by default.
Thanks,
Diwakar.
07/18/2024 05:10 AM
Hi @Diwakar , you need to first define a store procedure in database then only you can use it in json
07/18/2024 05:24 AM
@DaanishJawed @NM Any other way to assign Saviynt account (used for SaviyntforSaviynt connection) to all users automatically, Through Saviynt Account import job also its not assigning!
07/18/2024 06:35 AM - edited 07/18/2024 06:36 AM
@Diwakar you can use REST connector and setup Sav4Sav
07/18/2024 05:27 AM
@Diwakar which connector are you using?
07/18/2024 06:54 AM
07/18/2024 06:59 AM
Hi @Diwakar , try this
{"createAccountQry":["Insert into accounts(accountID,name,endpointkey,orphan,status,systemid) VALUES ('$user.username','${user.username}',${task.endpoint.id},0,'1',${task.endpoint.securitysystemkey.id});"]}
07/18/2024 07:34 AM
@NM Thanks a lot that query worked, and task got completed. Really appreciate your help.
However, it remains stuck in Manually Provisioned. I ran the Saviynt account import job as well, but status is not changing to Active. Can you please help to check why the account status is not changing?
Thanks,
Diwakar.
07/18/2024 07:36 AM
07/18/2024 07:36 AM - edited 07/18/2024 07:39 AM
Hi @Diwakar , did you write accountxml to import accounts??
07/18/2024 07:41 AM
07/18/2024 07:45 AM
Configuration are correct. Did you ran account recon ?
07/18/2024 07:47 AM
@Diwakar , worth checking did it create a new account? What is your account name while creating account? Is it user's username
07/18/2024 07:51 AM
@rushikeshvartak I ran all this job but still not changing the status to Active.
@NM Yes it created a new account, Account name is username only see the output.
Please suggest.
07/18/2024 07:58 AM
07/18/2024 08:02 AM
Status threshold is empty, we have not provided! Please suggest if it required?
Thanks,
Diwakar.
07/18/2024 07:54 AM
See the endpoint name is different for which endpoint are you trying to create the account ?? If saviynt pass saviynt endpoint key
07/18/2024 07:59 AM - edited 07/18/2024 11:16 AM
@NM Endpoint name is correct only check below. But Saviynt endpoint key is showing 3 in url. Hope that is not causing the issue! as in create account JSON query u put 1, I believe!!!
07/18/2024 08:02 AM - edited 07/18/2024 08:03 AM
Yes that is issue
Please update JSON as per your configuration
{"createAccountQry":["Insert into accounts(accountID,name,created_on,creator,endpointkey,orphan,status,systemid,updatedate) VALUES ('','${user.username}',utc_timestamp(),'System Generated',${task.endpoint.id},0,'1',${task.endpoint.securitysystemkey.id},utc_timestamp());"]}
07/18/2024 08:04 AM
STATUS_THRESHOLD_CONFIG can be blank.
create new request and try
07/18/2024 08:10 AM - edited 07/18/2024 08:19 AM
I overlooked your first response. I will make the changes and update.
******Please ignore this****
Sure, Do we need to use the Saviynt endpoint key as '3' instead {task.endpoint.id},0,'1' here ?
07/18/2024 08:29 AM
@NM @rushikeshvartak Made the changes as suggested in create Account JSON and currently using this {"createAccountQry":["Insert into accounts(accountID,name,created_on,creator,endpointkey,orphan,status,systemid,updatedate) VALUES ('','${user.username}',utc_timestamp(),'System Generated',${task.endpoint.id},0,'3',${task.endpoint.securitysystemkey.id},utc_timestamp());"]}
and then ran the account import job but status remain stuck in Manually Provisioned. Please suggest next.
07/18/2024 08:31 AM
Share screenshot of account is created under endpointkey =3 from data analyzer and also share output of below query
select distinct u.username as accountname, 'Saviynt' as name, 'Saviynt' as endpointname,u.username as accountcn, 'SAVRole' as attribute, s.rolename as entitlementvalue,u.username as username, u.statuskey as status, u.updatedate,u.username as objectguid from users u, user_savroles us, savroles s where u.userkey=us.userkey and us.rolekey=s.rolekey and s.statuskey=1 and u.username='AAAA'
update username
07/18/2024 08:58 AM - edited 07/18/2024 11:16 AM
@rushikeshvartak Please find the below screenshot of account that is created under endpoint key=3
and I tried to ran the query provided by you in analyzer but its giving error.
Please suggest next.
07/18/2024 09:29 AM
Run query from analytics. Also does account have sav role assigned ? if not add one sav role and validate
07/19/2024 05:56 AM
@rushikeshvartak I ran the provided query in analytics but there we are seeing below error.
Also, one the user is already added to one Sav role but still account status is stuck on Manually provisioned, please suggest and help to fix the issue.
07/19/2024 06:27 AM
select distinct u.username as accountname, 'Saviynt' as name, 'Saviynt' as endpointname,u.username as accountcn, 'SAVRole' as attribute, s.rolename as entitlementvalue,u.username as username, u.statuskey as s, u.updatedate d,u.username as objectguid from users u, user_savroles us, savroles s where u.userkey=us.userkey and us.rolekey=s.rolekey and s.statuskey=1 and u.username='AAAA'
07/19/2024 06:00 AM
@Diwakar use alias for status and updatedate
Eg select status as st
07/19/2024 07:03 AM
@rushikeshvartak @NM Thanks for the update, I ran the query for one of the user where Saviynt Account is showing manually provisioned however it's not giving me any output.
Now please suggest what could be the issue, please help to fix.
07/19/2024 07:31 AM
Yes because user don't have any sav role assigned
07/19/2024 07:31 AM
SELECT DISTINCT
u.username AS accountname,
'Saviynt' AS name,
'Saviynt' AS endpointname,
u.username AS accountcn,
'SAVRole' AS attribute,
s.rolename AS entitlementvalue,
u.username AS username,
u.statuskey AS s,
u.updatedate AS d,
u.username AS objectguid
FROM
users u
LEFT JOIN
user_savroles us ON u.userkey = us.userkey
LEFT JOIN
savroles s ON us.rolekey = s.rolekey
WHERE
s.statuskey = 1
AND u.username = 'AAAA';
07/19/2024 07:44 AM
@rushikeshvartak Now after adding sav role to one of the accounts, Saviynt account status changed to Active, but is this works like that? Without any sav role Account status can't be in Active or Inactive state?
07/19/2024 05:17 PM
SELECT DISTINCT
u.username AS accountname,
'Saviynt' AS name,
'Saviynt' AS endpointname,
u.username AS accountcn,
'SAVRole' AS attribute,
s.rolename AS entitlementvalue,
u.username AS username,
u.statuskey AS status,
u.updatedate ,
u.username AS objectguid
FROM
users u
LEFT JOIN
user_savroles us ON u.userkey = us.userkey
LEFT JOIN
savroles s ON us.rolekey = s.rolekey
WHERE
s.statuskey = 1
AND u.username = 'AAAA';
07/22/2024 08:35 AM
@rushikeshvartak thanks, but where should we use this suggested new query and how does it will change the account status? as Account status is changing based on the job we ran.
We need to change the Saviynt account status to (Active, Inactive) even when any Sav role is not assigned.
Thanks,
Diwakar.
07/22/2024 08:36 AM
Use updated left join query
07/22/2024 08:58 AM
I am sorry but I didn't get you, where should I use this left join query to make the Saviynt account status changed to Active or Inactive for all users after running the Account import Job?
07/22/2024 09:55 AM
Update Account XML as below
<dataMapping>
<before-import>
</before-import>
<sql-query description="This is the Source DB Query" uniquecolumnsascommaseparated="name" >
<![CDATA[ SELECT DISTINCT
u.username AS accountname,
'Saviynt' AS name,
'Saviynt' AS endpointname,
u.username AS accountcn,
'SAVRole' AS attribute,
s.rolename AS entitlementvalue,
u.username AS username,
u.statuskey AS status,
u.updatedate ,
u.username AS objectguid
FROM
users u
LEFT JOIN
user_savroles us ON u.userkey = us.userkey
LEFT JOIN
savroles s ON us.rolekey = s.rolekey
WHERE
s.statuskey = 1 ]]>
</sql-query>
<mapper description="This is the mapping field for Saviynt Field name" accountnotinfileaction="delete" deleteaccountentitlement="true" addOnlyMode="FALSE" ifusernotexists="noaction" incrementalcolumn="updatedate" systems="'Saviynt'">
<mapfield saviyntproperty="accounts.name" sourceproperty="accountname" type="character"></mapfield>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="name" type="character"></mapfield>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="endpointname" type="character"></mapfield>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="attribute" type="character"></mapfield>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="entitlementvalue" type="character"></mapfield>
<mapfield saviyntproperty="users.username" sourceproperty="username" type="character"></mapfield>
<mapfield saviyntproperty="accounts.status" sourceproperty="status" type="number"></mapfield>
<mapfield saviyntproperty="accounts.accountID" sourceproperty="accountcn" type="character"></mapfield>
<mapfield saviyntproperty="accounts.displayname" sourceproperty="objectguid" type="character"></mapfield>
</mapper>
<after-import description="EMAIL,BATCH,SQL">
</after-import>
</dataMapping>
07/23/2024 03:07 AM
Thanks, Rushi for the query. I updated the same in Accounts Import of SaviyntforSaviynt connection and then tested with one of the Saviynt Account where status is Manually Suspended. So, after running the account import job status still not changed to Inactive. Please suggest if any other config changes needed!
07/23/2024 03:10 AM
07/23/2024 03:30 AM - edited 07/24/2024 12:25 AM
07/23/2024 03:32 AM
Remove status condition from where condition
07/29/2024 11:58 AM - edited 07/29/2024 11:59 AM
Thanks a lot, @rushikeshvartak it worked. For Saviynt you are an ocean of knowledge.