Identity Governance Foundations in Okta

Identity Governance Foundations in Okta

Signing people in is only half the job. Governance answers the harder questions: who should have access, who approved it, who checked it, and how do we prove it to an auditor. A first-principles guide to building that discipline with Okta.

Westbrook Insurance has done everything right on sign-in. Every one of its 6,000 employees uses single sign-on. Multi-factor authentication is mandatory. Phishing-resistant factors protect the administrators. The security team is proud of it, and with good reason.

Then the annual audit arrives. The auditor picks twenty names at random and asks three simple questions about each. Why does this person have access to the claims payment system? Who approved it? When did anyone last check whether they still need it? For eleven of the twenty, nobody can answer. One person moved to marketing two years ago and still approves payments. Another left the company in March, and an account in a rarely used app is still active. Two people hold a combination of permissions that lets them both create a vendor and pay that vendor, which is exactly the situation fraud rules exist to prevent.

Nothing was wrong with the sign-in. The problem was governance: the ongoing discipline of deciding, recording, reviewing, and proving who has access to what. Authentication tells you who someone is. Governance tells you whether they should be allowed to do what they are doing, and keeps telling you, month after month, as people and systems change.

This guide builds the foundations of identity governance from zero, with Okta as the platform. We define the vocabulary, look at how Okta’s governance capabilities fit together, and then work through the foundation layers one at a time: clean data, an application inventory, sensible groups and roles, a reliable joiner-mover-leaver process, entitlements, access requests, access reviews, and separation of duties. After that we cover automation, compliance evidence, security, monitoring, a rollout roadmap, and the mistakes that sink governance programs. You do not need any prior governance experience.

1Why Sign-In Is Not Enough

A company can have perfect authentication and still be badly exposed. The gap between “this really is Maria” and “Maria should have this access” is where governance lives.

Three Questions, Three Disciplines

Access management answers three separate questions. Confusing them is the root of many weak programs.

Question 1

Who are you?

This is authentication. Passwords, factors, and device checks prove that the person at the keyboard is who they claim to be.

Question 2

What may you do right now?

This is authorization. Rules and permissions decide whether a specific action, such as approving a payment, is allowed at this moment.

Question 3

Should you still have this, and can we prove it?

This is governance. It manages how access is granted, reviewed, changed, and removed over time, with a record that stands up to scrutiny.

How Access Rots

Access is not static. It decays in predictable ways, and every one of them is invisible to an authentication system.

  • Privilege creep. People change roles and collect permissions. Nobody removes the old ones, so a long-serving employee ends up with far more access than any single job needs.
  • Orphan accounts. Accounts that belong to nobody active, such as a leaver’s account in an app that was never connected to the central process.
  • Over-provisioning. A new hire is “set up like Dana” and receives everything Dana has, including things Dana needed only for a one-off project.
  • Toxic combinations. Two permissions that are harmless alone but dangerous together, such as creating and approving the same payment.
  • Stale approvals. An approval from three years ago is treated as permanent, though the reason may have ended.
  • Unknown ownership. Nobody can say who is responsible for deciding who gets access to a given app.
Analogy

Think of the keys to a large office building. The front door lock is authentication: it checks the key is genuine. But over ten years, staff have been handed keys to storerooms, server rooms, and the finance office. Some keys were never returned. Some people hold keys they used once. Governance is the habit of keeping a key register, asking each holder “do you still need this?”, and collecting keys that are no longer justified.

i
A note on product details

Okta’s governance capabilities have grown quickly, and names, packaging, and licensing change over time. This guide focuses on lasting concepts and design choices. Confirm exact features, limits, and supported applications in Okta’s current documentation and with your account team before you commit to a design.

2What Identity Governance Is, and Is Not

Identity governance and administration, often shortened to IGA, is a field with its own history and vocabulary. A clear definition keeps projects focused.

A Plain Definition

Identity governance is the set of processes and tools that make sure the right people have the right access to the right resources for the right reasons, and that you can show evidence of this at any time. It combines three activities: deciding who should have access, enforcing that decision by creating and removing accounts and permissions, and verifying over time that the decision is still correct.

The Four Pillars

1

Lifecycle

Accounts and access follow real-world events: a person joins, moves, or leaves. Access appears and disappears automatically in step with those events, not weeks later.

2

Request and approval

When someone needs access beyond their standard set, they ask. The right people approve with the right information, and the grant is recorded, often with an end date.

3

Review and certification

At regular intervals, managers and owners look at who has what and confirm or remove it. The review itself becomes evidence.

4

Policy and risk controls

Rules such as separation of duties stop dangerous combinations before they happen, and reports show where risk is concentrated.

What Governance Is Not

Governance is

  • An ongoing process with owners and a calendar.
  • A way to make access decisions visible and repeatable.
  • A source of audit evidence produced as a by-product of daily work.
  • A partnership between IT, security, HR, and business owners.

Governance is not

  • A one-time cleanup before an audit.
  • A tool you buy and then ignore.
  • Only the IT team’s problem.
  • The same as single sign-on or MFA.
Analogy

Governance is to access what bookkeeping is to money. Spending money is easy. Keeping a trustworthy record of where it went, checking that records match reality, and being able to explain every entry to an outside inspector is the discipline that keeps a business honest. A company with no bookkeeping might be fine today, but it cannot prove it.

Authentication proves who you are. Governance proves you should be there.

3Core Concepts: The Vocabulary of Governance

Governance has a precise vocabulary. Learning these terms once makes everything that follows easier to read and to discuss with auditors.

Access

Entitlement

A specific permission inside an application, such as “approve invoices up to a limit” or “read customer records.” Entitlements are the fine detail below the level of “has an account.”

Access

Role

A named bundle of access that matches a job, such as “Claims Adjuster.” People hold roles and receive the access that comes with them.

Access

Entitlement bundle

A package of related entitlements that can be requested or assigned together, so people do not need to pick permissions one by one.

Access

Birthright access

The access everyone in a given role receives automatically on day one, with no request needed, like email and the company directory.

Process

Access request

A formal ask for access that is not birthright. It records who asked, what for, who approved, and often when the access should end.

Process

Approver

A person or group who decides on a request, usually a manager, an application owner, or both in sequence.

Review

Access certification

A scheduled review in which reviewers confirm or revoke each person’s access. Also called an access review or recertification. A single scheduled run is often called a campaign.

Review

Attestation

A recorded statement by a responsible person that something is true, such as “I confirm these ten people still need this access.”

Risk

Separation of duties

A rule that no single person should control all steps of a sensitive process. Often shortened to SoD.

Risk

Toxic combination

A set of permissions that violates separation of duties when held by one person.

Risk

Least privilege

Giving only the minimum access needed to do a job, for only as long as needed.

Risk

Orphan account

An account in an app that matches no active person, often left behind by leavers or created by hand.

Lifecycle

Joiner, mover, leaver

The three life events that change access. Joiners start, movers change role, leavers depart. Each needs its own handling.

Lifecycle

Provisioning

Creating, updating, and removing accounts and permissions in applications automatically when something changes in the identity system.

People

Owner

The accountable person for an application, role, or group. Governance does not work without named owners.

Proof

Audit evidence

Records that show a control worked: who requested, who approved, what was reviewed, what was removed, and when.

Analogy

Think of a hospital. A role is “Surgical Nurse.” Entitlements are the specific permissions inside it: enter the operating theater, view patient charts, handle controlled medicines. Birthright access is the staff cafeteria card everyone gets. An access request is a nurse asking for temporary access to the pediatric ward. A certification is the ward manager reviewing the badge list every quarter. Separation of duties is the rule that the person who orders controlled medicine cannot also be the one who signs it off.

4The Access Model: How Access Is Organized

Before any tool is configured, decide how access will be organized. The model you choose determines how easy reviews, requests, and audits will be for years.

Three Ways to Decide Who Gets What

ApproachHow it worksStrengthWeakness
Role-based (RBAC)Access is attached to roles that match jobsEasy to explain and to reviewRoles multiply; exceptions pile up
Attribute-based (ABAC)Access depends on facts such as department, location, or projectFlexible and automaticDepends on clean data; harder to read
Request-basedPeople ask, and approvers decideFits unusual and temporary needsSlow if overused; approvers may rubber-stamp

Mature programs use all three, each for what it does best. Standard access for a job is granted by role or attributes, so it appears automatically. Special access is requested, approved, and given an end date. Everything is reviewed on a schedule.

The Layered Model

flowchart TD
    P["Person: attributes from HR"] --> BR["Birthright access: automatic for everyone"]
    P --> RL["Role access: from job, department, location"]
    P --> RQ["Requested access: approved, time-limited"]
    BR --> ACC["Effective access in applications"]
    RL --> ACC
    RQ --> ACC
    ACC --> RV["Periodic review and certification"]
    RV -->|"Revoke"| ACC
    
Figure 1. Effective access is the sum of three layers, and a review process trims it over time.

Groups, Roles, and Entitlements in Okta

