Definition
An Object Policy is an Identity Management Service Policy allowing to execute arbitrary actions on Managed Objects, either on a scheduled basis, or in reaction to an Object Operation.
Object Policies are primarily composed of a mode (Scheduled or Event), a Scope, and a list of actions. They may leverage Reporting Data to further restrict their scope, and also act on secondary Objects. For instance, an Object Policy acting on Organizations may define actions to be executed on some (if not all) Identities belonging to said Organizations.
Configuration
You can access the Object Policy configuration :
-
by clicking on "Policies" → “Object Policy”
-
by clicking on "System" → "Configurations" → "Data Model" and perform an import/export.
Properties
|
Property name |
Type |
Mandatory |
Description |
Values (default value in bold) |
|---|---|---|---|---|
|
id |
|
YES |
The unique identifier of the Object Policy. It is case sensitive and no special characters (except - or _) are allowed. Must be between 1 and 64 characters long. |
- |
|
name |
|
YES |
The Object Policy name. The name may be different from the identifier.Specifying the name first allows to define automatically the identifier.
|
- |
|
description |
|
NO |
Allows to describe the purpose of the Object Policy. Must be at most 1024 characters long. |
- |
|
active |
|
YES |
Allows to define if the Object Policy is activated or not. |
true, false |
|
activation |
|
YES |
The Activation Mode of this policy
|
EVENT, SCHEDULED |
|
handleEvent |
|
NO |
A test Rule to decide whether to handle the current event (can only be used in EVENT mode) |
- |
|
scope |
YES |
Allows to configure on which Objects the Object Policy will be applied. It is possible to define several Object Types. |
- |
|
|
reportingScope |
NO |
An optional correlation constraint on Reporting data, complementing the Object Scope. |
- |
|
|
actions |
|
NO |
The Actions to execute on Objects |
- |
|
handleSecondaryScope |
|
NO |
A test Rule to decide whether to handle the secondary Scope |
- |
|
secondaryScope |
NO |
An optional secondary scope, that will be resolved and processed for each “primary” object |
- |
|
|
secondaryReportingScope |
NO |
An optional correlation constraint on Reporting data, complementing the Secondary Object Scope. |
- |
|
|
secondaryActions |
|
NO |
The Actions to execute on secondary Objects |
- |
|
pageSize |
|
NO |
Used to indicate how many objects can be processed in a batch by actions (SCHEDULED mode and Secondary Scope processing) |
10 or more |
|
executionPlan |
Only in SCHEDULED mode |
In SCHEDULED mode, the Policy scheduling Configuration. |
- |
Reporting Scope
As Object and Simple Scopes, Reporting Scopes may be Static or Dynamic. A Static (resp. Dynamic) scope embeds a Static (resp. Dynamic) Simple scope.
|
Property name |
Type |
Mandatory |
Description |
Values (default value in bold) |
|---|---|---|---|---|
|
reportingObjectConfigurationId |
|
YES |
The reporting Collection on which correlation should be performed |
- |
|
correlationMode |
|
YES |
The correlation mode:
|
POSITIVE, NEGATIVE |
|
scope |
YES |
The search Scope of reporting Documents |
- |
|
|
imCorrelationAttribute |
|
YES |
The Object Attribute to use for correlation |
id |
|
imCorrelationAttribute |
|
YES |
The Reporting Document property path to use for correlation |
_id |
Examples
Simple Scheduled Policy
Reporting Scope
Secondary Scope
Leveraging Reporting Data
It is possible to condition the execution of action on the existence (or non existence) of Reporting Documents correlated to an Object. To use Reporting Correlation, specify the reportingScope property (resp. secondaryReportingScope) along with the Policy Scope (resp. secondaryPolicyScope).
Correlated Reporting Object
A Reporting Document R is deemed correlated to a Managed Object O if and only if:
-
It is from the right Reporting Object Configuration (the Reporting Scope’s
reportingObjectConfigurationIdproperty) -
It matches the Scope (the Reporting Scope’s
scopeproperty) -
It shares an attribute value with the Managed Object (the Reporting Scope’s
reportingCorrelationAttributeandimCorrelationAttributeproperties). In other words,R.<reportingCorrelationAttribute> == O.<imCorrelationAttribute>.
Positive Vs Negative correlation
When correlationMode=POSITIVE, a managed object will be processed if and only if it matches the Policy Scope and a correlated Reporting Document exists. When correlationMode=NEGATIVE, a managed object will be processed if and only if it matches the Policy Scope and a correlated Reporting Document does not exists.
A typical use case of Negative Correlation is to deactivate identities that did not authenticate in the last 6 months.
Secondary Scope and Actions
For each Managed Object processed by an Object Policy, be it in EVENT or SCHEDULED mode, it is possible to also execute actions on secondary objects, by defining a Secondary Scope and Secondary Actions.
A typical use case is to perform actions on Identities whose security organization is below an organization being patched.
The secondary scope and reporting scope have the exact same semantics as primary scopes, with the difference that they are dynamic, and are resolved for each primary object. The algorithm is as follow:
for each object O in primaryScope {
shouldProcess = checkCorrelationWithReportingScope(O, primaryReportingScope)
if (shouldProcess) {
evaluatePrimaryActions(O)
if(handleSecondaryScope(O)) {
secondaryScope = resolveSecondaryScope(O)
secondaryReportingScope = resolveSecondaryReportingScope(O)
for each object O2 in secondaryScope {
shouldProcessSecondaryObject = checkCorrelationWithReportingScope(O2, secondaryReportingScope)
if (shouldProcessSecondaryObject) {
evaluateSecondaryActions(O, O2)
}
}
}
}
}
The PRIMARY_OPERATION context
To allow referencing the Primary Object a PRIMARY_OPERATION context is available to Secondary Actions. It has the same content as the OPERATION context available to Primary Actions
-
PRIMARY_OPERATION.object: the Primary Object -
PRIMARY_OPERATION.originalObject: the original Primary Object (non null only inEVENTmode) -
PRIMARY_OPERATION.operation: the operation being performed on the Primary Object (non null only inEVENTmode)
Read next
-
Business Policies A Business Policy allows to configure how to trigger actions on Object Types through a Feature with an optional configured Workflow.
-
Object Policies -
Deduplication Policies A Deduplication Policy describes how duplicates should be searched for when creating a managed object.
-
Feature Access Policies A Feature Access Policy is composed of a right which encompasses several Features.
-
Manual Provisioning Policies A Manual Provisioning Policy allows to define that manual provisioning or deprovisioning Workflow is launched when the Role assignment status changes.
-
Object Lifecycle Policies An Object Lifecycle Policy allows to configure rules, on all Object Types, that will alter an Object attribute directly when certain lifecycle events occur.
-
Password Policies A Password Policy determines how passwords should be composed and which rules apply to their lifecycle.
-
Role Request Policies A Role Request Policy allows to define if a Role can be requested, for whom, by whom, and using which Workflow.
-
Workflow Administration Policies A Workflow Administration Policy is composed of a right which encompasses several Features.
-
Memority MFA Account Policies A Memority MFA Policy allows to configure how multi factor authentication should be applied to a population of user
-
Homepage Selection Policies A Memority Home Page Selection Policy allows to configure differents home page depending on user rights.
-
SoD Policies In Memority, SoD rules are based on a SoD policy. A SOD Policy allows to define what kinds of conflicts you can specify and what attributes the system will use to detect them.