7.1 Configuring and Leveraging Policies
Key Takeaways
The policy types are Role SOD, Entitlement SOD, Effective Entitlement SOD, Activity, Account, Risk, and Advanced.
A Role SOD rule is violated when an identity holds any role from the left list and any role from the right list.
Detective evaluation runs during aggregation or identity refresh when Check active policies is selected; preventive evaluation runs in LCM request workflows.
A rule-level violation owner overrides the policy-level owner, and the policy owner is the fallback when no violation owner is set.
Running a policy simulation makes the policy inactive (or disables the single rule tested), so reactivate it afterwards.
Configuring and Leveraging Policies
Objective 3.3 is configure and leverage policies. A policy describes a condition an identity should never have, such as the same person both creating and approving payments. When an active policy finds that condition, IdentityIQ creates a policy violation for someone to act on (section 7.2). Policies are defined on Setup > Policies. That page is usually limited to System Administrators and Policy Administrators.
The Seven Policy Types
| Type | Detects | How it is defined |
|---|---|---|
| Role SOD | Conflicting roles of any role type | Two lists. Any role on the left plus any role on the right is a violation. |
| Entitlement SOD | Conflicting entitlements within or across applications | Two entitlement sets that can use nested AND/OR expressions |
| Effective Entitlement SOD | Conflicts in effective (indirect) access, such as nested groups, unstructured targets, or access through roles | Like Entitlement SOD, plus target permissions |
| Activity | Undesirable activity such as logins or account creation, when activity data sources are enabled | Identity filters plus activity filters (time frames, source and target applications) |
| Account | An identity with multiple accounts on an application | A single built-in rule; no separate rule page |
| Risk | A composite risk score at or above a threshold | A single built-in rule; no separate rule page |
| Advanced | Anything else | Match lists, filters, scripts, BeanShell rules, or populations |
A policy can contain many rules. For example, one Finance Role Conflicts policy might hold a dozen SOD rules. SailPoint's best practice is to group related rules under one well-named policy and give every rule a name that says what it checks.
Policy-Level Settings
- Owner – maintains the policy and is the fallback violation owner. If alerts are enabled, the owner is emailed about each violation by default.
- Policy Violation Owner – who acts on violations: a specific identity or workgroup, the manager of the violating identity, or someone chosen by a rule. A violation owner set on a rule overrides the policy-level one.
- Scope – limits who can see the policy on the Policies page. It does not change how violations are shown or monitored.
- Description – can be entered in several languages. Rule descriptions cannot be localized.
- Violation formatting rule – adds detail to the violation, such as the applications involved, which is especially useful for Advanced policies.
- Violation business process – a workflow that assigns or handles violations. A business process set on a rule overrides the policy's.
- State – Active policies are evaluated. Inactive policies are not.
- Send Alerts – initial notification template, an Open Work Item option, and an escalation style: None, Send Reminders, Reminders then Escalation, or Escalation Only. You also set reminder frequency, reminders before escalation, an Escalation Owner Rule, and Observers. Observers get emails only, and only the owner gets a work item.
Rule-Level Settings
Each rule has a summary, description, violation owner, formatting rule, business process, and Disabled flag. It also has two informational text fields:
- Compensating Control – documents exceptions, such as executives being exempt. It is documentation only and does not change risk scoring or reporting.
- Correction Advice – shown to a certifier or violation owner who is deciding which access to revoke.
Detective vs. Preventive Evaluation
Policies are evaluated per identity.
- Detective: finds violations that already exist. Select Check active policies in an Account Aggregation or Identity Refresh task. Refresh adds Keep previous violations (retain history of resolved violations) and a comma-separated list of policy names to check only those active policies. Inactive policies are never evaluated, even if listed.
- Preventive: catches violations at request time. The LCM Provisioning and LCM Create and Update business processes have policy-checking settings: Disable Policy Checking, Continue on Policy Violations (approvers see them), Present Failures to Requester (requester can remove items), or Fail Workflow. They also let you check All or Selected policies. Preventive checking is optional because you may not want to reveal which combinations enable fraud.
Testing Safely with Simulation
Run Simulation checks a policy, or a single rule, against every identity. It reports only a count of violators. It does not create violations, work items, or a list of names. It can be slow on large systems.
Side effects to remember:
- Simulating the whole policy saves it and sets it to Inactive. Set the state back to Active and save when done.
- Simulating one rule disables only that rule. The policy state does not change.
- Make sure rule names are unique within the policy before simulating.
Worked Example: A Payment SOD Policy
- Create a Role SOD policy named Finance Payment Controls. The owner is the Compliance workgroup, and the violation owner is the manager of the violating identity.
- Add a rule, Payment Prep vs Payment Approval. Put Payment Preparation on the left and Payment Approval on the right, and add correction advice ("revoke the role not tied to the person's job code").
- Run Simulation to see how many identities already violate it. Review the count, then set the policy back to Active.
- Enable Check active policies on the nightly refresh (detective), and set LCM Provisioning to Present Failures to Requester (preventive).
An identity holds the Accounts Payable Clerk role, which is on the left list of a Role SOD rule, and the Payment Approver role, which is one of three roles on the right list. Is this a violation?
Yes, because holding any role from the left list together with any role from the right list violates the rule.
No, because the identity must hold every role on the right list.
No, because Role SOD rules only evaluate IT roles.
Only if the roles are on the same application.
A policy's violation owner is set to the manager, but one rule inside it sets the violation owner to the Security workgroup. Who owns violations of that rule?
The policy owner
The manager of the violating identity
The Security workgroup, because a rule-level owner overrides the policy-level violation owner
Both, as joint owners
An engineer runs a simulation for all enabled rules in a new policy. What happens to the policy?
Violations are created for every identity found, but no work items are sent.
The policy is activated automatically once the simulation finishes.
Nothing changes; simulations are read-only.
The policy is saved and set to Inactive, and it must be set back to Active and saved.
Which task setting makes an existing Identity Refresh task flag identities that already violate active policies?
Process Events
Promote managed attributes
Check active policies
Refresh assigned scope
Sections you finish are checked off in the contents.