Associate account cp as entitlement

Jyoti1
New Contributor III
New Contributor III

Hi All

 

I am importing accounts  and entitlements are coming as accounts attributes-

Jyoti1_0-1688631436091.png

I have to associate functionalRole and SecurityRole as entitlement. Is this feasible. I tried this but this is not working

 

"Functional Roles1": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://test.highradius.com/api/iam/v1/users/allusers/list",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "user",
"entKeyField": "customproperty6",
"entIdPath": "id",
"acctKeyField": "accountID"
}
}
}

10 REPLIES 10

nimitdave
Saviynt Employee
Saviynt Employee

Yes, you need to acctToEntMapping  as processing types. The https://docs.saviyntcloud.com/bundle/REST-v55x/page/Content/Developers-Handbook.htm will help you.

Jyoti1
New Contributor III
New Contributor III

I checked here but it is not working.

Can you please share the ImportJSON?


Regards,
Saathvik

Jyoti1
New Contributor III
New Contributor III

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty2",
"activeStatus": ["true"],
"deleteLinks": false,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://cloud2-sbox-irapi.highradius.com/api/iam/v1/users/allusers/list",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json",
"startRecord": "0"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "user",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "userName~#~char",
"name": "userName~#~char",
"customproperty1": "email~#~char",
"status": "active~#~char",
"customproperty2": "active~#~char",
"customproperty3": "firstName~#~char",
"customproperty4": "lastName~#~char",
"customproperty5": "securityRole~#~char",
"customproperty6": "functionalRole~#~char",
"customproperty7": "defaultMenu~#~char",
"customproperty8": "loginType~#~char",
"customproperty9":"lastLoggedTime~#~char"
},
"pagination": {
"offset": {
"batchSize": 500,
"totalCountPath": "headers.x-totalCount"
}
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Functional Roles1": {
"entTypeOrder": 0,
"entTypeLabels": {},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://cloud2-sbox-irapi.highradius.com/api/iam/v1/users/roles/functional/list",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "roles",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "shortName~#~char",
"entitlement_value": "shortName~#~char",
"description ": "longName~#~char",
"customproperty2": "longName~#~char",
"customproperty3": "createUser:~#~char",
"customproperty4": "createTime:~#~date",
"customproperty5": "index~#~char"
},
"pagination": {
"offset": {
"offsetParam": "startRecord",
"batchParam": "limit",
"batchSize": 500,
"totalCountPath": "x-totalcount"
}
},
"disableDeletedEntitlements": true
}
}
},
"Security Roles1": {
"entTypeOrder": 1,
"entTypeLabels": {},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://cloud2-sbox-irapi.highradius.com/api/iam/v1/users/roles/list",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "roles",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "shortName~#~char",
"entitlement_value": "shortName~#~char",
"description ": "longName~#~char",
"customproperty2": "longName~#~char",
"customproperty3": "createUser:~#~char",
"customproperty4": "createTime:~#~date",
"customproperty5": "index~#~char",
"customproperty6": "defaultMenu~#~char"
},
"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 500,
"totalCountPath": "x-totalCount"
}
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"connection": "userAuth",
"entTypes": {
"Security Roles1": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://cloud2-sbox-irapi.highradius.com/api/iam/v1/users/allusers/list",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "user",
"entKeyField": "customproperty5",
"entIdPath": "id",
"acctKeyField": "accountID"
}
}
},
"Functional Roles1": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://cloud2-sbox-irapi.highradius.com/api/iam/v1/users/allusers/list",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "user",
"entKeyField": "customproperty6",
"entIdPath": "id",
"acctKeyField": "accountID"
}
}
}
}
}
}

Jyoti1
New Contributor III
New Contributor III

Hi sk

can you help on this

nimitdave
Saviynt Employee
Saviynt Employee