In Okta, the most common building block is the group: a collection of users to which apps and policies can be assigned. Governance thinking adds two finer layers. A role is a business-level idea that usually maps to one or more groups. An entitlement is a permission inside an application. For apps that support it, Okta can manage entitlements and bundle them, so that a request can say “I need the Claims Adjuster bundle” rather than a list of twelve individual permissions. The mapping looks like this.

LayerExampleWho owns itReviewed how
Business roleClaims AdjusterHead of ClaimsYearly role review
Okta grouprole-claims-adjusterIdentity team with role ownerMembership rules checked quarterly
App assignmentClaims system assigned to the groupApplication ownerPart of access campaign
Entitlement bundleClaims: adjust and pay up to a limitApplication ownerReviewed per person in campaigns
Entitlement“Approve payment” permissionApplication owner and risk teamChecked against separation of duties
Analogy

A restaurant has job titles such as chef, waiter, and cashier. Each title comes with standard tools: knives, order pads, till keys. A waiter who covers the bar for a week asks the manager for the cellar key, which is a request with an end date. The manager walks through the key register each month to see who still holds what. Roles, requests, and reviews are all present, and each handles a different kind of need.

5Okta’s Governance Landscape

Okta provides governance through a set of connected capabilities. Knowing what each does, and where its boundary lies, prevents both gaps and overlaps.

The Main Capabilities

Core

Universal Directory and groups

The identity data store. Holds people, attributes, and group membership that all governance decisions depend on.

Core

Lifecycle Management

Automates joiner, mover, and leaver events, and provisions accounts into connected apps. The engine that keeps access in step with HR.

Governance

Access requests

Lets people ask for apps and entitlements, routes requests to approvers, and records decisions. Often reachable from chat tools, where supported.

Governance

Access certifications

Runs review campaigns in which reviewers confirm or revoke access, and can act on the results automatically.

Governance

Entitlement management

Models fine-grained permissions in supported apps, and groups them into bundles for assignment, request, and review.

Governance

Separation of duties

Defines conflicting permissions and checks requests and assignments against them, where the capability is available in your plan.

Automation

Workflows

A no-code automation tool that connects events to actions: notify, create tickets, update attributes, escalate, or clean up.

Evidence

System Log and reports

The record of changes and decisions. Together with governance reports, it forms the audit trail.

Adjacent

Privileged access and posture tools

Okta also offers products for privileged account access and for assessing identity security posture. Check how they link with your governance design.

The Big Picture

flowchart LR
    HR["HR system: source of truth"] --> UD["Universal Directory"]
    UD --> LCM["Lifecycle Management"]
    LCM --> APPS["Connected applications"]
    REQ["Access requests"] --> APPR["Approvers"]
    APPR --> LCM
    CERT["Access certification campaigns"] --> REV["Reviewers"]
    REV -->|"Revoke"| LCM
    SOD["Separation of duties rules"] --> REQ
    SOD --> CERT
    WF["Workflows"] --> REQ
    WF --> CERT
    LCM --> LOG["System Log and reports"]
    REQ --> LOG
    CERT --> LOG
    
Figure 2. Governance capabilities share one engine: changes flow through lifecycle management and are recorded in the log.

Where Okta Ends

No platform governs everything. Okta governs the identities and the applications connected to it. Permissions that live outside connected apps, such as local accounts on servers, database roles, or cloud platform permissions, may need other tools or may need integration work to be visible. Part of a good governance foundation is an honest list of what is inside the scope and what is not.

!
Scope trap

A clean governance report on connected apps can create false comfort if your riskiest systems are not connected. Always list important systems that sit outside the platform and decide how they will be covered.

Analogy

A building’s key register covers only the keys it knows about. If the finance office has its own lock and its own spare keys, the register looks complete and is not. The first job is to find every door, even the ones the register has never heard of.

6Architecture and Data Flow

Governance is only as good as the data flowing into it. This chapter traces where facts come from, how decisions are made, and where results go.

Four Kinds of Data

Kind of dataExampleSourceIf it is wrong
People dataName, manager, department, employment status, end dateHR system and directoriesWrong people get access, or leavers keep it
Application dataWhich apps exist, their owners, and sensitivityApplication inventoryReviews miss risky apps
Access dataWhich accounts and entitlements exist in each appProvisioning connections and importsReviewers see an incomplete picture
Decision dataRequests, approvals, review decisions, exceptionsGovernance engineAudit evidence is missing or untrustworthy

From Event to Evidence

flowchart TD
    E1["Event: new hire recorded in HR"] --> S1["Okta creates identity and sets attributes"]
    S1 --> S2["Rules assign groups and birthright apps"]
    S2 --> S3["Lifecycle provisions accounts in apps"]
    S3 --> S4["Person asks for extra access"]
    S4 --> S5["Approvers decide, SoD check runs"]
    S5 --> S6["Access granted with end date"]
    S6 --> S7["Campaign asks reviewer to confirm"]
    S7 --> S8["Reviewer confirms or revokes"]
    S8 --> EV["Evidence stored: who, what, when, why"]
    
Figure 3. A single event starts a chain of steps. Each step produces a record that becomes audit evidence.

The Principle of One Source Per Fact

Every fact should have exactly one authoritative source. A person’s employment status comes from HR. A person’s department comes from HR. An application’s owner comes from the application inventory. Permissions inside an app come from the app itself, read through connections. When two systems both claim to own a fact, they fight, and governance decisions flip randomly. Decide the source for each fact early, write it down, and make every other system a reader of that source.

Reading Access: The Hard Part

Granting access is easy compared to seeing it. To review who has what, the governance system must read the real state of each application, not just what it last pushed. Okta’s connections can import accounts and, for supported apps, entitlements. For apps without a good connection, the data may arrive through files, scripts, or manual exports. The quality of your reviews is limited by the quality of this reading. A review of stale data is a ceremony, not a control.

Analogy

An auditor reviewing a warehouse can count the stock on the shelves, or can read the stock list in the computer. If the two never get compared, the list can say 500 boxes while the shelves hold 300. Reading real access from applications is the shelf count. Governance without it is reading the list and hoping.

i
Tip

Schedule a regular reconciliation: compare accounts found in each important application with active people in Okta. Every difference is either an orphan account, a missing connection, or a data bug, and each is worth knowing about.

7Foundation 1: Trustworthy People Data

Every governance decision starts with a fact about a person. If those facts are wrong, the best tooling in the world produces confident mistakes.

Why Data Quality Comes First

Group rules, role assignment, approvers, and review assignments all read profile attributes. If the manager field is empty, requests have no approver and reviews have no reviewer. If the department field has five spellings of “Finance,” a rule that grants finance access misses most of the team. If employment status is wrong, leavers stay active. Teams often rush to buy governance tools and then spend months discovering that their data was never good enough to use. Fixing data first is not glamorous, but it is the highest-value work in the whole program.

The Attributes That Matter Most

AttributeWhy governance needs itTypical problem
Stable person IDLinks accounts across systems and survives name or email changesMatching by email breaks when names change
Employment status and datesTriggers joiner and leaver events, including future-dated starts and endsLeavers recorded late; contractors have no end date
ManagerDefault approver and reviewer for requests and reviewsMissing or pointing to someone who left
Department and job codeDrives role and birthright accessFree text with many spellings
Location and legal entityControls regional access and legal restrictionsOut of date after transfers
Worker typeSeparates employee, contractor, partner, and guest rulesAll treated as employees
Cost center or projectAllows project-based access and cost ownershipNot recorded at all

Making HR the Source

For employees, the HR system is the natural source of truth. Okta can import people from HR systems and keep them in step, so that a hire, a transfer, or a termination in HR becomes an event in Okta within minutes. For contractors and partners, which HR often does not hold, you need another authoritative source, such as a vendor management system or a sponsor-driven process in which a named employee vouches for the person and sets an end date. Without such a source, contractors become the largest group of accounts that nobody owns.

1

Profile the data

Count blanks, duplicates, and spelling variants in the key attributes. A simple spreadsheet shows how bad things are.

2

Fix at the source

Correct values in HR, not in Okta. Add required fields and drop-down lists so new errors stop appearing.

3

Define the master for each attribute

Write down which system owns each attribute and make Okta a reader, not an editor, of those values.

4

Add quality checks

Run a weekly report that lists people with missing managers, missing end dates for contractors, or unusual values.

Analogy

A school cannot run a fair exam if the class list has the wrong names, the wrong classes, and students who left last year. Before you build the timetable and the seating plan, you clean the class list. People data is the class list of governance.

Production example: the manager field that held up everything

A mid-size company launched its first access review and discovered that 18 percent of staff had no manager recorded, and another 6 percent pointed to someone who had left. Reviews could not be routed. The company paused the campaign, spent three weeks correcting the HR data, added a weekly data-quality report, and then relaunched. The delay was annoying, and it prevented a review that would have been meaningless.

8Foundation 2: Know and Classify Your Applications

You cannot govern what you have not listed. An application inventory with owners and risk levels decides where reviews should be frequent, and where they can be light.

Build the Inventory

Start with what is already connected to Okta, then widen. Sources of unknown applications include finance records of software purchases, network logs showing sign-in pages, browser extension reports, and simply asking departments. For each app, record the following.

