Policy-based access is working. Life is good. 95% of access provisions automatically based on role, department, and team.
Then a ticket arrives:
“I need temporary access to the finance-reports group for a cross-functional project analyzing sales commission structure. I’ll need it for about 6 weeks.”
This doesn’t fit any existing policies. The requestor is a Sales Engineer. Sales Engineers don’t get finance access. But the business need is legitimate.
Reject the request because it doesn’t fit policy? That turns IT into blockers, not enablers.
Manually grant access outside the policy system? That defeats the purpose of policy-based access.
Create a new Ruleset for “Sales Engineer with Finance Access”? Role explosion follows. 147 Rulesets within a year.
Handle it as an exception—a first-class object in the access management system with explicit justification, approval, and expiration.
This is exception management.
Why Exceptions Matter
Not all access fits into neat policy boxes.
Temporary needs arise
Cross-functional project access for a defined period. The project ends, the access ends.
Unique situations occur
A one-off requirement that won’t repeat. Creating permanent policy for a single instance wastes everyone’s time.
Sensitive access requires explicit approval
Even if policy could grant it, some access needs human sign-off.
Transitions overlap
Someone changing roles needs access from both roles during handoff.
If the policy-based system can’t handle exceptions gracefully, people work around it. They request manual access grants directly in systems, bypassing policy. They create shadow IT processes—spreadsheets tracking “temporary” access. They abuse existing Rulesets, adding people to groups they don’t belong in just to get one permission.
A good exception system is the difference between policy-based access that people trust and policy-based access that people circumvent.
Explicit exception rules with documented justification and expiration dates satisfy auditor requirements for access outside standard policy. This creates a defensible audit trail: who approved the exception, why, and when it expires—addressing SOC 2 CC6.1 and ISO 27001 A.9.2.6 (removal or adjustment of access rights).
Exception Lifecycle
1. Request with Justification
Sarah (Sales Engineer) needs finance access for a project.
Exception request:
Key elements: What access (specific group/role/permission). Why (clear business justification). How long (defined timeframe, not permanent). Who approves (appropriate authority—CFO for finance data).
2. Approval Workflow
The CFO receives an approval request:
CFO approves. System logs:
3. Provisioning
The orchestration layer provisions access:
Critical: The system knows this is an exception. It’s tracked separately from policy-based access.
4. Monitoring
While the exception is active:
For the user:
For IT:
For auditors:
5. Expiration and Renewal
Two weeks before expiration:
Option A: User does nothing. Access auto-revokes on 2025-01-06.
Option B: User requests extension:
CFO approves or denies. If approved, expiration extends. If denied, access revokes on original date.
6. Removal
On expiration date (or when manually revoked):
Sarah’s access is removed. The exception is closed.
Audit trail:
Exception Patterns
Different situations need different exception patterns:
Pattern 1: Time-Bound Project Access
Use case: Cross-functional project needs access for defined period.
Characteristics: Clear start and end dates. Tied to a project. Auto-revoke on end date. Review at project milestones.
Pattern 2: Incremental Privilege Escalation
Use case: User needs higher privilege temporarily—debugging production issue, emergency access.
Characteristics: Very short duration (hours, not weeks). Tied to incident or emergency. Auto-revoke (no manual renewal). Elevated approval (on-call lead, not just manager).
Pattern 3: Learning and Training
Use case: User learning a new skill needs access to practice.
Characteristics: Medium duration (weeks to months). Tied to training program. Lower-risk access (sandbox, not production). May convert to permanent if role changes.
Pattern 4: Onboarding Overlap
Use case: New role needs old role access temporarily during transition.
Characteristics: Automatically granted during role transitions. Defined overlap period (policy-based). No manual approval needed (pre-approved pattern). Hard expiration (no extension).
Pattern 5: Vendor/Contractor Access
Use case: External person needs temporary access.
Characteristics: Tied to contract. Additional restrictions (IP allowlist, MFA, session limits). High-level approval (CISO). Strict monitoring.
Exception Anti-Patterns
Anti-Pattern 1: Exceptions Without Expiration
Bad:
Problem: This isn’t an exception. It’s a permanent access grant disguised as an exception. It will never be reviewed. It will accumulate. This defeats the purpose.
Fix: All exceptions must have expiration dates. If access is permanent, update the policy.
Anti-Pattern 2: Creating Rulesets for Exceptions
Bad:
Problem: Role explosion. 200 Rulesets within a year.
Fix: Use exceptions with expiration. Don’t create permanent Rulesets for temporary needs.
Anti-Pattern 3: Manual Tracking in Spreadsheets
Bad:
Problem: Spreadsheet isn’t enforced. Sarah’s access doesn’t auto-revoke on 1/6. IT has to remember to manually remove it. This is manual exception management—it doesn’t work.
Fix: Build exception management into the access system. Auto-revoke on expiration.
Anti-Pattern 4: No Approval Required
Bad:
Problem: Exceptions bypass policy for a reason. They need explicit approval to ensure they’re justified.
Fix: Require approval. Even for low-risk access.
Anti-Pattern 5: Extending Exceptions Forever
Bad:
Problem: The exception has become permanent. If it’s permanent, update the policy or create a proper Ruleset.
Fix: Limit extensions (max 2) or require escalating approval for extensions beyond original duration.
Integrating Exceptions with Policy-Based Access
Policy-based access answers: “What should this person have based on their role?”
Exception management answers: “What does this person have that’s outside their role, and why?”
Architecture:
When calculating what someone should have:
When detecting drift:
The separation between policy-based and exception-based access creates clear audit categories. Policy access demonstrates baseline controls; exception access demonstrates controlled deviation with documented justification. This structure satisfies SOC 2 CC6.3 (role-based access) while maintaining the flexibility auditors understand is necessary for business operations.
Exception Metrics and Reporting
Track these metrics:
Exception Volume
How many active exceptions? How many new exceptions per month? Trend: increasing or decreasing? Target: Exceptions should be less than 5% of total access. If higher, policies are too narrow.
Exception Duration
Average duration. Distribution (1 week vs. 12 weeks vs. 6 months). Target: Most exceptions under 30 days. If many exceed 90 days, consider updating policies.
Exception Approval Time
Time from request to approval. Approval rate (% approved vs. denied). Target: Under 24 hours for approval. Over 90% approval rate (if lower, requests aren’t justified or approvers are too strict).
Exception Expiration Compliance
Percentage of exceptions that expire on time. Percentage extended. Percentage manually revoked. Target: Over 95% expire on time. Under 20% extended. Under 5% manually revoked.
Most Common Exceptions
Which resources are requested most often? Which users request exceptions most often? Insight: If the same exception is requested repeatedly, consider adding it to policy.
Example report:
Exception Review Cadence
Monthly: Review active exceptions expiring in next 30 days. Confirm they’re still needed.
Quarterly: Review all exceptions granted in past 90 days. Identify patterns. Update policies where appropriate.
Annually: Audit exception history. Calculate metrics. Identify trends. Present to leadership.
The Bottom Line
Policy-based access is powerful but rigid. Exceptions provide the flexibility organizations need without sacrificing governance.
Good exception management: Explicit justification. Appropriate approval. Defined expiration. Auto-revocation. Clear audit trail. Trackable metrics.
Bad exception management: Manual tracking (spreadsheets). No expiration. Auto-approval. Creating Rulesets for temporary access. Extensions without review.
If 95% of access is policy-based and 5% is exceptions, the organization is in a good place. If 20%+ is exceptions, policies are too narrow or common patterns aren’t being converted to policy.
Exceptions aren’t a failure of policy-based access. They’re a necessary component. Build them properly from day one.