Please try below once:

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty2",
"activeStatus": [
"true"
],
"deleteLinks": false,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://cloud2-sbox-irapi.highradius.com/api/iam/v1/users/allusers/list",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json",
"startRecord": "0"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "user",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "userName~#~char",
"name": "userName~#~char",
"customproperty1": "email~#~char",
"status": "active~#~char",
"customproperty2": "active~#~char",
"customproperty3": "firstName~#~char",
"customproperty4": "lastName~#~char",
"customproperty5": "securityRole~#~char",
"customproperty6": "functionalRole~#~char",
"customproperty7": "defaultMenu~#~char",
"customproperty8": "loginType~#~char",
"customproperty9": "lastLoggedTime~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"offset": {
"batchSize": 500,
"totalCountPath": "headers.x-totalCount"
}
}
}
},
"acctEntMappings": {
"FunctionalRole": {
"importAsEntitlement": true,
"listPath": "",
"idPath": "functionalRole",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "functionalRole~#~char",
"entitlement_value": "functionalRole~#~char"
}
},
"SecurityRole": {
"importAsEntitlement": true,
"listPath": "",
"idPath": "securityRole",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "securityRole~#~char",
"entitlement_value": "securityRole~#~char"
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"FunctionalRole": {
"entTypeOrder": 0
},
"SecurityRole": {
"entTypeOrder": 1
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

Jyoti1
New Contributor III
New Contributor III

Hi Nimit

This is not working-

but i see cp31 like this

{"SecurityRole":{"entIds":["Kraft EU - View Only role"],"keyField":"entitlementID"},"FunctionalRole":{"entIds":["View Only role"],"keyField":"entitlementID"}}

 

logs-

 

visioningService - Inside importAccountsFull:persistEntObjects, pptTypeSep : ~#~\n","stream":"stdout","time":"2023-07-12T10:35:51.58605292Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,586 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - INFO: Entitlement_value is null, record not saved.\n","stream":"stdout","time":"2023-07-12T10:35:51.586334314Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,588 [quartzScheduler_Worker-3] DEBUG services.ImportUtilityService - EntitlementType 'FunctionalRole' for Endpoint 'HighRadius' found with EntitlementTypekey - 555\n","stream":"stdout","time":"2023-07-12T10:35:51.588616338Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,589 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - Time Taken to populateEntitlementMapByConfig : 0.001\n","stream":"stdout","time":"2023-07-12T10:35:51.589959796Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,589 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - Inside importAccountsFull:persistEntObjects, pptTypeSep : ~#~\n","stream":"stdout","time":"2023-07-12T10:35:51.589971219Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,590 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - INFO: Entitlement_value is null, record not saved.\n","stream":"stdout","time":"2023-07-12T10:35:51.590250932Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,601 [quartzScheduler_Worker-3] DEBUG services.ImportUtilityService - EntitlementType 'SecurityRole' for Endpoint 'HighRadius' found with EntitlementTypekey - 556\n","stream":"stdout","time":"2023-07-12T10:35:51.601418607Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,602 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - Time Taken to populateEntitlementMapByConfig : 0.001\n","stream":"stdout","time":"2023-07-12T10:35:51.602723673Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,602 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - Inside importAccountsFull:persistEntObjects, pptTypeSep : ~#~\n","stream":"stdout","time":"2023-07-12T10:35:51.602742113Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,602 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - INFO: Entitlement_value is null, record not saved.\n","stream":"stdout","time":"2023-07-12T10:35:51.603047317Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,605 [quartzScheduler_Worker-3] DEBUG services.ImportUtilityService - EntitlementType 'FunctionalRole' for Endpoint 'HighRadius' found with EntitlementTypekey - 555\n","stream":"stdout","time":"2023-07-12T10:35:51.605424811Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,606 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - Time Taken to populateEntitlementMapByConfig : 0.001\n","stream":"stdout","time":"2023-07-12T10:35:51.606743859Z"}
 
2023-07-12T16:05:52+05:30-ecm-worker-{"log":"2023-07-12 10:35:51,606 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService - Inside importAccountsFull:persistEntObjects, pptTypeSep : ~#~\n","stream":"stdout","time":"2023-07-12T10:35:51.606780461Z"}

nimitdave
Saviynt Employee
Saviynt Employee

Please check now , a change in acctentmapping

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty2",
"activeStatus": [
"true"
],
"deleteLinks": false,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://cloud2-sbox-irapi.highradius.com/api/iam/v1/users/allusers/list",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json",
"startRecord": "0"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "user",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "userName~#~char",
"name": "userName~#~char",
"customproperty1": "email~#~char",
"status": "active~#~char",
"customproperty2": "active~#~char",
"customproperty3": "firstName~#~char",
"customproperty4": "lastName~#~char",
"customproperty5": "securityRole~#~char",
"customproperty6": "functionalRole~#~char",
"customproperty7": "defaultMenu~#~char",
"customproperty8": "loginType~#~char",
"customproperty9": "lastLoggedTime~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"offset": {
"batchSize": 500,
"totalCountPath": "headers.x-totalCount"
}
}
}
},
"acctEntMappings": {
"FunctionalRole": {
"importAsEntitlement": true,
"listPath": "",
"idPath": "functionalRole",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "entitlementID~#~char",
"entitlement_value": "entitlementID~#~char"
}
},
"SecurityRole": {
"importAsEntitlement": true,
"listPath": "",
"idPath": "securityRole",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "entitlementID~#~char",
"entitlement_value": "entitlementID~#~char"
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"FunctionalRole": {
"entTypeOrder": 0
},
"SecurityRole": {
"entTypeOrder": 1
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

Jyoti1
New Contributor III
New Contributor III

mapping is not working but cp31 populated {"SecurityRole":{"entIds":["Kraft EU - View Only role"],"keyField":"entitlementID"},"FunctionalRole":{"entIds":["View Only role"],"keyField":"entitlementID"}}

nimitdave
Saviynt Employee
Saviynt Employee

Are you also running access import or only account import. CP31 get populated in account import but actual mapping happens while access import and then cp31 data is cleared out.