Record

Business owner

The person who decides who should have access. This is a business role, not an IT role.

Record

Technical owner

The person who knows how the app is connected and how to fix it.

Record

Sensitivity tier

How harmful would misuse be? Financial, personal, health, and source code data usually rank high.

Record

Connection status

Single sign-on only, with provisioning, with entitlement data, or not connected at all.

Record

Compliance scope

Whether the app falls under financial reporting, privacy law, health rules, or payment card standards.

Record

Review frequency

How often access should be certified, based on tier.

Tiering

TierExamplesReview frequencyApproval for access
Tier 1: CriticalPayments, core banking, production infrastructure, admin consolesQuarterly or more often, plus event-driven reviewsManager and application owner, with SoD checks, time-limited where possible
Tier 2: SensitiveHR data, customer records, source codeTwice a yearManager approval, owner for special permissions
Tier 3: StandardProject tools, internal wikisYearlyManager approval or self-service
Tier 4: Low riskPublic information tools, cafeteria menusLight or noneBirthright

Why Tiering Saves Effort

A company with two hundred applications cannot review them all with the same intensity. Tiering lets you spend attention where risk lives. Reviewers face fewer, more meaningful decisions, and quality improves. Without tiering, reviewers drown in requests to approve access to low-risk tools, and begin to approve everything automatically, including the dangerous items.

flowchart TD
    A["Application found"] --> B{"Handles financial, personal, health or admin data?"}
    B -->|"Yes, critical"| T1["Tier 1: frequent review, strict approval"]
    B -->|"Yes, sensitive"| T2["Tier 2: twice a year, owner approval"]
    B -->|"No"| C{"Used by many people for ordinary work?"}
    C -->|"Yes"| T3["Tier 3: yearly review"]
    C -->|"No, low risk"| T4["Tier 4: birthright, light review"]
    
Figure 4. A simple decision path puts every application into a tier, which sets how closely it is governed.
Analogy

A hospital guards the pharmacy with locks and logs, the supply cupboard with a simple key, and the waiting room with nothing at all. It would be silly to log every visitor to the waiting room, and dangerous to leave the pharmacy open. Tiering is deciding which rooms deserve which level of protection.

9Foundation 3: Groups and Role Design

Groups and roles are the building blocks that turn people data into access. Careful design here makes everything else easier. Careless design makes everything harder.

Principles for Good Groups

  • One purpose per group. A group should mean one thing, such as “Finance analysts” or “Payroll app users,” not a mix of both.
  • Name with a pattern. A prefix that says what the group is for, such as role, app, or policy, makes reviews and searches far easier.
  • Every group has an owner and a purpose line. The description answers “why does this group exist?”
  • Prefer rule-based membership. Let attributes from HR drive membership, so people move in and out automatically. Hand-made membership should be rare and reviewed.
  • Avoid nesting that confuses. Deep chains of group-inside-group make it hard to see why someone has access.
  • Separate role groups from policy groups. A group that means “Finance staff” should not also be used as a security exception list.

Role Design: Top-Down and Bottom-Up

Top-down role design

  • Start from business functions and job descriptions.
  • Interview owners to define what each job needs.
  • Produces clean, intentional roles.
  • Can miss real-world access that people actually use.

Bottom-up role mining

  • Analyze existing access to find common patterns.
  • Reveals what people really have today.
  • Fast way to get a first draft of roles.
  • Risk of copying today’s over-privilege into tomorrow’s roles.

The best approach combines both. Mine the existing data to see what exists, then review the draft roles with owners, remove access that is not justified, and fix the final design top-down. Treat mined results as evidence, not as truth.

How Many Roles Are Too Many?

Role explosion is a common failure. If every small difference becomes a new role, a company with 3,000 people ends up with 2,500 roles, which is close to one role per person and defeats the point. A useful rule is to start with a small number of broad roles, plus well-defined add-on bundles for common extra needs, and use requests for the rare cases. If you have more roles than managers can name, the model is too fine.

PatternExampleWhen to use
Base roleClaims AdjusterEveryone with that job gets this
Add-on bundleClaims: high-value approvalsCommon extra access for a subset
Location bundleClaims: Texas office toolsAccess that depends on place
Project accessFraud task force 2026Temporary, with an end date
Exception requestOne-off access to a reportRare, approved, time-limited
flowchart LR
    ATTR["HR attributes: department, job code, location"] --> RULE["Group rules"]
    RULE --> RG["Role group: Claims Adjuster"]
    RG --> BUN["Entitlement bundle: standard claims access"]
    RG --> APP["App assignments: claims system, email, intranet"]
    EXTRA["Approved request"] --> ADD["Add-on bundle with end date"]
    ADD --> PERSON["Person's effective access"]
    BUN --> PERSON
    APP --> PERSON
    
Figure 5. Attributes drive role groups, which carry bundles and app assignments. Approved requests add time-limited extras.
Analogy

A clothing shop has a few standard sizes, plus a small number of special orders. If it tried to stock a unique garment for every customer, the shelves would overflow and nobody could find anything. Roles are standard sizes. Requests are special orders. Both are needed, in the right proportion.

PITFALL Common
What it looks like

A new role is created by copying a senior employee’s access, which includes permissions granted years ago for a project that ended.

Why it hurts

Every new person in that role receives the old, unneeded access. Over-privilege is now automated.

Better approach

Design roles from job needs, not from a single person’s access. Review each entitlement in a role with the application owner.

10Foundation 4: Joiner, Mover, Leaver

Most governance failures begin with a life event that did not reach every system. A reliable joiner-mover-leaver process is the single most valuable control you can build.

Joiners: Day-One Readiness

The goal for joiners is simple: on the first morning, the new person has exactly the access their role needs, no more and no less. The process starts before the start date. HR records the hire with a start date, manager, department, and worker type. At the right moment, Okta creates the identity, rules assign role groups, and lifecycle management provisions accounts. The new hire receives activation instructions, enrolls in strong factors, and opens their apps. Anything beyond standard access is requested through the normal process, not copied from a colleague.

Movers: The Forgotten Case

Movers are the most dangerous group, because adding access for the new role is easy and removing access from the old one is easily forgotten. A good mover process treats the move as two events: remove access tied to the old role, and add access tied to the new one. Role-based groups make this natural, because a change in department attribute changes group membership, which removes old apps and assigns new ones. Requested access, however, does not disappear automatically. A good practice is to trigger a review of all requested and exception access whenever a person’s department or manager changes.

Leavers: Speed and Completeness

For leavers, two things matter: how fast access is removed, and whether it is removed everywhere. Deactivating the Okta account stops sign-in through Okta, but accounts in apps that keep their own passwords, API keys, and long sessions may live on. A complete leaver process also deprovisions accounts in connected apps, revokes tokens, ends sessions, reassigns or archives owned resources such as files and mailboxes, and removes the person from approval chains and reviewer lists.

J

Joiner flow

HR record, identity created, role groups assigned, apps provisioned, welcome message sent, factors enrolled, manager confirms additional needs. Target: ready on day one.

M

Mover flow

HR change, attributes updated, role groups recalculated, old role access removed, new role access added, requested access flagged for review, manager notified. Target: within a day.

L

Leaver flow

HR termination, immediate suspension for high-risk cases or at the end date for planned leavers, sessions and tokens revoked, accounts deprovisioned, assets reassigned, approver duties reassigned. Target: minutes for sign-in, hours for apps.

flowchart TD
    HR["HR event"] --> T{"Type of event"}
    T -->|"Hire"| J1["Create identity and assign role groups"]
    J1 --> J2["Provision birthright apps"]
    T -->|"Transfer"| M1["Recalculate role groups"]
    M1 --> M2["Remove old role access"]
    M2 --> M3["Flag requested access for review"]
    T -->|"Termination"| L1["Suspend and revoke sessions and tokens"]
    L1 --> L2["Deprovision apps"]
    L2 --> L3["Reassign owned items and approver duties"]
    J2 --> LOG["Record in System Log"]
    M3 --> LOG
    L3 --> LOG
    
Figure 6. Each type of HR event follows its own path, and all three end in a log entry.

Measuring the Process

MeasureQuestion it answersGood target
Time from HR leaver event to Okta suspensionHow fast is sign-in cut off?Minutes
Time from leaver event to last app account disabledHow complete is removal?Hours, not days
Share of new hires fully ready on day oneIs onboarding smooth?Above 90 percent
Movers with old access removed within a weekIs privilege creep controlled?Near 100 percent
Orphan accounts found in reconciliationWhere are the gaps?Falling to near zero
Analogy

A hotel handles check-in, room changes, and check-out. Check-in gives the guest a key card for their room. A room change must cancel the old key, or the guest could enter two rooms. Check-out must cancel the card, clear the minibar tab, and collect the towel. Most hotel problems come from room changes and check-outs, not check-ins, just as most access problems come from movers and leavers.

Production example: the leaver with a long app session

A company disabled a departing finance analyst in the morning. The analyst’s Okta account was off, but a reporting tool kept its own session for seven days, and the analyst exported a customer list from home on day three. The company then shortened the tool’s session, connected it to receive deprovisioning signals, and added “end app sessions” as an explicit step in the leaver process.

