I’m integrating SailPoint Identity Security Cloud (ISC) with a SaaS application that uses composite keys for entitlements, and I need guidance on configuring entitlement removal during Manager certification campaigns.
Use Case:
Each user in the SaaS app has one or more roleProducts , which are combinations of a role and a product. A sample response from the app’s GET /user/{userId}/role-products endpoint looks like this:
{
"items": [
{
"role": { "id": 1, "name": "Preparer" },
"product": { "id": "A", "name": "Account" }
}
],
"totalItems": 1
}
My Approach So Far:
- I created an entitlement type called
roleProductwith the following attributes:id = <roleId>:<productId>(e.g.,1:A)name = <roleName> <productName>(e.g.,Preparer Account)roleIdandproductIdas separate attributes
- In the account schema, I defined a multi-valued entitlement attribute
roleProducts. - I’ll use a customizer:
afterAccountReadto populateroleProductswithroleId:productIdvalues.afterEntitlementReadto populate theroleProductentitlement metadata.
The Challenge:
When a manager revokes a roleProduct entitlement during a certification campaign, I want the connector to call the following API:
DELETE /user/{userId}/role-products?roleId=<roleId>&productId=<productId>
I’ve created an HTTP Operation named “Remove User RoleProduct” , but I’m unsure how to configure the context URL so that it parses the roleId and productId from the entitlement ID (roleId:productId ).
Specific Questions:
- How can I extract
roleIdandproductIdfrom the entitlement ID (1:A) in the context URL or request body? - Is there a way to use a customizer or transform to split the ID before the HTTP Operation executes?
- I noticed there’s no
beforeEntitlementRemovehook in the customizer—what’s the recommended way to handle this kind of transformation before the entitlement is removed?
Any guidance or examples would be greatly appreciated!