13.2 Common Application Rule Types

Key Takeaways

  • Aggregation rules run after the connector builds valid ResourceObjects and after any connector rules.

  • A Correlation rule handles account matching that a correlation configuration cannot express, such as matching on several attributes together.

  • A Creation rule runs only when aggregation creates a new identity; a Manager Correlation rule links identities to managers when simple attribute mapping is not enough.

  • The Customization rule changes aggregated accounts or groups before they are saved, and it is the main account-manipulation rule for connectors without connector rules.

  • BeforeProvisioning runs just before the connector's provisioning call; AfterProvisioning runs just after it, and only if the result is committed or queued.

Last updated: September 2026

Common Application Rule Types

Objective 5.5 asks you to understand common application rule types. These are selected on an application's Rules tab. Unlike connector rules (section 13.3), they apply to all application types. examplerules.xml in WEB-INF/config contains an example of each.

Where Application Rules Fit in Aggregation

Loading diagram...
Aggregation rule order

The documentation's key ordering fact: aggregation rules run after the connector has created valid ResourceObjects, which in turn happens after the connector rules have run.

Aggregation Rules

RuleRuns whenTypical uses
CorrelationAn account needs matching to an identity and the correlation configuration is not enoughMatching on several attributes together, fuzzy or normalized keys, or special service-account ownership. It returns a Map (section 9.2).
Creation (IdentityCreation)Only when a new identity is being created during aggregation, usually for authoritative applicationsSet the identity's password, change the identity name format, uppercase an attribute, set a type, or assign capabilities
Manager CorrelationLinking an identity to its manager, when the Correlation tab's attribute mapping is not enoughFor example, the manager value is a DN that needs parsing, or several possible keys
Customization (ResourceObjectCustomization)Before the account or group is savedNormalize values, derive attributes, and mark accounts disabled, locked, service, or privileged. It is the main manipulation rule for applications without connector rules. It returns the ResourceObject.
Managed Entitlement CustomizationWhen a ManagedAttribute is created by aggregation, refresh, or the Missing Managed Entitlements ScanSet owner, requestable, description, or display name before the catalog entry is saved

Customization rules on some objects may run more than once for the same ResourceObject, for example for the provisioning result, the plan, and the account request. Write them so that running twice gives the same result.

Provisioning Rules

RuleRunsNotes
BeforeProvisioningImmediately before the connector's provisioning methodChange or react to the ProvisioningPlan, such as adding a default attribute, blocking an operation, or logging. Runs for all connector types.
AfterProvisioningImmediately after the connector's provisioning method, only if the result is committed or queuedReact to what was sent, such as notifying another system or recording a ticket number. Runs for all connector types.

Schema Rules

Some connectors support schema-level rules, separate rules for account objects and group objects. They let you keep account logic and group logic apart, instead of checking inside one rule whether a ResourceObject is an account or a group.

Related Rules Set Elsewhere

  • Account Aggregation task: an optional rule to assign capabilities or perform other processing on new identities.
  • Account Group Aggregation task: a Group Aggregation Refresh rule to set owners or change groups when they are created or refreshed.
  • Identity Mappings: application or global rules as attribute sources (section 16.3).
  • Provisioning policies: FieldValue, AllowedValues, Validation, and Owner rules (section 4.2).

Worked Example: One Application, Four Rules

An ERP application has messy data, and four rules solve four different problems:

  1. Customization rule: the ERP reports locked accounts as STATUS=L. The rule sets the IdentityIQ locked flag on the ResourceObject, trims whitespace from user IDs, and returns the object.
  2. Correlation rule: ERP user IDs are not stored on identities, but the ERP holds an employee number and a company code. The rule returns identityAttributeName = employeeId and identityAttributeValue = the company code plus the employee number.
  3. Managed Entitlement Customization rule: new ERP roles discovered by aggregation are set to non-requestable, with the ERP owner workgroup as owner, until someone reviews them in the catalog.
  4. BeforeProvisioning rule: the ERP requires a cost-center attribute on every Create request. The rule adds it from the identity when a provisioning policy cannot, for example because the value depends on the requested role.

Each rule does one job at the right point in the pipeline, and none of them duplicates work that configuration could do. That is the design the exam rewards.

Debugging Application Rules

  • Turn on a logger for the rule and write log.debug statements that show the key inputs and the decision (section 14.1).
  • Reproduce the problem with a single-account aggregation from the account's page, or by aggregating a small test file.
  • Check the aggregation task result. Selected detail actions, such as Correlate New Account or Create New Identity, show what the rules decided.
  • Watch for exceptions in Syslog (section 14.2). A rule that throws an exception can make the account fail or the task end with errors.

Choosing the Right Rule

RequirementRule
"Match AD accounts to identities when employeeID is blank by using email plus last name"Correlation
"New HR identities get user names in the format first.last"Creation
"The HR manager column holds the manager's employee number with a prefix"Manager Correlation (or clean the value in Customization)
"Mark accounts whose description starts with SVC as service accounts"Customization
"New AD groups should be non-requestable, with the application owner as owner"Managed Entitlement Customization
"Always add a default home directory when creating Unix accounts"BeforeProvisioning, or better, a Create provisioning policy
"Open a ticket after an account is disabled"AfterProvisioning

Performance and Safety

The documentation warns that complex rules that act on every record can seriously slow aggregation. Keep per-record rules lean, cache lookups (for example, in a Custom object), avoid database queries for every account, and never commit transactions inside aggregation rules. Test in a sandbox first. A faulty correlation rule can attach accounts to the wrong identities, which is a governance incident.

Test Your Knowledge

Accounts on an application must be correlated when both the account's department code and employee number match an identity. The Correlation tab's attribute mapping cannot express this. Which rule type fits?

A

Correlation

B

Creation

C

Managed Entitlement Customization

D

AfterProvisioning

Test Your Knowledge

A rule must run only when aggregation of the HR application creates a brand-new identity, to set that identity's name format and initial password. Which rule type is this?

A

Customization

B

Manager Correlation

C

BeforeProvisioning

D

Creation (IdentityCreation)

Test Your Knowledge

A new entitlement discovered during aggregation should be saved to the Entitlement Catalog as non-requestable, owned by the application owner. Which rule type handles this?

A

Correlation

B

Customization

C

Managed Entitlement Customization

D

AfterProvisioning

Test Your Knowledge

When does an application's AfterProvisioning rule run?

A

Before the connector's provisioning method is called

B

Only when provisioning fails

C

During every account aggregation

D

Immediately after the connector's provisioning method is called, and only if the result is committed or queued

Sections you finish are checked off in the contents.