11Entitlements: Governing Below the App Level

Knowing that someone has an account in the payments system is useful. Knowing exactly what they can do inside it is what governance really needs.

The Problem With “Has Access”

Most early governance work treats access as on or off: you either have the app or you do not. But the real risk is inside. Two people with accounts in the same payments app may have very different power: one can only view reports, the other can release payments. A review that shows “both have access to Payments” tells the reviewer almost nothing. Entitlement-level governance shows “view reports” for one and “release payments, up to a high limit” for the other.

How Entitlements Appear

Form

Roles inside the app

The app has its own roles, such as Viewer, Editor, Approver, and Administrator.

Form

Permission sets

Named groups of rights, such as “Manage vendors” or “Run payroll.”

Form

Licenses and seats

Paid tiers of a product, which are also a cost entitlement.

Form

Data scopes

Limits on which records, regions, or business units a person can see.

Bundling for Humans

Raw entitlements are written for systems, not people, and their names are often cryptic: “AP_RLS_04” means little to a manager. Governance platforms let you give entitlements plain names and descriptions, and group them into bundles that match business needs, such as “Accounts payable clerk” or “Accounts payable approver up to 10,000.” Good descriptions are not decoration. They are what lets a reviewer decide correctly. A reviewer who does not understand an entitlement will approve it, because denying something you cannot explain feels riskier than approving it.

Raw name in the appPlain nameDescription for reviewersRisk
AP_RLS_04Release payments up to 10,000Can release vendor payments below 10,000. Cannot create vendors.High
AP_VND_01Create and edit vendorsCan add vendors and change bank details. Cannot release payments.High
AP_RPT_01View payment reportsRead-only access to payment summaries.Low

Notice that the first two rows together form a classic toxic combination. A person who can create a vendor and release payments to that vendor holds the power to commit fraud alone. Plain names and risk labels make this visible to reviewers, and separation of duties rules can block it automatically.

Coverage Is Uneven

Okta supports entitlement data for a growing list of applications, but not every app exposes permissions in a way a platform can read. For unsupported apps you can still govern at the account level, and bring in entitlement data through files, scripts, or custom connections for the most critical ones. Prioritize by risk: the apps where entitlements matter most are usually financial, administrative, and customer-data systems.

Analogy

Knowing that a staff member has a key card is like knowing someone works at the bank. Knowing the card opens the vault is a very different fact. Entitlement-level governance is knowing exactly which doors each card opens, in language the manager understands.

i
Tip

Start entitlement work with your three most sensitive applications. Write plain names and descriptions with the application owner, label risk, and only then include them in reviews. Quality beats quantity.

12Access Requests: Designing the Front Door for Extra Access

Not all access can be automatic. When a person needs something beyond their standard set, a good request process is fast for the requester, clear for the approver, and rich in evidence for the auditor.

What a Good Request Contains

  • What: the specific app, role, or entitlement bundle, in plain language.
  • Why: a business reason in the requester’s own words. A free-text field with a sensible minimum prevents “need it.”
  • How long: a duration or end date for anything that is not permanent by nature.
  • Who approves: determined automatically from the manager, the app owner, and the risk level.
  • What it conflicts with: a check against separation of duties rules before approvers see it.

Approval Design

Request riskApproval chainTypical expiryExtra controls
Low (Tier 3 or 4 apps)Auto-approve or manager onlyPermanent, reviewed yearlyNone
Medium (Tier 2 apps)Manager, then app owner12 monthsReason required
High (Tier 1 apps, powerful entitlements)Manager, app owner, and risk or security30 to 90 days, renewableSoD check, MFA step-up, extra logging
EmergencyFast single approver, with after-the-fact reviewHours to daysAlert to security, mandatory follow-up review

Where Requests Live

People ask for access where they already work. Okta lets users request access from their dashboard, and, where supported, from chat tools such as Slack or Microsoft Teams, where approvers can also respond. Making approval easy matters: if approving takes six clicks in an unfamiliar portal, approvers delay, requesters complain, and people look for shortcuts like sharing accounts.

The Rubber-Stamp Risk

Approvers see dozens of requests. If every request looks identical and carries no context, they approve all of them. To avoid it, show approvers helpful information: the requester’s role and team, what access they already have, how common this request is for their peers, the risk label, and any conflict warnings. Reduce volume by moving common requests into birthright or role bundles. An approver who sees five requests a week with good context will think. One who sees fifty with none will not.

flowchart TD
    R["Requester asks for access with reason and duration"] --> C["System checks risk level and SoD conflicts"]
    C -->|"Conflict found"| BLK["Blocked or sent to exception process"]
    C -->|"Low risk"| AUTO["Auto-approve"]
    C -->|"Needs approval"| M["Manager approves"]
    M --> O["Application owner approves if required"]
    O --> S["Security approves for high risk"]
    AUTO --> G["Access granted by lifecycle engine"]
    S --> G
    G --> E["End date set and request recorded"]
    E --> X["Access removed automatically at expiry"]
    
Figure 7. A well-designed request flow checks risk first, approves in proportion to risk, and ends access automatically.
Analogy

A library lets you borrow ordinary books at the desk without any questions, asks for a form and a librarian’s signature for rare manuscripts, and requires a special reading room and a supervisor for the most fragile items. Every loan has a return date. The more precious the item, the more checks apply. A request process should treat access with the same sense of proportion.

PITFALL Common
What it looks like

Requests have no end date. After three years, hundreds of “temporary” grants are still active.

Why it hurts

Temporary access becomes permanent by neglect, and reviewers cannot tell which grants were meant to be short.

Better approach

Make an end date the default for anything above low risk, and require an active renewal.

13Access Certifications: Reviews That Actually Review

Reviews are the heart of governance, and the most commonly wasted effort. A review that nobody reads carefully produces paperwork and no safety. This chapter is about making reviews meaningful.

What a Campaign Is

An access certification campaign is a time-boxed review. It selects a scope of access, assigns reviewers, gives them a deadline, asks them to confirm or revoke each item, and records every decision. When it closes, the revoked items are removed, and the whole campaign is stored as evidence.

The Design Choices

Scope

What is under review

All users of one app, all access held by a department, all holders of a risky entitlement, or all privileged accounts. Narrow scopes get better answers than giant ones.

Reviewer

Who decides

Managers know their people. Application owners know their app. Use managers for “does this person need it?” and owners for “is this permission sensible at all?”

Frequency

How often

Set by tier: more often for critical apps, less often for low-risk ones, plus event-driven reviews when someone moves.

Deadline

How long to respond

Long enough to be fair, short enough to matter. Two to three weeks is common, with reminders and escalation.

Default

What if nobody answers

Choose in advance: leave access in place, or revoke. Revoke-by-default drives responses but can disrupt work, so use it for high-risk access.

Action

What happens to revoked items

Automatic removal through lifecycle management is better than a ticket to a human, because tickets get lost.

Making Reviews Better

  • Show context. For each item, show the person’s role, how long they have had the access, when they last used it if the app reports that, and what peers in the same role hold.
  • Highlight outliers. Access that most peers do not have deserves a closer look. Put it at the top.
  • Reduce volume. Remove low-risk items from review, and split the rest into manageable lists of a few dozen items per reviewer.
  • Use plain language. Entitlement descriptions should be understood by the reviewer.
  • Remind and escalate. Reminders at the start, middle, and end. Escalate overdue items to the reviewer’s manager.
  • Measure quality, not just completion. A 100 percent completion rate with zero revocations should raise questions, not applause.

The Campaign Lifecycle

flowchart LR
    D["Design: scope, reviewers, schedule"] --> L["Launch and notify reviewers"]
    L --> R["Reviewers confirm or revoke"]
    R --> RM["Reminders and escalations"]
    RM --> R
    R --> C["Close campaign at deadline"]
    C --> A["Apply revocations through lifecycle engine"]
    A --> V["Verify removal"]
    V --> E["Store report as audit evidence"]
    E --> I["Improve next campaign"]
    
Figure 8. A campaign has a full lifecycle, from design to improvement. Verification of removal is often skipped, and should not be.

Event-Driven and Risk-Based Reviews

Calendar reviews alone are blunt. Smart programs add reviews triggered by events: a person changes department, a person is granted a very powerful entitlement, a person’s manager changes, or a security alert involves the account. They also concentrate effort by risk, reviewing high-risk access monthly or quarterly and low-risk access yearly. This puts attention where it matters and keeps reviewers from tiring.

Analogy

A ship’s captain does not inspect every nail every day. The engine room is checked every shift, the cargo hold every week, and the guest cabins once a month. Extra inspections happen after a storm. Review frequency and depth should follow risk and events in the same way.

!
Warning

Beware of rubber-stamping. If reviewers can approve everything with one click and nothing happens when they are wrong, they will. Make the item list short, the context rich, and the consequences real, and track the revocation rate over time.

14Separation of Duties

Some risks cannot be solved by reviewing access alone. They require rules that prevent one person from holding dangerous combinations in the first place.

