Account Name Uniqueness

Hello all,

I have a connector to a source where I am aggregating 13,500 account.

Of these, only 500 are correlated.

When I use the username generator in the create account provisioning policy, does it take into account ALL the account names, or just the correlated ones ?

Thank you in advance

Hello,

The generator actually queries the source for uniqueness so the answer to your question is that it takes into account ALL the account names.

Cheers

@cristian_grau , thanks for replying! I always wondered if this looked at the Identity model account information or the actual source to determine this.

Made me want to go back to my protocol analysis (Sniffer) days and watch for wire activity. :slightly_smiling_face:

Appreciate you sharing your helpful info!

Here is the code snippet of what I am using:

“name”:“Create User”,   “description”:null,   “usageType”:“CREATE”,   “fields”: [        {           “name”:“User Name”,           “transform”: {               “type”:“usernameGenerator”,               “attributes”: {                   “sourceCheck”:false,                   “patterns”: [                       “$stringToUse${uniqueCounter}”                    ],                   “stringToUse”: {                       “attributes”: {                           “id”:“TestAcctName”                        },                       “type”:“reference”                    }                }            },           “attributes”: {               “cloudMaxUniqueChecks”:“50”,               “cloudMaxSize”:“12”,               “cloudRequired”:“true”            },           “isRequired”:false,           “type”:“string”,           “isMultiValued”:false        }

I am not sure this goes to the source to check.

I do not see an indication to this in the attributes section.

The best case is that it is checking against what is aggregated.

Bare in mind that this is not a cloud based rule.

It is a provisioning policy transform.

Many thanks for the prompt response.

Sorry, I misunderstood. I though you were using the “Create Unique Account ID” generator. That leads to the question: why don’t you use the generator instead of the transform?

Reviewing your transform again I’ve seen you have sourceCheck set to false. From the documentation:

  • sourceCheck - This boolean value (true/false) indicates whether the generator must check only the Identity Security Cloud database’s representation of accounts for uniqueness, or whether it must query the target system directly. If no value is provided, the attribute defaults to false.
    • true indicates the generator must check the target system directly. The generator only respects this setting if the system supports the getObject functionality. For systems that lack the ability to query for single account objects, the generator ignores this setting and defaults to false. The generator only checks the attribute identified in the account schema as the accountID.
    • false indicates the generator must check only the Identity Security Cloud database of accounts. The generator only checks the accountID.

Cristian, you are correct, but mine says ‘false’ because the connector does not implement the getObject option (as best I know).

As for the unique Account ID Generator - I think I cannot implement my logic there The logic is first name up to 10 letters and last name two letters. In case there is one with such an account name then first name up to 8 letters, two letters of last name and then a numerator of two digits. I do not see the Account Name Generator generating such a logic without a transform.

For the sake of argument, let’s say that the there is no check at the source. The question is, if there is any clarification whether the uniqueness is checked against all the accounts retrieved or just the correlated.

From the same documentation you mentioned, I tend to think it is against all account names, but it does not say so specifically andhttps://www.baba-mail.co.il/content.aspx?emailid=30364 I want to be 100% sure before I tell that to the customer.

Here is the updated code (this is the create user provisioning policy):

{<br>            "name": "User Name",<br>            "transform": {<br>                "type": "usernameGenerator",<br>                "attributes": {<br>                    "sourceCheck": true,<br>                    "stringToUse": {<br>                        "attributes": {<br>                            "id": "Strauss-TestSapAcctName"<br>                        },<br>                        "type": "reference"<br>                    },<br>                    "stringNoNumerator": {<br>                        "attributes": {<br>                            "id": "Strauss-SAP Acct Name No Numerator"<br>                        },<br>                        "type": "reference"<br>                    },<br>                    "patterns": [<br>                        "$stringNoNumerator",<br>                        "$stringToUse${uniqueCounter}"<br>                    ]<br>                }<br>            },<br>            "attributes": {<br>                "cloudMaxUniqueChecks": "50",<br>                "cloudMaxSize": "12",<br>                "cloudRequired": "true"<br>            },<br>            "isRequired": false,<br>            "type": "string",<br>            "isMultiValued": false<br>        }

Hi,

I’ve created a delimited file source with 30 entries from “Amy.Cox” till “Amy.Cox29”. Only the first one is correlated with an existing identity.

I’ve setup the create provisioning policy to generate the next id using an usernameGenerator transform:

<span>{<br>    "name": "id",<br>    "transform": {<br>        "type": "usernameGenerator",<br>        "attributes": {<br>            "sourceCheck": false,<br>            "patterns": [<br>                "Amy.Cox${uniqueCounter}"<br>            ]<br>        }<br>    },<br>    "attributes": {<br>        "cloudMaxUniqueChecks": "50",<br>        "cloudMaxSize": "12",<br>        "cloudRequired": "true"<br>    }<br>    "isRequired": false,<br>    "type": "string", <br>    "isMultiValued": false<br>}</span>

“Amy.Cox30” has been the generated id. It looks it considers the non-correlated values as well.