Skip to content

Governance Constraints

Constraints are governance rules that enforce access control policies across your organization.

They allow you to define conditions that must be met for your identity and access management to remain compliant with your security policies and regulations.

Big ACL supports five types of constraints, each designed to address specific governance requirements:

TypePurpose
CardinalityLimit the number of users with specific roles
Separation of DutiesPrevent users from holding incompatible roles
Toxic CombinationForbid dangerous combinations of multiple roles
TemporalEnforce time-based rules on assignments
Attribute ConstraintRequire specific attributes on users or assignments

Cardinality constraints limit the number of users that can hold a specific role or set of roles. This helps prevent over-privileged access and ensures proper distribution of responsibilities.

  • Limit the number of administrators for critical applications
  • Ensure a minimum number of users have emergency access
  • Control the size of privileged groups
  • “Maximum 3 Jira administrators per project”
  • “At least 2 users must have break-glass access to production systems”
  • “No more than 5 users per application can have the Super Admin role”

Separation of Duties constraints prevent a single user from holding two roles that are considered incompatible. This is a fundamental control for preventing fraud, errors, and ensuring proper oversight through the “four-eyes principle.”

  • Prevent the same person from initiating and approving transactions
  • Ensure developers cannot deploy their own code to production
  • Separate access request creation from approval
  • “A user cannot be both Payment Validator and Payment Executor”
  • “The same person cannot create and approve purchase orders”
  • “Code reviewers cannot be the authors of the code they review”

Toxic Combination constraints extend Separation of Duties to three or more roles. They identify dangerous concentrations of privileges that could enable a single user to bypass controls or commit fraud.

  • Prevent accumulation of multiple sensitive roles
  • Identify users with excessive privileges across systems
  • Enforce the principle of least privilege
  • “No user should have Admin, Approver, and Auditor roles simultaneously”
  • “The combination of Create, Approve, and Execute permissions is forbidden”
  • “Users cannot hold all three finance roles: Budget Owner, Invoice Approver, and Payment Releaser”

Temporal constraints enforce time-based rules on role assignments. They ensure that access is regularly reviewed and that temporary access does not become permanent.

Maximum Duration Ensures that role assignments do not exceed a specified time period. Ideal for temporary access, contractors, or project-based permissions.

Recertification Requires periodic review and re-approval of role assignments. Essential for compliance with regulations that mandate regular access reviews.

  • “Contractor access must not exceed 90 days”
  • “All privileged access must be reviewed every quarter”
  • “Temporary admin rights expire after 7 days”
  • “External consultant access requires monthly recertification”

Attribute constraints require that users or assignments have specific attributes before certain roles can be assigned. This enables complex validation logic based on organizational properties.

  • Restrict roles based on department, location, or job function
  • Require specific certifications or training completion
  • Enforce regional or legal entity boundaries
  • “Only IT department employees can have system administrator roles”
  • “Finance roles require users to have completed SOX training”
  • “Access to EU customer data requires users to be based in the EU”
  • “Manager approval role requires the ‘people_manager’ attribute”

Constraints follow a lifecycle with three statuses:

StatusDescription
DraftThe constraint is being configured. Violations are detected but not enforced.
ActiveThe constraint is fully enforced. New violations are blocked and existing ones must be remediated.
ArchivedThe constraint is no longer enforced and is kept for historical reference.

Use descriptive names that explain the business rule in plain language:

  • Good: “Maximum 3 Jira administrators per project”

  • Poor: “Jira admin cardinality”

  • Good: “No user can approve and execute payments”

  • Poor: “SoD finance”

Some constraints may need controlled exceptions. Consider:

  • Using tolerance settings for toxic combinations when legacy situations exist
  • Documenting exception processes for time-limited overrides
  • Regularly reviewing exceptions to ensure they remain justified

Periodically review your constraints to ensure they:

  • Remain aligned with current policies and regulations
  • Are still relevant to your application landscape
  • Have acceptable violation rates
  • Include appropriate remediation workflows