The Idea

Separation of duties says that sensitive processes should be split among several people so that no single person can complete the whole thing alone, whether by mistake or by fraud. A familiar example: the person who writes a cheque should not be the person who signs it. Financial regulations such as those that apply to public companies expect such controls, and auditors test them directly.

Typical Conflicts

ConflictWhy it is dangerousWhere it appears
Create vendor and release paymentOne person can invent a vendor and pay itAccounts payable systems
Create user and approve accessA person can grant themselves or an accomplice accessIdentity and admin consoles
Develop code and deploy to productionUnreviewed changes reach live systemsSource control and release tools
Enter journal entries and approve themFinancial records can be altered uncheckedGeneral ledger systems
Request access and approve own requestDefeats the whole approval processGovernance tools themselves
Administer system and audit its logsEvidence can be changed by the person it concernsLogging and security tools

Preventive and Detective Controls

Preventive

  • Check the rule when access is requested or assigned.
  • Block the request, or send it to an exception process.
  • Stops the problem before it exists.
  • Needs clear, well-maintained rule definitions.

Detective

  • Scan existing access for violations.
  • Flag people who already hold conflicts.
  • Finds legacy problems from before the rules.
  • Problem exists until someone fixes it.

You need both. Preventive rules stop new conflicts. Detective scans find old ones, and also catch conflicts that arise through paths the preventive check cannot see, such as access granted directly inside an application.

Handling Exceptions

Sometimes a conflict is unavoidable, especially in small teams where one person must cover several duties. The answer is a documented exception with compensating controls: an owner accepts the risk in writing, the access is time-limited, and extra monitoring or a second reviewer checks the person’s activity. Exceptions should be rare, visible, and reviewed often.

flowchart TD
    REQ["Access request or assignment"] --> CHK{"Conflicts with an SoD rule?"}
    CHK -->|"No"| OK["Continue normal approval"]
    CHK -->|"Yes"| EXC{"Exception allowed?"}
    EXC -->|"No"| DENY["Deny and explain why"]
    EXC -->|"Yes"| ACC["Risk owner accepts in writing with compensating controls"]
    ACC --> TL["Grant with end date and extra monitoring"]
    TL --> REVIEW["Review exception at each campaign"]
    
Figure 9. Conflicts are blocked by default. Exceptions need a risk owner, controls, and an end date.
Analogy

A bank vault needs two keys held by two different people, so no single person can open it alone. The rule is not an insult to either person. It is a design that works even if one of them is careless, pressured, or dishonest. Separation of duties builds that same two-key design into access.

i
Tip

Begin with five to ten conflict rules for your most sensitive process, usually payments. Prove the approach on that process, then widen. A small, reliable rule set is far better than a large one nobody trusts.

15Governing Privileged and Administrator Access

Administrators hold the keys to everything else. If governance is weak anywhere, it must not be weak here.

Why Privileged Access Is Special

A normal user can damage a small piece of the business. An administrator can change policies, create accounts, read data, and erase evidence. Attackers know this and target administrators first. Auditors know it too, and almost always ask for a list of every administrator and proof that each is justified.

The Governance Pattern for Admins

1

Know every administrator

List administrators in Okta and in each critical app. Include people who hold powerful roles indirectly, such as through group membership or API tokens.

2

Use narrow roles

Replace broad roles with scoped ones. Okta supports custom administrator roles and resource sets so that an admin can manage only certain groups or apps.

3

Make elevation temporary

Where possible, give admin rights only for the time a task needs, with approval and automatic expiry, instead of permanent standing power.

4

Separate admin identities

Administrators use a dedicated account for admin work, protected with the strongest factors, and a normal account for email and browsing.

5

Review more often

Certify administrators monthly or quarterly, with the application owner and the security team as reviewers.

6

Watch their actions

Send admin events to a monitoring tool and alert on role changes, policy edits, new tokens, and break-glass use.

ModelHow it worksRiskGovernance fit
Standing adminAdmin rights always onAlways exposed if account is stolenWeak; needs frequent review
Time-limited elevationRights granted on request for hours or daysExposure only during windowStrong; request and approval give evidence
Just-in-time with session recordingShort sessions, often recorded, via a privileged access toolLowestStrongest; best for servers and databases
Analogy

In a museum, the curator does not carry the key to the diamond case all day. A guard checks it out of a safe when a cleaning is scheduled, signs a log, and returns it afterward. Standing admin rights are a key worn around the neck. Time-limited elevation is the key in the safe.

Production example: shrinking the admin list

A company running its first admin review found 23 people with some kind of administrator role in Okta, 9 of them with super administrator. After interviews with each person, 7 roles were no longer needed, 11 were replaced by narrow custom roles, and super administrators dropped to 3, each with a dedicated account and phishing-resistant factors. The audit finding on privileged access was closed.

16Governing Non-Human Identities

People are not the only ones with access. Service accounts, API tokens, and connected applications hold power too, and they are the part of governance most often forgotten.

The Non-Human Crowd

Type

Service accounts

Accounts used by software, such as a backup job or an integration, to log in to another system.

Type

API tokens and keys

Long secret strings that grant access to APIs. Some act with the permissions of the person who created them.

Type

OAuth clients and integrations

Applications registered to receive tokens from the identity system, with scopes that define what they can do.

Type

Shared and generic accounts

Accounts used by several people, such as a team mailbox login. They break accountability.

Why They Escape Governance

Non-human identities usually have no manager, no HR record, and no leaver event. Their passwords never expire, because rotating them might break something. Their owners change jobs and nobody notices. They often hold high privileges because it was easier to give too much than to work out the minimum. In many breaches, the stolen credential was not a person’s password but a forgotten service account or token.

Bringing Order

  • Register every one. Name, purpose, system, owner, backup owner, creation date, and expiry or review date.
  • Assign a human owner. A real person is accountable. When the owner leaves, the leaver process reassigns ownership before the account is orphaned.
  • Apply least privilege. Narrow scopes and roles, reviewed with the owner.
  • Rotate secrets. Store them in a vault and replace them on a schedule. Prefer short-lived tokens over permanent ones.
  • Review them like people. Include non-human identities in certification campaigns, with the owner as reviewer.
  • Ban sharing. Where a team needs shared access, use named accounts or a privileged access tool that records who used it.
  • Watch usage. Alert when a service account signs in from an unexpected place or at an unusual time.
flowchart LR
    NH["Non-human identity: token, service account, OAuth client"] --> REG["Register: purpose, owner, scope, review date"]
    REG --> LP["Apply least privilege"]
    LP --> V["Store secret in vault and rotate"]
    V --> CERT["Include in review campaigns with owner as reviewer"]
    CERT --> MON["Monitor usage and alert on anomalies"]
    OWN["Owner leaves"] --> RE["Reassign owner before offboarding completes"]
    RE --> REG
    
Figure 10. Non-human identities need the same life cycle as people: register, limit, rotate, review, watch.
Analogy

Think of the spare keys hidden around a house: one under the mat, one with a neighbor, one in the garage. Nobody remembers all of them, and nobody checks whether the neighbor still lives there. Service accounts and tokens are the spare keys of your digital estate, and a list of them with named holders is the first step to getting them back under control.

17Contractors, Partners and Guests

People who are not employees often have as much access as employees, with far less oversight. They deserve their own rules.

Why External Workers Are Different

Contractors, consultants, partner staff, and auditors are not in the HR system, so no leaver event fires when their work ends. They may use their own devices. They change employers without telling you. Yet they often work on the most sensitive projects, because that is why they were hired. In many organizations, external workers are the largest source of stale accounts.

The Sponsor Model

The most reliable control is the sponsor model. Every external person has a named employee sponsor who vouches for them and is responsible for their access. The sponsor sets an end date at the start, which cannot be left blank. As the end date approaches, the sponsor must either renew with a reason or let the account expire. When the sponsor leaves, the leaver process transfers the sponsorship or ends the accounts.

ControlEmployeeContractor or partner
Source of truthHR systemVendor system or sponsor process
End dateOptional, on leavingMandatory at creation
Access defaultsRole-based birthrightMinimal, project-specific
Device requirementsManaged devices preferredStricter checks if unmanaged
Review frequencyPer tierMore frequent, with sponsor as reviewer
Session lengthStandardShorter

Practical Steps

1

Distinct worker type

Give contractors and partners their own worker type attribute so rules and reports can single them out.

2

Mandatory end date and sponsor

No account without both. Use a workflow to enforce this when the account is created.

3

Automatic expiry

At the end date, accounts suspend automatically, and a message goes to the sponsor.

4

Frequent sponsor reviews

Every quarter, sponsors confirm that each external person still works for them.

Analogy

A visitor to an office building signs in at reception, names the employee they are visiting, and receives a badge that expires at the end of the day. The host is responsible for them. Nobody gives a visitor a permanent badge and forgets about it. A sponsor and an end date apply the same sensible rule to digital visitors.

!
Warning

Do not let contractors keep an employee-style account “because it is easier.” Easy accounts without end dates are exactly what attackers hope to find three years later.

18Internal Working: How Requests and Campaigns Run

Let us watch two governance processes from the inside: an access request and a review campaign. Seeing the steps clarifies where delays, errors, and evidence come from.

An Access Request, Step by Step

Ravi, a junior accountant, needs read access to the quarterly payments report for a three-month audit project.

sequenceDiagram
    participant R as Ravi
    participant G as Governance engine
    participant S as SoD checker
    participant M as Manager
    participant O as App owner
    participant L as Lifecycle engine
    participant A as Payments app
    R->>G: Request report access with reason and 3 months
    G->>S: Check conflicts with Ravi current access
    S-->>G: No conflict found
    G->>M: Ask for approval with context
    M-->>G: Approve
    G->>O: Ask for approval as Tier 1 app
    O-->>G: Approve
    G->>L: Grant bundle with end date
    L->>A: Create entitlement for Ravi
    A-->>L: Confirmed
    L-->>G: Grant recorded
    G-->>R: Notify access is active
    G->>G: Schedule automatic removal in 3 months
    
Figure 11. An access request passes a conflict check, two approvals, and a grant, with an expiry scheduled from the start.

Notice the points where things can go wrong. The conflict check depends on correct data about Ravi’s current access. The approvals depend on correct manager and owner data. The grant depends on a working connection to the payments app. The expiry depends on the engine remembering. Each is a place to monitor.

A Campaign, Step by Step

sequenceDiagram
    participant C as Campaign owner
    participant G as Governance engine
    participant D as Access data
    participant V as Reviewer
    participant L as Lifecycle engine
    participant E as Evidence store
    C->>G: Define scope, reviewers, deadline
    G->>D: Read current access from apps and directory
    D-->>G: Access list with entitlements
    G->>V: Send items with context
    V-->>G: Confirm some, revoke others
    G->>G: Remind and escalate overdue items
    G->>L: Send approved revocations
    L->>D: Remove access in apps
    D-->>G: Confirm removal
    G->>E: Store decisions, timestamps, reviewer identities
    G-->>C: Final report
    
Figure 12. A campaign reads real access, collects decisions, applies revocations, verifies them, and stores the proof.

Where Evidence Comes From

Evidence

Who asked

The requester, the time, and the stated reason.

Evidence

Who approved

Each approver’s identity, decision, time, and any comment.

Evidence

What was granted

The exact entitlement, the system, and the end date.

Evidence

What was checked

Conflict rules evaluated and their result.

Evidence

What was reviewed

The list of items in each campaign, and every confirm or revoke decision.

Evidence

What was removed

Proof that revoked access really disappeared in the app.

Analogy

A courier company records every parcel: who sent it, who signed for it at each handoff, and the exact time of delivery. If a parcel goes missing, the chain of signatures shows where. A governance system records access in the same way, so that for any person and any permission, you can reconstruct who asked, who agreed, and when it ended.

19Automation with Workflows and Event Hooks

Governance that depends on people remembering to do things will fail on a busy Monday. Automation turns good intentions into steady habits.

What Can Be Automated

Okta offers a no-code automation tool called Workflows, and also supports event hooks that send a message to another system when something happens, such as a user being created or a group membership changing. Feature names and limits change over time, so confirm current capabilities in the official documentation before designing around them. The pattern, however, is stable: an event happens, a rule decides, an action follows.

Trigger

User becomes inactive

Action: notify the manager, reassign owned items, and open a checklist for equipment return.

Trigger

Contractor end date is 14 days away

Action: email the sponsor asking for renewal or expiry, with a link to decide.

Trigger

Powerful role assigned

Action: post a message to the security channel with who, what, and who approved it.

Trigger

Reviewer is overdue

Action: remind, then escalate to the reviewer’s manager after a set number of days.

Trigger

Department attribute changes

Action: start a mover review of the person’s existing access.

Trigger

Account unused for 90 days

Action: warn the owner, then suspend if no response.

Guardrails for Automation

Automation is a power tool, and power tools need guards. A mistaken rule can remove access from thousands of people in seconds.

  • Test in a preview environment first. Run new flows against test users before real ones.
  • Limit blast radius. Cap how many accounts a single run may change, and stop and alert if the cap is exceeded.
  • Prefer suspend over delete. Suspension can be reversed. Deletion often cannot.
  • Log every action. Each automated step should leave a record saying which rule fired and why.
  • Own every flow. A named owner, a description, and a review date, just like any other access-related asset.
  • Handle failures. If a step fails, retry sensibly, then raise a visible ticket. Silent failure is the enemy.
flowchart TD
    EV["Event: attribute change, expiry, overdue review"] --> RULE{"Rule matches?"}
    RULE -->|"No"| IGN["Ignore and log"]
    RULE -->|"Yes"| CAP{"Under safety cap?"}
    CAP -->|"No"| HALT["Stop and alert a human"]
    CAP -->|"Yes"| ACT["Perform action: notify, suspend, open task"]
    ACT --> LOG["Write log entry with rule name and reason"]
    LOG --> FAIL{"Action succeeded?"}
    FAIL -->|"Yes"| DONE["Done"]
    FAIL -->|"No"| RETRY["Retry then raise ticket"]
    
Figure 13. A safe automation flow checks the rule, enforces a cap, logs its work, and never fails silently.
Analogy

A sprinkler system in a building reacts to heat without anyone pressing a button, but it is also tested regularly and has a shutoff valve. Good automation behaves like that: it reacts reliably, it is checked, and a human can stop it.

i
Tip

Start with automation that only notifies. Once the notifications have proved accurate for a few weeks, promote selected flows to take real action.

20Mapping Governance to Compliance

Most organizations start governance because an audit demands it. Understanding what auditors actually ask for lets you build once and satisfy many.

What Auditors Want to See

Different frameworks use different words, but their identity questions are surprisingly similar: Who has access? Who approved it? Is it still needed? Is it removed promptly when people leave? Are conflicting duties separated? Are administrators controlled? Can you prove all of this?

FrameworkTypical identity expectationsEvidence you can produce
Financial reporting controls (SOX style)Access to financial systems is approved, reviewed, and conflict-freeRequest approvals, campaign results, SoD reports
SOC 2Logical access is granted, modified, reviewed, and removed in a controlled wayJoiner and leaver samples, quarterly reviews, admin lists
ISO 27001Access control policy, user registration, privilege management, periodic reviewPolicy documents, role catalog, review records
Health data rules (HIPAA style)Only authorized people reach patient data, with audit trailsRole-based access lists, access logs, termination records
Payment card rules (PCI style)Access to card data is need-to-know, reviewed, and uniquely attributableReviewed access lists, unique IDs, admin separation

This table is a simplified orientation, not legal or audit advice. Each framework has its own detailed text and your auditor interprets it for your situation, so always confirm requirements with your compliance team.

Build Once, Map Many

The efficient approach is to design a small set of strong controls and then map each to the requirements it satisfies. A quarterly review of financial-system access, run properly, may serve several frameworks at once. A single leaver process with measured removal times is evidence for all of them.

Making Evidence Easy

  • Evidence by design. Choose processes that create records as a side effect, not as an extra chore.
  • Immutable storage. Keep reports and logs where they cannot be quietly edited.
  • Sampling readiness. Auditors pick random people and ask for the full story. Be able to retrieve request, approval, grant, review, and removal for any one person in minutes.
  • Retention. Keep records as long as policy and regulation require, and no longer than necessary.
  • Walkthrough documents. Short descriptions of each control, with owner and frequency, save hours of meetings.
Analogy

Think of taxes. People who keep receipts all year find tax season easy, and people who do not spend weeks searching drawers. Evidence by design means the receipts file themselves.

!
Warning

Compliance is not the same as security. A program can pass an audit while leaving real gaps, if it only covers the sampled systems. Use the audit as a floor, and aim higher where your own risk analysis says it matters.

21Securing the Governance System Itself

The system that decides who gets access is itself a prize. If an attacker controls governance, they can grant themselves anything and erase the trail.

Threats to Governance

ThreatHow it happensDefense
Self-approvalA requester approves their own request or has a friend do itBlock self-approval, require approver independence
Poisoned source dataSomeone edits a manager or department field to gain accessRestrict who edits HR data, log changes, alert on unusual edits
Compromised governance adminAttacker takes over an account that manages rulesPhishing-resistant sign-in, separate admin accounts, change approval
Tampered evidenceLogs or reports altered after the factExport logs to protected storage, restrict deletion
Rule tamperingSoD rules or dynamic group rules quietly loosenedVersion, review, and alert on rule changes
Over-privileged connectorsIntegration accounts hold broad rights into appsLeast privilege on connectors, rotate secrets, monitor use
Social engineering of approversAttacker pressures a manager to approveShow context, train approvers, require reasons

Protecting the Controls

  • Few governance administrators, each with strong multi-factor sign-in and a dedicated account.
  • Change control for rules, with a second person reviewing each change.
  • Independent log copy sent to a system the governance admins cannot edit.
  • Break-glass accounts sealed, monitored, and tested on a schedule, so that emergencies do not force risky shortcuts.
  • Approver independence rules, such as no approving for people who report to you in a conflict of interest.
flowchart LR
    ADM["Governance admin"] -->|"phishing-resistant sign-in"| GOV["Governance rules and campaigns"]
    GOV -->|"every change logged"| LOG["Copy to protected log store"]
    LOG --> SIEM["Security monitoring"]
    SIEM -->|"alerts on rule or role changes"| SEC["Security team"]
    GOV --> CHG["Second person reviews rule changes"]
    
Figure 14. Governance controls are guarded by strong sign-in, change review, and an independent log copy.
Analogy

The person who keeps the building’s security camera recordings should not be the same person who guards the vault, and the recordings should be copied somewhere that cannot be erased from inside. Guarding the guards is not distrust. It is how trust is made checkable.

22Monitoring, Logging and Metrics

You cannot improve what you do not measure. A handful of well-chosen numbers tells you whether governance is working or just running.

What to Log

Okta records activity in its System Log, which can be queried and streamed to other tools. For governance, make sure these categories are captured and retained, and confirm the exact event names in the current documentation:

  • User lifecycle changes: creation, activation, suspension, deactivation.
  • Group and role assignment changes, including who made them.
  • Application assignments and removals.
  • Administrator role grants and changes to policies.
  • Access request submissions, approvals, denials, and expirations.
  • Certification decisions and revocations.
  • Token and API key creation and use.
  • Failed provisioning attempts and integration errors.

The Key Metrics

MetricWhat it tells youHealthy direction
Time to remove access after leavingHow quickly leavers lose accessMinutes to hours for critical apps
Orphan accounts foundAccounts with no owner or active personFalling toward zero
Review completion rateWhether reviewers respond on timeHigh, above 95 percent
Revocation rate in reviewsWhether reviews find real excessNon-zero, then declining as hygiene improves
Request turnaround timeHow long people wait for accessFalling
Standing adminsHow much permanent power existsFalling
Open SoD violationsUnresolved conflictsZero, or each with a documented exception
Applications under governanceCoverage of the programRising, by tier
Access with no end date for external workersContractor hygieneZero
1
Owner per metric
9
Core metrics to start
Monthly
Review cadence

Alerts Worth Having

  • A new super administrator, or any change to administrator roles.
  • A mass change: many group removals or deactivations in a short time.
  • A governance rule or workflow edited outside change control.
  • A service account signing in from a new location.
  • A leaver whose account is still active after the target time.
Analogy

A car dashboard shows speed, fuel, and engine warnings, not every internal sensor. You need only the few gauges that tell you when to act. Governance metrics are your dashboard, and the System Log is the engine data underneath.

23Performance, Scale and Failure Scenarios

A design that works for 200 people may buckle at 20,000. Thinking about scale and failure early prevents unpleasant surprises.

Where Scale Hurts

  • Review volume. Reviews multiply: users times apps times entitlements. Without tiering and role-based review, volumes become impossible for humans.
  • Provisioning bursts. A merger or a yearly intake of new hires creates thousands of changes at once, which may reach rate limits on Okta or on connected apps. Limits vary by plan and endpoint, so check the current documentation.
  • Group sizes and rule complexity. Very large groups and complicated dynamic rules take longer to evaluate and are harder to understand.
  • Reconciliation time. Comparing millions of records takes time, so plan windows and avoid peak hours.

Failure Scenarios and Responses

FailureImpactResponse
HR feed delayed or brokenNew hires wait, leavers keep accessAlert on stale feeds, manual fallback with approval
Application connector failsGrants or removals silently not appliedFailure queue with alerts, retry, daily reconciliation
Rate limit reached in a burstSlow provisioningThrottle and stage changes, run bulk jobs off-peak
Wrong mass rule deployedMany people lose or gain accessSafety caps, preview, quick rollback plan
Reviewer unavailableCampaign stallsDelegates and escalation paths
Identity provider outageNobody can sign in, approvals stallBreak-glass accounts, documented emergency process
flowchart TD
    CHG["Large change planned"] --> PRE["Preview on test group"]
    PRE --> OK{"Result as expected?"}
    OK -->|"No"| FIX["Fix rule and retest"]
    FIX --> PRE
    OK -->|"Yes"| STG["Stage in batches off-peak"]
    STG --> MON["Watch errors and rate limit signals"]
    MON --> ISSUE{"Problems seen?"}
    ISSUE -->|"Yes"| PAUSE["Pause and roll back batch"]
    ISSUE -->|"No"| NEXT["Continue to next batch"]
    NEXT --> REC["Reconcile at the end"]
    
Figure 15. Large changes are previewed, staged, watched, and reconciled, with a pause button at every stage.
Analogy

When a theater empties after a show, staff open several doors and guide people out in waves rather than letting everyone rush one exit. Staging big identity changes in batches avoids the same kind of jam.

i
Tip

Write down a rollback plan for every large change before you start. If you cannot describe how to undo it, you are not ready to do it.

24Advantages, Disadvantages and Trade-offs

Governance is not free. An honest view of the costs helps you decide how far to go and in what order.

Advantages

  • Fewer excess permissions, so smaller damage from stolen accounts.
  • Faster, more reliable joiner and leaver handling.
  • Audit evidence produced as a by-product.
  • Clear ownership of apps, roles, and accounts.
  • Less manual ticket work for IT.
  • Better answers to the question “who can access this?”

Disadvantages

  • Upfront work to clean data and design roles.
  • Ongoing effort from reviewers and owners.
  • Licensing and tooling cost.
  • Risk of friction if requests become slow.
  • Rules need maintenance as the business changes.
  • Can create false confidence if reviews are rubber-stamped.

The Main Trade-offs

Trade-offLeans one wayLeans the other
Speed versus controlAuto-approve low-risk access for fast workRequire approvals for high-risk access, slowing work
Few big roles versus many small onesSimple to manage, more excess accessPrecise, but a heavy catalog to maintain
Frequent reviews versus fatigueMore safety per risky itemTired reviewers and shallow decisions
Automatic removal versus disruptionStrong hygieneRisk of cutting off needed access
Central control versus team autonomyConsistency and evidenceSpeed and local knowledge
Buying a tool versus building flowsFaster start, ongoing licenseFlexibility, but you carry maintenance

Good governance is not the most control you can add. It is the least friction that still lets you prove who can do what.

Analogy

Airport security could check every passenger for an hour, which would be very safe and very impractical. Real airports tier their checks, using faster lanes for known travelers and deeper checks for unusual cases. Governance tiers its effort in the same way.

25A Maturity Model and a 90-Day Roadmap

Nobody builds a full governance program in one leap. A maturity model shows where you are, and a short roadmap shows the next useful step.

Five Levels of Maturity

1

Ad hoc

Access is granted by email and memory. Leavers are handled when someone remembers. Audits are stressful scrambles.

2

Basic hygiene

Single sign-on covers main apps. A leaver process exists. Groups are mostly named sensibly. Reviews happen in spreadsheets.

3

Defined

Trusted people data, tiered applications, role-based birthright access, formal access requests, and scheduled review campaigns.

4

Managed

Separation of duties rules, time-limited privileged access, non-human identity control, automated mover reviews, and measured metrics.

5

Optimized

Risk-based reviews, continuous monitoring, analytics that suggest role changes, and fast, low-friction access for the many.

The First 90 Days

PeriodFocusOutputs
Days 1 to 30Discover and fix the spineApplication inventory with tiers, owner list, admin list, HR data quality fixes, leaver time baseline
Days 31 to 60Design and pilotRole design for two departments, birthright groups, pilot request flow for one Tier 1 app, SoD rules for the payment process
Days 61 to 90Review and automateFirst certification campaign on Tier 1 apps, contractor sponsor rule, mover review trigger, first metrics report
flowchart LR
    A["Level 1: Ad hoc"] --> B["Level 2: Basic hygiene"]
    B --> C["Level 3: Defined"]
    C --> D["Level 4: Managed"]
    D --> E["Level 5: Optimized"]
    B -.->|"90-day plan targets"| C
    
Figure 16. Most teams starting governance move from level 2 to level 3 in the first quarter. Level 5 is a long-term aim.
Analogy

Learning to cook starts with boiling an egg and keeping the kitchen clean, long before any elaborate dinner party. Governance grows the same way: clean up the basics, repeat them reliably, and only then add the fancy dishes.

i
Tip

Pick one visible win for the first quarter, such as removing all stale contractor accounts. An early, clear success earns the patience and support the longer work needs.

26Design Patterns and Anti-Patterns

Patterns are solutions that keep working. Anti-patterns are mistakes that keep recurring. Learning both from others saves you from paying for the lessons yourself.

Patterns That Work

Pattern

Birthright plus request

Give everyone in a role the common access automatically, and make everything else a request. Keeps requests few and meaningful.

Pattern

Tiered effort

Spend review and approval effort in proportion to application risk.

Pattern

Expiry by default

Extra access ends on a date unless someone renews it with a reason.

Pattern

Owner for everything

Every app, role, group, flow, token, and contractor has a named person accountable.

Pattern

Prevent, detect, prove

Block known-bad combinations, scan for the rest, and store evidence of both.

Pattern

Stage, preview, reconcile

Roll out big changes in small batches and compare results to intent.

Anti-Patterns to Avoid

ANTI-PATTERN Frequent
What it looks like

Everything is reviewed the same way, every quarter, by the same managers, with thousands of items each.

Why it hurts

Reviewers click approve on everything. Real risks hide in the pile.

Better approach

Tier applications, focus on high-risk access and outliers, and cut the volume.

ANTI-PATTERN Frequent
What it looks like

Role explosion: a new role for every team, project, and exception until the catalog has thousands of entries.

Why it hurts

Nobody understands the catalog, so nobody can review it. Roles overlap and drift.

Better approach

Keep a lean set of business roles, add small bundles for common extras, and retire unused roles on a schedule.

ANTI-PATTERN Frequent
What it looks like

Governance is bought as a tool and expected to solve process problems by itself.

Why it hurts

The tool faithfully automates unclear ownership and dirty data. Results disappoint and trust falls.

Better approach

Fix data, ownership, and role design first, or alongside, and let the tool enforce a clear process.

ANTI-PATTERN Frequent
What it looks like

Governance covers only the apps connected to Okta, while the riskiest systems sit outside it.

Why it hurts

The program looks strong in reports while the most sensitive access goes unexamined.

Better approach

Start from the risk list, not the connector list. For systems that cannot be connected yet, run a manual review with the same rigor.

ANTI-PATTERN Frequent
What it looks like

Access is removed in Okta but the same person keeps a local account inside the application.

Why it hurts

The leaver appears gone while a back door stays open.

Better approach

Disable local logins where possible, provision accounts through the identity system, and reconcile local accounts regularly.

Analogy

A gardener who waters every plant equally, including cactuses, drowns some and starves others. Skilled gardeners water by need. Patterns tell you who needs water, and anti-patterns are what happens with a bucket and no judgment.

27Best Practices Checklist

A compact list to review before launch and again each year. Each item is a habit, not a one-time task.

Foundations

  • HR data has one source of truth, with owners for manager, department, and status fields.
  • Every application is in an inventory with an owner, a tier, and a method of connection.
  • Groups are named by pattern, owned, and reviewed, and role groups are separate from app groups.
  • Leaver, joiner, and mover steps are written down, automated where possible, and measured.

Access Decisions

  • Birthright access covers the common needs of each role and nothing more.
  • Requests ask for a reason and an end date, and show approvers real context.
  • Separation of duties rules protect the most sensitive processes, with documented exceptions.
  • Entitlements inside critical apps are described in plain language.

Review and Control

  • Reviews are tiered by risk and triggered by events as well as by the calendar.
  • Reviewers have context, deadlines, reminders, and escalation.
  • Revocations are applied automatically and verified.
  • Administrators, contractors, and non-human identities are reviewed more often than ordinary users.

Operations and Evidence

  • Logs go to protected storage, and key changes raise alerts.
  • Metrics have owners and are reviewed monthly.
  • Automation has safety caps, tests, and rollback plans.
  • Break-glass access is sealed, monitored, and tested.
  • Evidence for any person can be retrieved within minutes.
Analogy

Pilots use a checklist before every flight, even though they know how to fly. The list does not replace skill. It protects against the ordinary human habit of forgetting one small thing on a busy day.

28Real-World Scenarios and Worked Numbers

Here are four short stories from the fictional Westbrook Insurance, plus a worked example of how much review work a good design can remove. All numbers are illustrative, chosen to show the method.

Scenario 1: The audit that came back clean

Westbrook’s next audit sampled 20 people. For each, the team opened a single report showing the request, two approvals, the grant, the last review, and, for one leaver, the removal time of 40 minutes. All 20 questions were answered the same day. The audit lead noted that the main change was not new software but clear ownership and consistent records.

Scenario 2: The mover who kept the keys

Meera moved from Claims to Finance. Her old Claims access stayed for months until a mover review, triggered when her department changed, showed 14 entitlements outside her new role. Twelve were removed. Two were kept with a reason and an end date. Before the trigger existed, this review depended on Meera’s goodwill.

Scenario 3: The forgotten integration token

A review of non-human identities found an API token created four years earlier by a developer who had left. It still had broad read access to customer records. The token was revoked, a replacement with narrow scope was created under a named owner, and the leaver process was changed to reassign tokens at departure.

Scenario 4: The contractor cliff

Westbrook found 118 contractor accounts, of which 37 belonged to people whose contracts had ended. Sponsors were contacted, 31 accounts were expired, and 6 renewed with reasons. A rule now requires a sponsor and end date at creation, so the number of stale accounts stays near zero.

Worked Numbers: Why Design Reduces Review Work

Suppose Westbrook has 6,000 employees and 60 applications, and each person holds on average 12 application accounts. That is 72,000 account assignments. A naive review asks managers to check every one.

StepItems to reviewReason
Start72,000Every assignment reviewed
Exclude Tier 3 apps from annual reviewabout 42,000Low-risk apps checked by sampling and exit process
Remove birthright access reviewed at the role levelabout 14,000Review the role once, not each person
Focus Tier 1 and Tier 2 extra accessabout 9,000Only extra, non-birthright access reviewed per person
Highlight outliers firstabout 1,500 need close attentionAccess that peers do not have

The review shrank from 72,000 decisions to roughly 9,000, with about 1,500 deserving real thought. The numbers are invented for explanation, but the pattern is real: governance succeeds by removing what does not need reviewing, so that humans can focus on what does.

72,000
Assignments before design
9,000
Reviewed per person after design
1,500
Outliers needing real thought

29Frequently Asked Questions

Q1Is identity governance the same as single sign-on?
No. Single sign-on proves who someone is and lets them into applications with one login. Governance decides what they should be allowed to have, keeps that decision correct over time, and proves it.
Q2Do I need a separate governance product to start?
Not for the foundations. Clean people data, an application inventory, sensible groups, and a solid leaver process deliver much of the value. Okta offers governance capabilities, and other vendors do too, so compare options against your needs, and confirm current features and licensing with the vendor.
Q3How often should access be reviewed?
It depends on risk. Administrators and critical applications are often reviewed monthly or quarterly, ordinary business apps twice a year or yearly, and low-risk apps less often. Add reviews triggered by role changes.
Q4What is the difference between a role and a group?
A role describes a job in business terms and bundles the access that job needs. A group is a technical container used to assign that access. Roles are often implemented through groups, but keeping the two ideas separate keeps design clear.
Q5What should happen if a reviewer never responds?
Send reminders, escalate to their manager, and use a defined default. For high-risk access, revoking by default is a strong motivator. For low-risk access, leaving it in place and flagging the gap may be acceptable.
Q6How do I stop reviewers from approving everything?
Reduce volume, show context and peer comparison, put outliers first, make decisions meaningful with real revocation, and track revocation rates and decision times to spot rubber-stamping.
Q7Why govern service accounts and tokens?
They often hold powerful access, never expire, and have no owner after their creator leaves. Attackers love them. Registering, owning, limiting, rotating, and reviewing them closes a common gap.
Q8Can separation of duties be fully automatic?
Preventive checks can be automatic once rules are defined, but defining the rules takes business input. Exceptions need human judgment and documented risk acceptance.
Q9What is the quickest improvement I can make this month?
Measure how long leavers keep access, fix the slowest path, and list all administrators. These are quick, visible, and reduce real risk. Contractor end dates are a close third.
Q10Does governance slow people down?
Poorly designed governance does. Good design speeds common cases through birthright access and fast approvals, and applies friction only to risky access. Measure request turnaround to keep it honest.
Q11How is Okta’s governance different from just using groups?
Groups assign access. Governance adds request and approval workflows, scheduled reviews, conflict checks, expiry, and evidence on top. Exact product features and packaging change, so check the current documentation.
Q12Where do I start if I have nothing today?
Inventory your applications and administrators, fix the leaver process, clean the manager and department data, and then run a first review on your top few critical apps.

30Summary and Key Takeaways

Governance turns “we think people have the right access” into “we know, and here is the proof.” It is built on good data, clear ownership, sensible design, steady review, and careful automation.

Key Takeaways

  • Sign-in is not enough. Authentication proves identity, authorization grants a request, and governance keeps access correct, justified, and provable over time.
  • Build the foundations first. Trusted people data, an application inventory with tiers, clean groups, role design, and a reliable joiner, mover, and leaver process make every later step easier.
  • Give common access automatically and make the rest a request. Birthright access by role, plus requests with reasons, approvals, and end dates, keep access lean.
  • Make reviews meaningful. Tier by risk, show context, highlight outliers, apply revocations automatically, and measure whether reviewers are really reviewing.
  • Control the dangerous cases. Use separation of duties, time-limited privileged access, sponsors for external workers, and owners for every service account and token.
  • Guard and measure the system itself. Protect governance admins, log to independent storage, track a few key metrics, and automate with safety caps and rollback plans.
  • Grow step by step. Use a maturity model and a 90-day plan, win something visible early, and treat governance as a habit that continues, not a project that ends.