Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

SaviyntForSaviynt Access Import is not working in Production

prashantv45
New Contributor II
New Contributor II

Hello Experts,

Good Day!

We have a use case for one of the customer where we are assigning the Role using Actionable analytics by converting the Role as Entitlement in Saviynt.
For removal of the Role as well we are removing the Role Entitlement which is then removing the Role from user Profile.

As per the default SaviyntForSaviynt ImportAccountEntJSON, Its picking the Role Owners as the Role membership and trying to perform the Account Entitlement Mapping which was not the correct behavior in our case.

Hence, to solve the problem I modified the JSON so that instead of picking the Role Owner it is picking the Role Users as the members and performing the Account Entitlement Mapping.

 

The JSON is working perfectly fine in Dev and UAT Environment but its not working in Prod.
There is no error message in the Job, and the job is completing successfully but its not Importing new roles as Entitlements and also not performing the Account Entitlement Mapping. as well.
The Job is running for 30 minutes and then stopped with Success Message.

 

Below JSON being used which is working in Dev, UAT but not working in Prod. Any Inputs will be appreciated.

Do we have to consider any special points while running it in Prod?

{
"acctEntParams":{
"entTypes":{
"Roles":{
"call":{
"call1":{
"callOrder":0,
"processingType":"entToAcctMapping",
"stageNumber":0
}
}
},
"SAVRoles":{
"call":{
"call1":{
"acctKeyField":"accountID",
"callOrder":0,
"processingType":"httpEntToAcct",
"pagination":{
"offset":{
"totalCountPath":999999,
"batchParam":"limit",
"batchSize":500,
"offsetParam":"offset"
}
},
"listField":"users",
"http":{
"httpContentType":"application/json",
"httpHeaders":{
"Authorization":"${access_token}"
},
"httpMethod":"GET",
"url":"TenantURL/ECMv6/api/userms/savroles/${id}/users"
},
"entKeyField":"entitlementID",
"acctIdPath":"username",
"connection":"userAuth",
"stageNumber":1
}
}
}
}
},
"entitlementParams":{
"entTypes":{
"Organization":{
"call":{
"call1":{
"keyField":"entitlementID",
"callOrder":0,
"pagination":{
"offset":{
"totalCountPath":"completeResponseMap.totalcount",
"batchParam":"max",
"batchSize":500,
"offsetParam":"offset"
}
},
"listField":"organizations",
"http":{
"httpParams":"",
"httpContentType":"application/json",
"httpHeaders":{
"Authorization":"${access_token}",
"Accept":"application/json"
},
"httpMethod":"GET",
"url":"TenantURL/ECM/api/v5/getOrganization"
},
"stageNumber":0,
"colsToPropsMap":{
"acctEntMappingInfoColumnFromEnt":"STORE#ACC#ENT#MAPPINGINFO~#~char",
"entitlementID":"organizationname~#~char",
"entitlement_value":"organizationname~#~char"
}
}
},
"entTypeOrder":1
},
"Roles":{
"call":{
"call1":{
"keyField":"entitlementID",
"callOrder":0,
"pagination":{
"offset":{
"totalCountPath":"completeResponseMap.totalCount",
"batchParam":"max",
"batchSize":500,
"offsetParam":"offset"
}
},
"listField":"Roledetails",
"http":{
"httpParams":"{\"requestedObject\": \"users\"}",
"httpContentType":"application/json",
"httpHeaders":{
"Authorization":"${access_token}",
"Accept":"application/json"
},
"httpMethod":"POST",
"url":"TenantURL/ECM/api/v5/getRoles"
},
"stageNumber":0,
"colsToPropsMap":{
"customproperty2":"role_name~#~char",
"customproperty1":"roleKey~#~char",
"acctEntMappingInfoColumnFromEnt":"STORE#ACC#ENT#MAPPINGINFO~#~char",
"entitlementID":"roleKey~#~char",
"entitlement_value":"role_name~#~char"
}
}
},
"acctEntMappings":{
"keyField":"accountID",
"idPath":"username",
"listField":"UserDetails",
"importAsAccount":false
},
"entTypeOrder":0
},
"SAVRoles":{
"call":{
"call1":{
"keyField":"entitlementID",
"callOrder":0,
"listField":"savroles",
"http":{
"successResponses":{
"statusCode":[
200,
201
]
},
"httpContentType":"application/json",
"httpHeaders":{
"Authorization":"${access_token}",
"Accept":"application/json"
},
"httpMethod":"GET",
"url":"TenantURL/ECMv6/api/userms/savroles"
},
"stageNumber":0,
"colsToPropsMap":{
"customproperty1":"CUSTOMPROPERTY1~#~char",
"entitlementID":"ROLENAME~#~char",
"entitlement_value":"ROLENAME~#~char"
}
}
},
"entTypeOrder":0
},
"UserGroups":{
"call":{
"call1":{
"keyField":"entitlementID",
"callOrder":0,
"pagination":{
"offset":{
"totalCountPath":"completeResponseMap.totalcount",
"batchParam":"max",
"batchSize":500,
"offsetParam":"offset"
}
},
"listField":"usergroups",
"http":{
"httpParams":"",
"httpContentType":"application/json",
"httpHeaders":{
"Authorization":"${access_token}",
"Accept":"application/json"
},
"httpMethod":"POST",
"url":"TenantURL/ECM/api/v5/fetchUserGroup"
},
"stageNumber":0,
"colsToPropsMap":{
"acctEntMappingInfoColumnFromEnt":"STORE#ACC#ENT#MAPPINGINFO~#~char",
"entitlementID":"usergroupkey~#~char",
"entitlement_value":"user_groupname~#~char"
}
}
},
"entTypeOrder":2
}
},
"processingType":"SequentialAndIterative",
"connection":"userAuth"
},
"accountParams":{
"call":{
"call1":{
"keyField":"accountID",
"callOrder":0,
"pagination":{
"offset":{
"totalCountPath":999999999,
"batchParam":"max",
"batchSize":500,
"offsetParam":"offset"
}
},
"listField":"results",
"http":{
"httpContentType":"application/json",
"httpHeaders":{
"Authorization":"${access_token}",
"Accept":"application/json"
},
"httpMethod":"GET",
"url":"TenantURL/ECM/api/v5/user?q=accountExpired:0&fields=username,email,displayname,statuskey&sort=username&order=desc"
},
"stageNumber":0,
"colsToPropsMap":{
"accountID":"username~#~char",
"customproperty2":"email~#~char",
"customproperty11":"statuskey~#~char",
"displayName":"displayname~#~char",
"name":"username~#~char",
"status":"active~#~char"
}
}
},
"processingType":"SequentialAndIterative",
"connection":"userAuth",
"statusAndThresholdConfig":{
"inactivateAccountsNotInFile":true,
"activeStatus":[
1
],
"deleteAccEntForActiveAccounts":true,
"statusColumn":"customproperty11",
"accountThresholdValue":10,
"correlateInactiveAccounts":false,
"deleteLinks":true
}
}
}

 

0 REPLIES 0