How to pass transform attributes to IdentityAttributeRule

Hi sailers,

I’m trying to understand how values are passed from a Transform to a Cloud IdentityAttributeRule.

For example, if I define a transform like this:

{
  "attributes": {
    "name": "My Rule Utility",
    "userGroups": "group1, group2",
    "userEmail": {
      "attributes": {
        "sourceName": "HR",
        "attributeName": "email"
      },
      "type": "accountAttribute"
    }
  },
  "type": "rule",
  "name": "Rule Transform"
}

Inside the IdentityAttributeRule:

  • Can I directly access userGroups and userEmail as runtime variables similar to idn, log, identity Or are these only available through the parameters map?

  • If possible, could someone share a simple working example (transform JSON + rule snippet) showing the correct way to access these values?

Hello @rahul_ch77 ,

If you are creating a Custom Idnetity Attribute Generator Cloud Rule, then, you cannot pass the runtime parameters from Transforms.

That approach is only for OOTB rule such as “Cloud Services Deployment Utility“.

In the custom Cloud IdentityAttributeRule which you are creating**,** you can only call the rule and input parameters will be passed inside the beanshell script.

Refer the below documentations from SailPoint.

Regards,

Rohit Wekhande.

Hi 
 ,

This is how I had passed it in a Rule.

{

      "name": "MultivalueRule",

    "type": "rule",

    "attributes": {

        "name": "MultivalueRule",

        "cloudSourceName": "PPS Flat File",

        "attributeName": "concatTitleDept"

    },

    "internal": false

}


where cloudSourceName what the name of the source and attributeName was the input attribute

@rohit_wekhande thank you for your response. However, According to the SailPoint documentation for Rule Transforms (type: "rule"), any values defined under the attributes section of the transform are passed into the rule execution context and can be accessed inside the rule. The documentation example using Cloud Services Deployment Utility clearly shows attributes like operation and numChars being supplied via the transform and consumed by the rule at runtime.

{
  "attributes": {
    "name": "Cloud Services Deployment Utility",
    "operation": "getEndOfString",
    "input": {
      "type": "trim"
    },
    "numChars": "3"
  },
  "type": "rule",
  "name": "Rule Transform"
}

@colin_mckibben @philip-ellis @KRM7 @kjakubiak @enistriminsait could you please provide your insights?

Hello @rahul_ch77 ,

Thanks for the insight! If that’s the case, its new for me. But, as per the Identity Attribute Cloud Rule document, its not mentioned anywhere.

Can you share you identity attribute cloud rule code as well if possible?

SailPoint has developed a Rule with couple of methods, this Rule will be executed at cloud level.

Imagine a Java class with bunch of methods with inputs, in Transform you mention the method to use and inputs to pass.

Method → Operation

You can also have your own Identity Attribute Rule which is a cloud one, that is completely different. You cannot pass inputs from Transform to Rule.

This is a key distinction in ISC: