Entitlement Bundles in Okta
Nobody wants to ask for forty small permissions, and nobody can review them either. A bundle packages the permissions a real task needs into one named, owned, explainable unit. A first-principles guide to designing, delivering, and governing bundles with Okta.
Summit Logistics employs 6,500 people who move freight across three continents. When Neha joins as a billing analyst, her manager needs to give her the right access in the billing application. The application has 212 separate permissions: view invoices, edit invoices, approve credits, export statements, change rates, and so on. Neha’s manager has no idea which ones she needs. So he copies the permissions of another analyst, Karan, who joined four years ago and has since collected a few extra ones from old projects, including one that lets him approve credits. Neha now holds a permission she should never have had, and nobody notices.
Now picture the review a year later. The auditor asks the billing manager to confirm Neha’s access. The manager is shown 87 lines of technical permission names such as “BIL_INV_EDT_L2.” He cannot tell what they mean, so he clicks approve on everything. The review has been performed, and nothing has been reviewed.
Both problems have the same cure: stop dealing with permissions one at a time and start dealing with bundles. A bundle is a named package of permissions designed around a real piece of work, such as “Billing analyst: standard” or “Credit approval: senior.” Each bundle has a plain description, an owner, a risk level, and rules about who may hold it. People ask for bundles, managers review bundles, and auditors read bundles. The 87 cryptic lines become three clear items.
Okta’s governance products include entitlement management and bundles, and the details, packaging, and names change over time. Every Okta-specific statement in this guide is guidance to confirm against current official documentation. What does not change is the design thinking: how to find the right packages, how big to make them, how to name and own them, how to deliver them, how to change them safely, and how to keep them from slowly growing into the very sprawl they were meant to cure. We start from zero and assume no earlier knowledge.
1Why Bundles Exist
Applications grew more permissions than any person can reason about. Bundles are how humans tame them.
The Permission Explosion
Modern business applications are built with fine-grained permissions, because vendors want customers to control access precisely. A billing system may have hundreds of switches. A cloud platform may have thousands. This is good for security in theory, since small permissions allow least privilege. But in practice nobody understands hundreds of switches, so people either grant too much to be safe or copy someone else’s setup.
Three Painful Habits Bundles Replace
Copy the colleague
Clone another person’s access. It carries over every old and unneeded permission and silently spreads mistakes.
Give the broad role
Grant a large “power user” role to avoid arguments. Fast, but far beyond what the task needs.
Ask for permissions by code name
Requesters and approvers face cryptic lists. Everyone guesses, and errors become normal.
Review without understanding
Reviewers approve long lists they cannot interpret. The control exists on paper only.
A restaurant could list every ingredient and ask you to assemble your own meal, but it offers dishes instead. A dish is a tested combination that makes sense together. A bundle is a dish for access: the right ingredients, already combined, with a name you understand.
Judge a bundle by one question: can an ordinary manager read its name and description and know what it allows? If not, it is not ready, however technically correct its contents.
2What Bundles Are, and Are Not
Several neighboring ideas are easily confused with bundles. Clear lines make design easier.
What a Bundle Is
An entitlement bundle is a named collection of entitlements, which are specific permissions inside applications, designed to be requested, assigned, reviewed, and removed as one unit. It has an owner who answers for it, a description in plain language, and a risk classification. Depending on the product, a bundle may span entitlements from more than one application.
What It Is Not
- It is not a job role. A role says what a person is. A bundle says what a task needs. One role may involve several bundles, and one bundle may serve several roles.
- It is not just a group. A group is a technical container for membership. A bundle carries meaning, ownership, and review rules around the permissions.
- It is not a policy. It does not decide who is eligible by itself. Eligibility rules and approval policies decide that.
- It is not permanent. Bundles are created, changed, and retired as work changes.
- It is not a way to avoid thinking. A poorly designed bundle is just a bigger, harder-to-see mistake.
| Concept | Question it answers | Example |
|---|---|---|
| Entitlement | What single permission exists? | Approve credit notes in billing |
| Bundle | What set of permissions does a task need? | Billing analyst: standard |
| Role | What job does this person do? | Billing analyst |
| Group | Who belongs to this set? | Billing team members |
| Policy | May this person have it, and who decides? | Manager approves, six months |
In a school, a subject is not a class register. The subject describes what is taught, the register lists who attends, the timetable decides when, and the headteacher’s rules decide who may enrol. Each is a different thing, and confusing them leads to a messy school.
3Core Concepts: The Vocabulary of Bundles
A dozen terms carry the subject. Each is explained with an example from Summit.
Entitlement
A specific permission inside an application. “Export statements” in the billing system is one entitlement.
Entitlement value
A particular choice of an entitlement, such as which region a person may export for. Some entitlements have values.
Bundle
A named package of entitlements, such as “Billing analyst: standard.”
Bundle owner
The person accountable for what the bundle contains and who holds it.
Birthright access
Access given automatically because of a person’s role or attributes.
Requestable
Available for people to ask for through an approval process.
Least privilege
Giving no more access than the task needs.
Toxic combination
Two permissions that should never be held by one person, such as create supplier and release payment.
Bundle creep
The slow growth of a bundle as people add “just one more” permission until it is too big to judge.
Holder
A person currently assigned a bundle.
Certification
A review in which owners or managers confirm that access should continue.
Orphan entitlement
A permission that no bundle includes and nobody owns, often found only by accident.
Think of a toolbox. Each spanner is an entitlement. The plumber’s kit is a bundle, containing the spanners a plumber needs. The job title is the role. The workshop’s sign-out sheet is the policy that says who may take the kit.
4Entitlements: The Permissions Inside Applications
Bundles are made of entitlements, so we must understand where entitlements come from and what they look like to Okta.
Two Levels of Access
Access has two layers. The first is having an account at all: you can sign in to the billing application. The second is what you can do once inside: view, edit, approve, export. Single sign-on and basic provisioning deal mainly with the first layer. Entitlements deal with the second, which is where most real risk lives. Two people with accounts in the same application can have very different powers.
How Okta Learns About Entitlements
For governance to manage entitlements, Okta must know what they are. Depending on the integration, entitlements may be discovered from the application through its provisioning connection, defined in Okta as part of the application’s setup, or imported on a schedule. Which applications support entitlement management, and how, varies by integration and version, so check each integration’s documentation before promising bundles for it. Applications that cannot expose their permissions cannot have them bundled automatically.
| Source of entitlement knowledge | How it works | Watch out for |
|---|---|---|
| Read from the application | Okta imports permissions and assignments through a connector | Connector must support it, names may be technical |
| Defined in Okta | Admins define the list and mappings | List can drift from the application |
| Group-based proxy | Application grants rights based on groups, so groups stand in for entitlements | Less granular, harder to describe |
| Manual process | A person grants the permission after a ticket | Hard to verify, needs reconciliation |
Before designing a bundle around an application, confirm whether Okta can actually grant and remove its entitlements automatically. A bundle that can be requested but not fulfilled becomes a ticket generator, which defeats much of the point.
A hotel key card gets you into the building. What it opens beyond that, such as the gym, the lounge, or the executive floor, is set in the card’s permissions. Having a card is the account, and the floors it opens are the entitlements.
5Okta’s Governance Landscape for Bundles
Several Okta pieces touch bundles. Product names and packaging change, so confirm what your edition includes.
| Piece | Role for bundles |
|---|---|
| Universal Directory | Holds user attributes that rules and eligibility read |
| Application integrations and provisioning | Carry entitlement data in and grant changes out |
| Entitlement management | Lets entitlements be seen, organized, and assigned |
| Bundles | Package entitlements into named units |
| Access requests | Let people ask for bundles with approvals and durations |
| Access certifications | Review who holds bundles and entitlements |
| Separation of duties | Flags harmful combinations |
| Workflows | Automates reminders, repairs, and lifecycle steps |
| System Log and reports | Evidence of assignments and changes |
flowchart LR
APP["Application entitlements"] --> ENT["Entitlement management"]
ENT --> BUN["Bundles"]
BUN --> REQ["Access requests"]
BUN --> BR["Birthright assignment by rules"]
REQ --> GR["Grant to user"]
BR --> GR
GR --> CERT["Certifications"]
GR --> LOG["System Log and reports"]
A catering company has ingredients, recipes, an order desk, a delivery team, and a quality inspector. Bundles are the recipes, sitting between raw ingredients and the customer’s plate.
6Anatomy of a Good Bundle
Every well-made bundle has the same handful of parts. Missing any one of them is a warning.
A plain name
“Billing analyst: standard” rather than “BIL_ANL_STD.” The name should tell a manager what it is for.
A description
One or two sentences on what the holder can do and which task it supports, in everyday words.
A list of entitlements
The exact permissions, with a short reason each is included. If you cannot justify one, remove it.
An owner and a backup
Named people accountable for content and reviews.
A risk tier
Low, medium, high, or critical, which drives approval depth, duration, and review frequency.
Eligibility and delivery
Who may hold it, and whether it is given automatically or requested.
A review rule
How often holders are reviewed, and by whom.
A change history
When it was changed, by whom, and why.
| Field | Weak example | Strong example |
|---|---|---|
| Name | BIL_ANL_2 | Billing analyst: standard |
| Description | Billing access | View and correct invoices, export statements for assigned regions. Cannot approve credits or change rates. |
| Owner | IT | Head of billing operations, with a named deputy |
| Tier | Unset | Medium |
A medicine box carries a name, a description of what it treats, a list of ingredients, a maker’s name, a warning level, and instructions on who may take it. A bundle label should carry the same kinds of information.
7Bundles, Roles and Groups: Who Does What
Teams often argue about whether to use roles, groups, or bundles. They are different tools that work best together.
| Aspect | Group | Role | Bundle |
|---|---|---|---|
| Main meaning | A set of people | A job or function | A set of permissions for a task |
| Who understands it | Admins | Managers and HR | Managers, owners, auditors |
| Granularity | Coarse | Broad | Tuned to a task |
| Changes how often | Often | Rarely | Occasionally |
| Best use | Technical delivery | Birthright rules | Request and review unit |
A Layered Pattern
A popular design is three layers. Roles, driven by human resources data, decide which bundles a person receives automatically. Bundles hold the permissions and carry meaning for requests and reviews. Groups or direct assignments are the technical means of delivery into applications. Each layer does one job. When you see a design that uses one tool for all three jobs, expect trouble.
flowchart TD
HR["HR data: job, department"] --> ROLE["Role rules"]
ROLE --> B1["Birthright bundles"]
REQ["Access request"] --> B2["Requested bundles"]
B1 --> ENT["Entitlements in applications"]
B2 --> ENT
ENT --> USER["Effective access of the person"]
A hospital’s job titles say who is a nurse, its supply cabinets hold sets of equipment for specific procedures, and the keys and codes open the cabinets. Each layer has a separate purpose, and the whole works because nobody confuses them.
8Architecture and Components
Let us name the parts that cooperate when a bundle goes from design to real access.
Applications and their permission models
The source of truth for what entitlements exist and what they do.
Connectors
Carry entitlement lists into Okta and assignments back out. Their capabilities decide what can be automated.
Entitlement catalog
Okta’s record of entitlements, with names, descriptions, owners, and risk labels.
Bundle definitions
Named collections, with owners, tiers, and eligibility rules.
Assignment engines
Role rules for automatic assignment and the request engine for approved exceptions.
Review and conflict engines
Certifications and separation of duties checks that look at what people hold.
Evidence and monitoring
System Log, reports, and external monitoring tools.
flowchart LR
A["Application"] -->|"entitlements"| C["Connector"]
C --> K["Entitlement catalog"]
K --> B["Bundle definitions"]
B --> E["Assignment: rules and requests"]
E --> C
C -->|"grant or remove"| A
E --> R["Reviews and conflict checks"]
E --> L["System Log and reports"]
A warehouse has shelves of goods, a catalog of what each is, packing lists for standard orders, a dispatch team, and an inspector. Bundles are the packing lists that turn individual goods into standard orders.
9Internal Working: From Bundle to Real Permissions
Follow Neha’s bundle from the moment it is assigned to the moment she can use the permissions in the billing application.
sequenceDiagram
participant R as Role rules
participant G as Governance engine
participant S as Conflict checker
participant C as Connector
participant A as Billing application
participant L as System Log
R->>G: Neha is a billing analyst, assign standard bundle
G->>S: Check bundle against Neha existing access
S-->>G: No conflict
G->>C: Grant each entitlement in the bundle
C->>A: Create or update permissions for Neha
A-->>C: Confirmed
C-->>G: Grant recorded
G->>L: Log assignment with bundle, reason, time
The Expansion Step
Inside the engine, a bundle is expanded into its entitlements, and each is granted. If one entitlement fails, for example because the application rejects it, the grant is partly done. A good design records which parts succeeded, retries the rest, and raises a visible alert if retries fail. A silent partial grant is worse than a clean failure, because the person has some powers and not others, and nobody knows.
Where the Truth Lives
Two records exist after a grant: Okta’s record that Neha holds the bundle, and the application’s record of which permissions she really has. Reconciliation compares them. If they differ, one of them is wrong, and the difference is a finding.
| Step | Possible failure | Result |
|---|---|---|
| Conflict check | Rules out of date | Harmful combination allowed |
| Expansion | Bundle edited mid-grant | Inconsistent permissions |
| Connector call | Application unavailable or rate limited | Delayed or partial grant |
| Confirmation | No reply from application | Unknown state until reconciled |
| Logging | Event missing details | Weak audit trail |
A hotel front desk programs a key card for the room, the gym, and the lift in one go. If the lift setting fails, the guest has a card that opens some doors and not others. A good desk checks the card works everywhere before handing it over.
10The Life of a Bundle
A bundle is not a one-time creation. It is a product with a life: designed, published, used, changed, and retired.
| Stage | What happens | Who is responsible |
|---|---|---|
| Proposal | A need is described: task, users, applications | Requesting team |
| Design | Entitlements chosen and justified, tier and conflicts checked | Owner with security |
| Review | A second person checks the design | Governance lead |
| Publish | Bundle becomes available by rule or request | Identity team |
| Operate | Holders use it, requests flow, reviews run | Owner, managers |
| Change | Entitlements added or removed through change control | Owner with reviewer |
| Retire | No longer needed, holders moved to other bundles, entry removed | Owner, identity team |
flowchart LR
P["Proposal"] --> D["Design"]
D --> RV["Second review"]
RV --> PB["Publish"]
PB --> OP["Operate and review"]
OP --> CH["Change with approval"]
CH --> OP
OP --> RT["Retire"]
Why Retirement Matters
Bundles that nobody needs still hold permissions. Unretired bundles are digital attics: dusty, forgotten, and full of things an intruder could use. Set a rule that bundles with no holders for a year, or no requests, are reviewed for retirement.
A shop adds new products after testing, updates old ones, and drops lines that no longer sell. A shop that never drops a product ends up with a cluttered back room that nobody can navigate.
11Preparing Entitlement Data Before You Bundle
Bundles are only as good as the entitlement data underneath. Cleaning that data first saves months later.
The Typical Mess
When you first import entitlements, expect surprises. Names are cryptic, descriptions are missing, and duplicates abound. Some entitlements refer to features the vendor retired years ago. Some are test leftovers. Some carry the names of people who left. This is normal, and it is the reason a cleanup step belongs at the start of every bundle project.
| Problem found | Why it matters | What to do |
|---|---|---|
| No description | Owners cannot judge it | Ask the application owner to write one, or mark it unclassified |
| Cryptic name | Reviewers cannot understand it | Add a friendly display name in Okta |
| Duplicates | Two entitlements do the same thing | Merge or choose one, update bundles |
| Retired or unused | Pure risk with no benefit | Remove from the application, then from Okta |
| Unknown risk level | Cannot place in a tier | Classify with the owner and security |
| No owner | Nobody answers for it | Assign the application owner as default |
A Classification Pass
For each entitlement, record four things: a plain name, a one-line description, a risk level, and an owner. Start with the entitlements most commonly held and the most dangerous ones. You do not need to classify all two hundred before building your first bundle. Classify the ones that will go into it.
Before a chef writes a menu, the pantry is checked: what is in stock, what has expired, and what each jar contains. A menu built on an unlabeled pantry will serve surprises.
12Designing Bundle Families
Bundles can be organized around different ideas. Choosing the right family for each need keeps the catalog logical.
Persona bundles
Built around a typical job, such as “Billing analyst: standard.” Good for birthright access because they match roles.
Task bundles
Built around an activity, such as “Month-end close support.” Good for requests, with a time limit.
Project bundles
Built for a temporary team, such as “Supplier audit project.” Expire when the project ends.
Application-level bundles
Built inside one application, such as “Billing: read only.” The easiest to start with and the most precise.
Privileged bundles
Built for powerful rights, such as “Billing: rate administrator.” Always requested, strongly approved, and short-lived.
Cross-application bundles
Span several applications for one process, such as “Order-to-cash analyst.” Powerful but harder to own.
A Healthy Mix
Most successful programs start with application-level bundles, since each has one owner and a clear boundary. They then add persona bundles that combine a few application-level ones for birthright use, and task and project bundles for the exceptions. Cross-application bundles come last, because they need agreement among several owners.
A bakery sells single items, a lunch set, a party tray, and a custom wedding order. They are all built from the same ingredients, but each suits a different customer need, and the bakery does not mix them up on the shelf.
13How Big Should a Bundle Be?
The hardest design question is size. Too small, and you have the original sprawl. Too big, and you have the broad role problem again.
Small bundles
- Precise, close to least privilege.
- Easy to explain and review.
- Flexible to combine.
- Many to manage, and requests may need several.
Large bundles
- Few to manage and quick to request.
- Easy for onboarding.
- Give more access than most holders need.
- Hard to review and easy to let grow.
Rules of Thumb
- One purpose per bundle. If the description needs the word “and” more than once, consider splitting.
- Seven to fifteen entitlements as a starting guide. Fewer is often too thin, and more suggests several purposes mixed together. Treat this as a prompt, not a law.
- One risk tier per bundle. Do not mix a harmless read permission with a dangerous approval permission. Separate them so each can have the right approval.
- Most holders should use most of it. If half the entitlements are never used by holders, the bundle is too big.
- A new hire should be able to name the bundle. If a person cannot say which bundle they need, the names are unclear.
| Example | Verdict | Why |
|---|---|---|
| “Billing: view invoices” with 3 entitlements | Fine for read-only | Single purpose, low risk |
| “Billing analyst: standard” with 11 entitlements | Good | Matches a daily task set |
| “Billing everything” with 60 entitlements | Too big | Mixes read, edit, approve, and administer |
| “Credit approval: senior” with 2 entitlements | Right, separate | High-risk, needs stricter approval |
A backpack for a day hike carries water, snacks, and a map. A backpack for a week carries a tent as well. Putting a tent in the day pack makes everyone carry weight they never use. Bundles should be packed for the journey they serve.
14Naming and Describing Bundles
Names and descriptions are the user interface of governance. Spend time on them.
Naming Pattern
A clear pattern helps people scan. One useful form is application or area first, then the function, then the level. Examples: “Billing: analyst standard,” “Billing: credit approval,” “Warehouse: shift supervisor,” “Cloud: read-only observer.” Avoid internal code names, department politics, and abbreviations that only insiders know.
Writing Descriptions That Help
- Start with what the holder can do, not what the bundle contains.
- State what the holder cannot do when that is a common misunderstanding.
- Mention the typical job or task.
- Note any approval or training needed.
- Keep it to two sentences if possible.
| Weak | Strong |
|---|---|
| “Access to billing system” | “View and correct customer invoices and export statements for your region. Cannot approve credits or change rates.” |
| “Admin role” | “Reset passwords and unlock accounts for staff in one department. Cannot change policies or create administrators.” |
| “Project access” | “Read and comment on the supplier audit workspace until the project ends on 31 March.” |
Ask someone from outside the owning team to read each description cold. If they can explain it back in their own words, it works. If not, rewrite it.
Road signs say “Hospital, 2 km” and not “Medical facility alpha.” A sign must be understood in the second a driver has to read it. Bundle names are signs for managers who have one minute per decision.
15Finding Bundles in Your Existing Data
You do not need to guess what bundles to build. Your current access data already shows which permissions travel together.
Role Mining in Plain Words
Role mining, or bundle mining, means looking at who has what and finding patterns. If 90 of 100 billing analysts hold the same 11 permissions, that set is a strong candidate for a bundle. If 3 of them also hold an approval permission, that is a candidate for a separate, requestable bundle, or perhaps for removal.
Export current access
List each person, their job, and every entitlement they hold in a chosen application.
Group by job
Cluster people by role, department, or similar attributes.
Count common permissions
Find permissions held by most people in each group.
Flag the outliers
Permissions held by few people may be exceptions, old leftovers, or mistakes.
Propose bundles
Common sets become persona bundles. Outliers become requestable bundles, or are removed.
Validate with owners
Owners and managers confirm that the proposed sets match real work and not just history.
Mining finds what people have, not what they need. If everyone holds an excess permission, mining will happily turn it into a bundle. Always have an owner challenge each entitlement before it enters a bundle.
A shopkeeper who reviews the till records finds that most customers who buy bread also buy butter, and bundles them. But the shopkeeper still checks whether customers want that combination or simply bought it out of habit.
16Ownership and Governance of Bundles
Bundles live or die by their owners. A bundle with no real owner will drift until someone gets hurt.
| Role | Responsibility |
|---|---|
| Bundle owner | Decides contents, approves changes, answers questions, reviews holders |
| Application owner | Knows what each entitlement does and its risk |
| Governance lead | Sets design standards, checks naming, tiers, and conflicts |
| Security team | Reviews high-risk bundles and exception requests |
| Managers | Confirm holders still need the bundle during reviews |
| Identity engineering | Builds, publishes, and monitors bundles in Okta |
| Auditors | Read the evidence and test the controls |
Standards Worth Writing Down
- Every bundle must have an owner and a deputy.
- A second person reviews every new bundle and every change.
- Entitlements need a written reason for inclusion.
- Bundles are reviewed for relevance at least once a year.
- Retirement is a normal event, not a failure.
A museum curator knows what is in each room, who may handle it, and when it was last checked. Without a curator, exhibits are moved, borrowed, and forgotten. A bundle owner is the curator of a small collection of permissions.
17Designing Approvals by Bundle Tier
The risk tier of a bundle should decide how much human attention each request gets.
| Tier | Typical bundles | Approvers | Duration | Review frequency |
|---|---|---|---|---|
| Low | Read-only views, team wiki, learning tools | Automatic if role matches | Tied to role | Yearly |
| Medium | Edit access to business data, standard analyst work | Manager, then bundle owner | Six to twelve months | Every six months |
| High | Approval rights, sensitive data export, financial release | Manager, owner, and security or risk | Up to thirty days, renewable | Quarterly |
| Critical | Administrator rights, key management, production changes | Two approvers, conflict check, strong sign-in | Hours to days | Monthly, plus after each use |
Why Tiers Beat Uniform Rules
If every bundle needs three approvers, approvers drown and rubber-stamp. If none do, risky access flows freely. Tiers spend scrutiny where the harm would be largest and let ordinary work flow. Review the tier assignments each year, because a bundle’s risk changes when the application changes or the business grows.
Write the tier definitions in one page that everyone can read. When people disagree about a bundle’s tier, the page decides, and the page can be improved.
Airport security checks bags for everyone, but ground staff with airside access get deeper checks, and pilots get more still. Scrutiny follows the damage a mistake could do.
18Birthright or Requestable?
Each bundle is delivered in one of two ways. Choosing the right way for each is a core design decision.
Birthright (automatic)
- Given by rules from job, department, or location.
- No waiting, no approvals, fewer requests.
- Removed automatically when the person moves or leaves.
- Risk: rule mistakes spread widely.
Requestable
- Asked for by the person, with a reason and approval.
- Fits exceptions and risky access.
- Can have an end date.
- Risk: delay and approval fatigue.
| Question | If yes |
|---|---|
| Do almost all people in the role need it from day one? | Birthright |
| Is it low risk with no conflicts? | Birthright or auto-approved request |
| Does it give financial, administrative, or sensitive power? | Requestable with approvals |
| Is it needed only for a time? | Requestable with an end date |
| Does it create a conflict with other bundles? | Requestable with conflict check, or blocked |
New employees get a desk, a laptop, and an email on day one without asking. The company safe’s key is handed out only on request, for a reason, with a signature. The difference is risk.
19Writing Birthright Rules That Do Not Misfire
Birthright rules assign bundles automatically from profile data. A good rule saves thousands of requests, and a bad one spreads a mistake to thousands of people.
What Rules Read
Rules usually read attributes such as job code, department, location, employment type, and manager. They are only as accurate as those attributes. Before you trust a rule, check the data quality of every attribute it reads. A rule that reads “department equals Finance” when five spellings of Finance exist will miss most of the team.
Rule Design Habits
- Prefer stable codes over free text. Use job codes or department IDs, not typed names.
- Keep conditions simple. Two or three conditions are easy to explain, and ten are not.
- Preview before publishing. Count how many people the rule would assign or remove, and sample some.
- Add a safety cap. Alert and pause if a change would affect more people than expected.
- Avoid overlapping rules. Two rules that assign the same bundle for different reasons confuse removal.
- Document the owner and purpose. Every rule has a name, an owner, and a review date.
| Rule idea | Risk | Better version |
|---|---|---|
| Everyone with “manager” in the title gets approval rights | Titles vary and include non-finance managers | Use a managerial job code plus the finance department ID |
| Everyone in the building gets lab access | Includes visitors and contractors | Use employee type plus approved site code |
| Everyone reporting to X gets the project bundle | Reporting lines change | Use a project group owned by the lead, with an end date |
A school bell rings automatically at fixed times. If someone sets it wrongly, the whole school is thrown off. Automatic things need careful setting and a way to stop them.
20Eligibility and Conditions
Not everyone should be able to hold or even see every bundle. Eligibility rules narrow the field.
What Eligibility Can Use
- Job and department. A payments bundle for finance staff only.
- Location or legal entity. A regional bundle only for people in that region.
- Employment type. Employees, contractors, and guests may be treated differently.
- Training status. A bundle that needs completed training before it can be requested.
- Existing access. Holding a prerequisite bundle before a more powerful one.
- Management level. Approvals reserved for managers.
Hiding Versus Blocking
An ineligible person can be shown nothing, which keeps the catalog tidy, or shown the bundle with a note that they cannot request it. Hiding reduces confusion for ordinary staff. Showing helps people understand what exists and whom to ask. Choose by audience, and keep the rule the same for the same kind of bundle.
| Bundle | Eligible | Extra condition |
|---|---|---|
| Billing analyst: standard | Billing department | None |
| Credit approval: senior | Billing managers | Approval training completed |
| Billing: rate administrator | Billing leadership | Prerequisite bundle held, security approval |
| Warehouse: shift supervisor | Warehouse staff at grade 5 or above | Same site only |
A driving licence has classes. You can ride a scooter at sixteen but need further tests for a lorry. The licence office does not argue with each applicant. It checks the conditions, and the right class follows.
21Time-Bound Bundles
Many bundles should end by themselves. Time limits turn forgotten access into self-cleaning access.
Where Time Limits Fit
Project bundles
End on the project’s last day, with renewal if the project is extended.
Cover for leave
Access for the length of a colleague’s absence.
Privileged bundles
Hours or days, just in time, with approval each time.
Audit and review roles
Read-only access for an audit period.
Contractors
Tied to contract end date, with sponsor confirmation.
Renewal Without Rubber-Stamping
Remind the holder and the approver before expiry, ask for a fresh reason, and route renewal through approval for higher tiers. Track renewal rates: if nearly everything is renewed without comment, durations may be too short, or approvers may be stamping without thought.
When a bundle is removed at expiry, remove all of its entitlements, and confirm in the application that they are gone. Partial removal leaves exactly the kind of lingering access that time limits were meant to prevent.
A visitor badge printed with today’s date stops working tomorrow without anyone doing anything. A bundle with an end date works the same way: the default is return, and keeping needs a reason.
22Separation of Duties Inside and Across Bundles
Some permissions must never meet in one person. Bundle design is where you can keep them apart.
The Idea
Separation of duties says that sensitive processes should be split, so no single person can complete the whole thing alone by mistake or fraud. The person who creates a supplier should not release payments to it. The person who develops code should not deploy it unreviewed. Auditors test such rules directly.
Two Places to Enforce It
Inside the bundle
Never put two conflicting entitlements in the same bundle. This is a design rule and the cheapest control there is.
Across bundles
Define pairs of bundles that cannot be held together, and check at request or assignment time. Okta governance offers conflict checking in some editions, so confirm what yours supports.
Across applications
Conflicts may span systems, such as vendor creation in one and payment release in another. Define rules at the bundle level so that people see them.
Detect the old ones
Scan existing holders for conflicts that arose before the rules, or through direct grants outside the bundle process.
| Bundle A | Bundle B | Rule |
|---|---|---|
| Procurement: create supplier | Payments: release payment | Cannot be held together |
| Billing: enter credit note | Billing: approve credit note | Cannot be held together |
| Cloud: change production | Cloud: approve production change | Cannot be held together for the same service |
| Identity: grant access | Identity: audit access logs | Cannot be held together |
A bank vault needs two keys held by two different people. The rule does not insult either person. It is a design that works even if one of them is careless or dishonest, and bundle rules build the same two-key design into access.
23Least Privilege and Bundle Creep
Bundles start tidy and grow messy, unless someone holds the line.
How Creep Happens
A user complains that they cannot do one thing. The owner adds a permission to the bundle to fix it for that person. Every other holder gets it too. Repeat this a dozen times over three years, and a ten-permission bundle holds thirty, a third of which most holders have never used. Nobody decided to over-grant. It just accumulated.
Defenses Against Creep
- Change control. Every addition needs a reason, an owner decision, and a second reviewer.
- Prefer a new small bundle. If only a few people need the extra permission, create a small bundle for them rather than enlarge the main one.
- Watch usage. Compare permissions in the bundle with what holders actually use, where the application reports it.
- Yearly pruning. Remove unused entitlements from bundles at annual review.
- Size alerts. Flag any bundle that grows past a set number of entitlements.
flowchart TD
C["Request to add a permission to a bundle"] --> Q{"Do most holders need it?"}
Q -->|"Yes"| ADD["Add after owner and second review"]
Q -->|"No"| SM{"A few people need it?"}
SM -->|"Yes"| NEW["Create a small separate bundle"]
SM -->|"No"| ONE["Grant to the one person with an end date"]
A kitchen drawer starts with five tools and slowly collects keys, batteries, and string. Nobody chose to make a mess. Regular tidying and a rule about what belongs in the drawer keep it useful.
24Changing a Bundle Safely
Editing a bundle affects everyone who holds it. A careless edit can grant or remove permissions for hundreds of people at once.
What Happens to Existing Holders
When you add an entitlement, current holders may receive it automatically, depending on how the product and your configuration work. When you remove one, holders may lose it. Understand which of these your Okta version does, and test it, before editing live bundles. Plan for both directions, because adding too much is a security risk and removing too much is an outage.
| Change | Risk | Precaution |
|---|---|---|
| Add low-risk entitlement | Small | Owner decision, second review |
| Add sensitive entitlement | Over-privilege for all holders | Prefer a new bundle, run conflict check against all holders |
| Remove entitlement | Work disruption | Warn holders, check usage, set a date |
| Rename bundle | Broken reports and rules | Search references first, update together |
| Change eligibility | Some holders no longer qualify | Decide what happens to current holders |
| Change tier | Approval rules change | Review pending requests and reviews |
Draft the change
Describe what changes and why.
Count the impact
How many holders, which conflicts, which reviews.
Review and approve
A second person checks the plan.
Pilot
Apply to a test group or a test org first.
Apply, then reconcile
Roll out, then compare Okta with the application to confirm results.
Changing a recipe in a restaurant changes every plate served. A good chef tests the new version on staff first, then swaps it in, and tastes the first plates out to check.
25Overlap and Conflict Between Bundles
When two bundles contain the same entitlement, or contradictory ones, the result must still make sense.
Overlap
It is common for a persona bundle and a task bundle to share an entitlement. If a person holds both and one is removed, the shared entitlement should stay while the other still needs it. Check how your product handles this, because a naive removal of one bundle may strip the entitlement that another bundle still justifies. Test it with a deliberate example before relying on it.
Contradiction
In applications with allow and deny style permissions, or with levels such as read, write, and admin, two bundles may give different levels of the same permission. Decide which prevails, and avoid designs where the answer is unclear. A simple rule is that bundles should be designed so that the highest level wins and that levels are never split across bundles.
| Situation | Expected | Test |
|---|---|---|
| Two bundles share entitlement X; one is removed | X stays | Remove one, confirm X remains in the application |
| Both bundles removed | X goes | Confirm X is gone |
| Read in one bundle, write in another | Effective access is write | Confirm the application shows write |
| Direct grant outside bundles also exists | Direct grant remains until removed separately | Find and report direct grants |
Two library cards from different branches may both let you borrow the same book. If one card expires, you can still borrow with the other. A good system knows both are valid and does not take the book away while one remains.
26Supporting Bundle Owners
Owners are busy people with day jobs. If the role is heavy or confusing, they will approve everything quickly or avoid the task altogether.
What Owners Need
- A short guide. One page that says what an owner decides, how often, and where to ask questions.
- Clear tools. A single view showing their bundles, holders, pending requests and upcoming reviews.
- Plain descriptions. Reviewers should read what a bundle allows without decoding technical names.
- A deputy. Someone who can act during holidays, so requests do not stall.
- Gentle reminders. A few well-timed nudges beat a flood of alerts.
- Recognition. Thank owners whose bundles are tidy. Careful work deserves noticing.
When Owners Struggle
If an owner approves everything in seconds, look at the bundle: it may be too big to judge. If an owner never responds, find out why, then reassign if needed. Treat both as signals about the system, not only about the person.
A class monitor does better with a clear list of duties and a teacher to ask. Handing someone a title without help produces the title and none of the work.
27Reviewing Bundles and Their Holders
Bundles make reviews possible. They turn a flood of cryptic lines into a short list of meaningful items.
Two Kinds of Review
Review the bundle
The owner checks contents once: is every entitlement still justified, is the tier right, is it still needed? One review serves all holders.
Review the holders
Managers or owners check each person: does this person still need this bundle? Fewer, clearer items than raw permissions.
Making Reviews Count
- Show the bundle name and description, not entitlement codes.
- Show how long the person has held it and when they last used it, if known.
- Highlight outliers: bundles that peers in the same role do not hold.
- Review high-tier bundles more often than low-tier ones.
- Revoke automatically, and verify removal in the application.
- Measure revocation rates. A review with no revocations deserves a question, not applause.
Summit’s review before and after
Summit’s billing review once showed managers 87 permission lines per analyst, and 99 percent were approved. After bundling, each analyst appeared as three items with plain names. The same managers revoked 6 percent of items in the first campaign, because they could finally tell what they were approving. The numbers are illustrative of the pattern.
A teacher marking a hundred loose sentences skims. A teacher marking five short essays reads them. Fewer, meaningful items are how reviews turn from ritual into judgment.
28A Quick Decision Guide for a New Permission
When someone asks for a permission that is not in any bundle, ask the same short list of questions in the same order.
flowchart TD
Q1{"Do most holders of an existing bundle need it?"} -->|"Yes"| ADD["Add to that bundle after owner and second review"]
Q1 -->|"No"| Q2{"Do several people across teams need it?"}
Q2 -->|"Yes"| NEWB["Create a new small bundle with owner and tier"]
Q2 -->|"No"| Q3{"Is it high risk or a conflict?"}
Q3 -->|"Yes"| STRICT["Time-limited request with strong approval"]
Q3 -->|"No"| ONE["Short request for the one person, with end date"]
- If you cannot explain in one sentence what the permission allows, it is not ready for any bundle.
- If it has no owner, find one before granting it widely.
- If it is requested only once a year, a one-off request may be enough.
- If a permission keeps being requested one person at a time, that is a signal to make a bundle.
A shop that is often asked for a missing item stocks it. A shop that is asked once buys it once. Requests are the shopkeeper’s best signal for what belongs on the shelf.
29Movers and Leavers
People change jobs and leave. Bundles make both cleaner, if the rules are clear.
Leavers
When employment ends, remove every bundle, including requested and time-limited ones, and confirm the entitlements are gone in each application. Apply special care to accounts inside applications that have local logins, since removing bundles in Okta may not close them. Reassign any bundles that the person owned or approved.
Movers
When someone changes department, birthright bundles for the old role should end and new ones arrive. Requested bundles need a decision. A good design triggers a short review of the mover’s non-birthright bundles, asking the new manager and bundle owners to confirm each within a deadline. Unconfirmed bundles are removed. Remove before add where possible, so that a failure leaves the person with less access, not more.
flowchart TD
M["Department change detected"] --> OLD["Remove old birthright bundles"]
OLD --> NEW["Assign new birthright bundles"]
NEW --> LIST["List remaining requested bundles"]
LIST --> ASK["Ask new manager and owners to confirm"]
ASK --> DEC{"Confirmed in time?"}
DEC -->|"Yes"| KEEP["Keep, with end date"]
DEC -->|"No"| REM["Remove and log"]
A teacher who moves to a new school returns the old keys and receives new ones. Nobody doubts them. It is how a school knows who can open which door at any time.
30Entitlement Bundles and Zero Trust
Zero trust means no access is trusted just because it was granted once. Bundles give that idea a practical shape: small, named, checked and temporary where possible.
How the Two Ideas Meet
A zero trust approach asks, every time, whether this person should have this access right now. Bundles make that question answerable. Because each bundle has an owner, a purpose, an expiry and a review date, someone can always say why the access exists and when it should end. Without bundles, access is a pile of loose permissions, and nobody can answer the question without detective work.
- Verify the person. Strong sign-in decides who is asking.
- Verify the need. The bundle and its approval decide what the person may hold.
- Verify the moment. Time limits and reviews decide for how long.
- Verify the outcome. Logs and reconciliation prove what really happened.
For the most powerful bundles, ask for stronger sign-in at the moment of use, not only at the moment of request. Check which Okta policies can express this in your edition, and confirm in current documentation.
A hotel does not give every guest a master key forever. Each guest gets a card for one room and only for the nights booked. Bundles and expiry dates are the digital version of that card.
31Non-Human Identities and External Workers
Bundles are not only for employees. Service accounts, tokens, contractors, and partners hold permissions too, and are the least governed.
Service Accounts and Tokens
Software also needs permissions: a backup job that reads files, an integration that writes invoices. Give each non-human identity a human owner and a small purpose-built bundle, such as “Invoice integration: write invoices only,” instead of a copied broad role. Include these bundles in reviews with the owner as reviewer, rotate secrets, and alert on unusual use. The bundle makes it clear what the account may do, which makes anomalies easier to spot.
Contractors and Partners
| Control | Employee | External worker |
|---|---|---|
| Default bundles | Persona bundle by role | Minimal, project-specific |
| End date | On leaving | Mandatory at assignment |
| Sponsor | Manager | Named employee sponsor |
| Review frequency | Per tier | More frequent, with sponsor |
| High-risk bundles | With approval | Usually not allowed |
Do not give external workers an employee persona bundle for convenience. Create narrower bundles for them with end dates, or they will hold broad access long after their contract ends.
A building gives visitors a badge for the meeting room and the cafeteria, not the whole premises, and the badge expires at the end of the day. Permissions for people and machines from outside should be shaped the same way.
32Bundles Across Several Okta Orgs and Mergers
When a company runs more than one Okta org, or merges with another, bundles must be consistent or auditors will find gaps.
- Same names and tiers. A bundle for the same application should have the same name, description, and tier in every org.
- One home for each person. The home org owns identity and decides birthright bundles.
- Shared catalog source. Keep bundle definitions in a shared document or exported configuration, and compare orgs regularly for differences.
- One evidence trail. Stream logs from all orgs to one monitoring platform.
- Merger bridging. During a merger, give new colleagues narrow, time-limited bundles with sponsors until orgs are combined.
- Plan the merge of catalogs. Near-duplicate bundles from two companies should be combined by owners, not by copy and paste.
Okta offers ways to connect orgs, with details that vary by product and version, so confirm the options. The principle is the same as everywhere else: one owner per decision, the same rules everywhere, and one evidence trail.
Two bakeries merging should agree on the names of their breads, the recipes, and the prices before opening a shared shop. Otherwise customers get a different loaf under the same name each day.
33Automation Around Bundles
Routine bundle work, such as reminders, repairs, and lifecycle steps, should be done by machines so that people can focus on judgment.
Expiry reminders
Warn holders and owners before a time-limited bundle ends, with a one-click renewal request.
Mover reviews
Start a short confirmation task when a department changes.
Drift detection
Compare Okta’s bundle assignments with the application’s real permissions, and open tasks for differences.
Size and change alerts
Notify governance when a bundle grows past a set size or is edited outside change control.
Owner succession
When an owner leaves, reassign their bundles and alert the governance lead.
Notify security on sensitive grants
Post a message when a high-tier bundle is assigned.
Guardrails
- Cap how many assignments or removals one automation can make per run.
- Prefer reversible actions, and log every automated step.
- Test in a non-production org before enabling.
- Give every flow an owner and a review date.
A sprinkler system reacts to heat without anyone pressing a button, but it is tested regularly and has a shutoff valve. Good automation behaves like that: reliable, checked, and stoppable by a human.
34A Troubleshooting Playbook
When someone says “I have the bundle but cannot do the task,” or “I should not have this,” a steady routine finds the cause faster than guessing.
| Symptom | Likely cause | First check |
|---|---|---|
| Person holds bundle but lacks a permission | Partial grant or connector error | Check provisioning status and System Log for failures |
| Person has permissions without holding a bundle | Direct grant or leftover from before bundles | Compare application permissions with bundles held |
| Bundle not offered to a person | Eligibility rule excludes them | Check attributes the rule reads |
| Removing a bundle removed too much | Overlap with another bundle not handled | Check how shared entitlements are treated |
| Bundle assigned to the wrong people | Rule reads bad data | Preview the rule and inspect attributes |
| Expired bundle still active | Expiry job failed or entitlement granted directly as well | Compare Okta with the application |
| Conflict check blocked a valid request | Rule too broad or out of date | Read the rule and the person’s existing bundles |
The Routine
- State the exact disagreement: who, which bundle, which permission, which system.
- Read the log history for that person and bundle.
- Compare Okta’s record with the application’s real permissions.
- Check the rule or request that created the assignment.
- Repair the case, then the cause, then look for others with the same pattern.
A good mechanic follows a routine: listen, check fuel, check spark, check air. A repeatable routine finds the fault with less luck and less cost.
35Privacy and Fairness in Bundle Data
Bundle systems collect facts about people: who holds what, who approved it, and when. That data deserves care, and the rules that use it must treat people fairly.
This chapter is general guidance, not legal advice. Privacy law differs by country and by industry, so ask your privacy and legal teams what applies to you.
Privacy Habits
- Collect only the attributes your rules truly need.
- Limit who can see the full list of bundle holders.
- Keep logs as long as audit needs and no longer.
- Explain to employees what is recorded and why.
- Do not put personal details in bundle names or descriptions.
Fairness Habits
Eligibility rules can quietly favor some groups. A rule that grants a helpful bundle only to people at one office may leave remote workers behind. Ask regularly: who is not getting this bundle, and is that deliberate? Give people a clear path to ask for an exception, and give the decision to a human who can explain it.
A library keeps records of who borrowed which book, but a good librarian does not announce it to the street. Records are for running the library, not for gossip.
36Securing the Bundle System
Whoever can edit a bundle can change the access of everyone who holds it. The bundle catalog is a high-value target.
| Threat | How it happens | Defense |
|---|---|---|
| Silent bundle edit | An attacker or careless admin adds a powerful entitlement to a common bundle | Change review, alerts on edits, version history |
| Rule tampering | Birthright rules loosened so more people get a bundle | Rule change approval and monitoring |
| Owner impersonation | Attacker approves as a bundle owner | Strong sign-in, approval records, no shared owner mailboxes |
| Hidden bundle | An unlisted bundle used for private grants | Report on all bundles, flag unowned ones |
| Direct grants outside bundles | Admins assign entitlements by hand | Detect and report direct grants, restrict who can make them |
| Evidence tampering | Logs changed or deleted | Stream to independent storage |
Habits That Help
- Keep the number of people who can edit bundles small, with strong sign-in and dedicated accounts.
- Require a second person to review every change to a high-tier bundle.
- Export bundle definitions regularly, so changes can be compared.
- Review the list of bundle editors and owners at least twice a year.
The person who writes the recipe card that every cook follows can change every dish served. That is why a restaurant limits who may edit the card and keeps copies in the office safe.
37Monitoring, Logging and Metrics
A few well-chosen numbers show whether bundles are making access simpler or merely adding another layer.
What to Record
Okta’s System Log records assignments, removals, and administrative changes, including who did what and when. Event names and fields change by version, so inspect real events in your own org. Stream logs to a monitoring platform, because in-product retention is limited.
| Metric | What it tells you | Healthy direction |
|---|---|---|
| Share of access held through bundles | Coverage of the design | Rising toward most |
| Direct entitlement grants outside bundles | Leakage around the process | Falling |
| Bundles without owners | Governance gaps | Zero |
| Bundles with no holders in a year | Retirement candidates | Low, reviewed |
| Average entitlements per bundle | Creep signal | Stable |
| Revocation rate in reviews | Review quality | Non-zero, then settling |
| Time from approval to effective access | Fulfillment health | Minutes |
| Drift findings between Okta and applications | Reliability | Falling to near zero |
| Open conflict findings | Separation of duties health | Zero or each documented |
flowchart LR
SL["Okta System Log"] --> STR["Streaming"]
STR --> PLAT["Monitoring platform"]
PLAT --> DASH["Dashboards: coverage, drift, creep"]
PLAT --> ALR["Alerts: bundle edits, sensitive grants, drift spikes"]
ALR --> SEC["Security and governance team"]
DASH --> REV["Quarterly bundle review"]
A car dashboard shows speed, fuel, and warnings, not every internal sensor. These metrics are the dashboard of a bundle program.
38Audit Evidence and Compliance
Auditors want to know who has what access, who approved it, and whether it is still needed. Bundles make those answers short.
| Auditor question | Evidence from the bundle program |
|---|---|
| What does this person have access to? | List of bundles with plain descriptions, expandable to entitlements |
| Why do they have it? | Birthright rule or approved request with justification |
| Who approved it? | Approver identities, times, comments |
| Are conflicting duties separated? | Separation of duties rules and check results |
| Is it still needed? | Latest certification results |
| Who controls the bundle? | Owner records and change history |
| Did removal work? | Removal events and reconciliation reports |
Different frameworks, such as those for financial reporting, service organization controls, information security standards, health data rules, and payment card rules, phrase these questions differently, but the substance is similar. This is general orientation, not audit advice, so have your compliance team confirm exact expectations.
Making Evidence Easy
- Be able to retrieve the full story for any single person within minutes.
- Store reports where they cannot be quietly edited.
- Keep records as long as policy and regulation require.
- Write short control descriptions with owners and frequencies.
People who keep receipts all year find tax season easy. A bundle program files the receipts for you, one per decision.
39Performance, Scale and Failure Scenarios
A design that works for fifty bundles and a hundred users must also work for five hundred bundles and tens of thousands.
Where Scale Hurts
- Mass assignment. Changing a birthright rule can assign or remove a bundle for thousands of people in one run. Rate limits on Okta and applications may slow it. Check current limits.
- Large bundles. A bundle with many entitlements multiplies every assignment into many calls.
- Reconciliation time. Comparing all holders against all applications takes time, so plan windows.
- Catalog growth. More bundles need more owners and reviews.
Failure Scenarios
| Failure | Effect | Response |
|---|---|---|
| Connector fails during a grant | Partial permissions | Retry, alert, reconcile, never leave silent |
| Application changes its permission model | Bundle contents no longer match | Change notices, contract tests, owner review after upgrades |
| Wrong rule assigns a bundle widely | Mass over-privilege | Preview before publishing, kill switch, rollback plan |
| Owner leaves | Unowned bundle | Automatic reassignment and alert |
| Rate limits hit during bulk work | Slow assignment | Stage in batches, back off, run off-peak |
| Identity provider outage | No sign-in or approvals | Documented emergency path and break-glass accounts |
Write 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.
When a theater empties, staff open several doors and guide people out in waves rather than letting everyone rush one exit. Staging large bundle changes avoids the same jam.
40Advantages, Disadvantages and Trade-offs
Bundles are not free. Weigh the benefits against the effort honestly.
Advantages
- Requests, approvals, and reviews become understandable.
- Less copying of colleagues’ excess permissions.
- Faster onboarding through birthright bundles.
- Clear ownership and change history.
- Shorter, more meaningful certification reviews.
- Audit evidence that reads in plain language.
Disadvantages
- Design and cleanup effort before value appears.
- Owners must be found and kept engaged.
- Bundles can drift and grow without discipline.
- Depends on connector support for entitlements.
- Another layer to maintain and explain.
- Poor bundles hide excess access behind friendly names.
Main Trade-offs
| Trade-off | Leaning one way | Leaning the other |
|---|---|---|
| Few big bundles versus many small | Easy to run, more excess access | Precise, heavier to maintain |
| Birthright versus request | Fast, risk of broad spread | Controlled, slower |
| Central versus local ownership | Consistent, slower to change | Responsive, harder to audit |
| Strict versus relaxed change control | Safer, slower | Agile, creep risk |
| Detailed versus simple descriptions | Precise, longer to read | Readable, may omit nuance |
A good bundle is small enough to understand, large enough to be useful, and owned by someone who can explain every line of it.
A town with a few wide roads is easy to map but crowded. A town with many narrow lanes is precise but hard to navigate. Good planners mix a few main roads with side streets.
41Design Patterns and Anti-Patterns
Habits that keep bundles healthy, and mistakes that keep recurring.
Patterns That Work
Start application-level
Begin with one-owner bundles inside single applications, then compose larger ones.
Persona plus add-ons
A small persona bundle by role, plus requestable add-on bundles for exceptions.
Risk-separated bundles
Keep read, edit, approve, and administer in separate bundles with different approvals.
Justify every line
Each entitlement in a bundle has a written reason.
Expiry for add-ons
Requested bundles end by default.
Review the bundle, then the holders
One owner review serves everyone, and holder reviews stay short.
Anti-Patterns
What it looks like
A bundle is created by copying a senior employee’s full access.
Why it hurts
Every new holder inherits old, unneeded permissions. Over-privilege is now automated.
Better approach
Design bundles from job needs, and have the owner justify each entitlement.
What it looks like
One giant bundle called “Billing full access” mixes read, edit, approve, and administer.
Why it hurts
Nobody can request or review it sensibly, and it conflicts with separation of duties.
Better approach
Split by purpose and risk, with stricter approval for the dangerous parts.
What it looks like
Bundles multiply without limit: a new one for every team and exception.
Why it hurts
The catalog becomes as confusing as the raw permissions it replaced.
Better approach
Set a creation standard, merge near-duplicates, and retire unused bundles each year.
What it looks like
Administrators still assign entitlements directly “to be quick,” outside bundles.
Why it hurts
Bundles show only part of what people really hold, so reviews and evidence are incomplete.
Better approach
Restrict direct grants, detect and report them, and provide a quick bundle-based path.
What it looks like
Bundles have owners in name only. Nobody reviews them, and changes are made casually.
Why it hurts
Creep and drift go unnoticed until an incident or audit.
Better approach
Make ownership real: named owner and deputy, change control, and a yearly review.
Old sailors kept charts of rocks so that new captains did not have to find them personally. Patterns and anti-patterns are charts for bundle designers.
42Getting People to Use Bundles: Change Management
A perfect catalog that people go around protects nothing. Habits change when the new way is easier, clearly explained, and supported by leaders.
Explain the benefit
Faster onboarding, fewer chases, shorter reviews. Skip jargon.
Train owners and approvers first
Short guides on what a good bundle looks like and how to decide on requests and reviews.
Pilot with friendly teams
Collect feedback, fix confusing descriptions, and gather a few success stories.
Close the old paths
Once bundles work, stop honoring requests to copy a colleague or add raw permissions by email.
Report back
Share onboarding times and review results so people see the improvement.
When a town opens a new bridge, it also closes the old rickety crossing and puts up signs. A new road nobody is told about leaves traffic on the old, dangerous one.
43Common Mistakes in the First Year
New bundle programs repeat the same early mistakes. Knowing them in advance is a cheap form of experience.
| Mistake | What it causes | Cure |
|---|---|---|
| Bundling every application at once | Thin quality and tired owners | Start with two high-value applications |
| Skipping data cleanup | Cryptic bundles and bad reviews | Classify entitlements first |
| Copying a senior person’s access | Excess permissions become policy | Owner justifies every line |
| No conflict rules | Harmful combinations slip through | Define rules for the top sensitive process first |
| Weak ownership | Creep and drift | Named owner, deputy, and yearly review |
| Leaving direct grants open | Bundles show only part of the truth | Detect, report, and restrict direct grants |
| No reconciliation | Okta and applications disagree unnoticed | Schedule comparisons |
| Treating launch as the end | Catalog decays | Quarterly review of bundles and rules |
New drivers make the same few mistakes: following too closely, forgetting mirrors, taking corners fast. Hearing about them in advance does not remove the need to practice, but it shortens the learning.
44Common Myths About Bundles
A few wrong beliefs cause most of the disappointment. Clearing them up early saves effort.
| Myth | Reality |
|---|---|
| “Bundles are just roles with a new name.” | Roles describe jobs. Bundles describe packages of permissions for tasks, with owners, tiers, and review rules. They work together. |
| “Bigger bundles are simpler, so better.” | Big bundles hide excess access and defeat least privilege and separation of duties. |
| “Once bundled, access is safe.” | A bad bundle spreads a mistake widely. Quality of design and review decides safety. |
| “Every application can have bundles.” | Only where entitlements can be seen and managed. Others need group-based or ticket-based workarounds. |
| “The tool designs the bundles for us.” | Mining suggests candidates. Owners must decide what belongs. |
| “Bundles remove the need for reviews.” | Bundles make reviews possible and short. They do not replace them. |
| “We can fix naming later.” | Names are what managers see. Poor names produce rubber-stamped reviews from day one. |
| “Direct grants are harmless exceptions.” | They are invisible to bundle-based reviews and quietly accumulate. |
Packing everything into one huge suitcase makes travel simple until you must find the passport. Well-labeled smaller bags are quicker to use and easier to check at the border.
45Small Details That Decide Success
Most bundle projects do not fail on big ideas. They fail on small details that nobody wrote down.
Display names in other tools
Make sure the friendly bundle name appears in request pages, review screens, and reports, not just in the admin console.
Vendor upgrades
Application upgrades can add, rename, or remove permissions. Ask vendors for release notes and recheck bundles after each upgrade.
Language and region
Descriptions should be understandable by reviewers in every region where they will be read.
Sandbox versus production
Test bundles may be named like real ones. Keep naming clear so no one assigns a test bundle in production.
Shared mailboxes as owners
Owners must be named people. A shared inbox cannot be accountable.
Archived bundles
When retiring, keep the history for audit, but make sure the bundle can no longer be requested or assigned.
A marathon is seldom lost at the starting line. It is lost to a blister at kilometer thirty. Small unwritten details do the same to access projects.
46Best Practices Checklist
A short list to check before launch and each year after.
Design
- Each bundle has one purpose, one risk tier, a plain name, and a description a manager can understand.
- Every entitlement in a bundle has a written reason.
- Conflicting entitlements never share a bundle, and cross-bundle conflicts are defined.
- Birthright bundles cover common role needs, and sensitive access is requestable with an end date.
Ownership and Change
- Every bundle has an owner and a deputy.
- A second person reviews new bundles and changes.
- Changes are previewed for impact on current holders before they are applied.
- Unused bundles and entitlements are pruned at least annually.
Operation and Evidence
- Reviews use bundle names and descriptions, with context and outlier highlighting.
- Revocations are automatic and verified in the application.
- Direct grants outside bundles are detected and reported.
- Logs stream to independent storage, with alerts on bundle edits and sensitive grants.
- Okta records are reconciled against application permissions on a schedule.
Pilots read a checklist before every flight though they know how to fly. It guards against the one small step forgotten on a busy day.
47A Design Exercise: Summit’s Billing Bundles From Start to Finish
Let us put the pieces together by designing bundles for the billing application the way a working team would.
Step 1: Gather the Facts
The billing application exposes 212 entitlements. Summit has 140 billing staff in four roles: analyst, senior analyst, billing manager, and administrator. An export shows who holds what.
Step 2: Mine for Patterns
Analysis shows 11 entitlements held by almost every analyst, 3 more held by senior analysts, 2 credit approval permissions held by 9 people, and 14 administrator permissions held by 6 people. It also shows 40 entitlements nobody has used in a year.
Step 3: Propose Bundles
| Bundle | Entitlements | Delivery | Tier |
|---|---|---|---|
| Billing: analyst standard | 11 | Birthright for analysts | Medium |
| Billing: senior add-on | 3 | Birthright for senior analysts | Medium |
| Billing: credit approval | 2 | Requestable, managers only, training required | High |
| Billing: rate administrator | 14 | Requestable, short duration, security approval | Critical |
| Billing: read only | 4 | Requestable, auto-approved for finance and audit | Low |
Step 4: Apply Conflict Rules
The team defines that credit entry and credit approval cannot be held together. A scan finds 2 people who hold both. One is moved, and the other receives a documented exception with extra monitoring.
Step 5: Retire the Unused
The 40 unused entitlements are flagged for owner review. Thirty are removed from the application’s roles. Ten are kept for year-end tasks and marked exempt, with a reason.
flowchart TD
A["212 entitlements, 140 people"] --> B["Mine patterns by role"]
B --> C["Propose five bundles"]
C --> D["Owner justifies each entitlement"]
D --> E["Add conflict rules and scan holders"]
E --> F["Publish, assign, reconcile"]
F --> G["Retire unused entitlements and review yearly"]
A tailor measures the customer, cuts a pattern, fits it, and trims the excess cloth. Bundle design is fitting access to the person and the task instead of handing out a size that never fits.
48Real-World Scenarios and Worked Numbers
Stories from the fictional Summit Logistics show the ideas at work. All numbers are illustrative.
Scenario 1: The inherited approval power
When Neha joined, her manager no longer copied Karan’s access. The analyst bundle gave her 11 entitlements and nothing else. A year later, Karan’s old credit approval rights were found in his own record and removed through a review, because credit approval had become its own high-tier bundle that he did not need.
Scenario 2: The fast onboarding
A new group of 30 warehouse supervisors joined in one week. Their persona bundle was assigned automatically by job code, and every supervisor could work on day one. In the old process, each had needed an average of nine separate requests.
Scenario 3: The bundle that grew
A shared reporting bundle grew from 8 to 31 entitlements over three years. An annual size alert flagged it. The owner compared usage data, found that 17 entitlements were rarely used by most holders, split them into two add-on bundles for the few who needed them, and trimmed the main bundle back to 11.
Worked Numbers: Why Bundles Shrink Reviews
Suppose Summit has 6,500 employees, each holding on average 60 individual entitlements across applications. That is 390,000 items to review if everything is shown raw.
| Step | Items to review | Reason |
|---|---|---|
| Raw entitlements | 390,000 | Every permission for every person |
| Group into bundles, 60 entitlements become about 6 bundles per person | 39,000 | One item per bundle held |
| Review birthright bundles once at role level | about 13,000 | Owners confirm the role bundles, not each person |
| Focus on higher tiers per person | about 6,500 | Low-tier bundles reviewed less often |
| Highlight outliers first | about 1,000 need close attention | Bundles peers in the same role do not hold |
Review work falls from 390,000 raw items to about 6,500 meaningful ones, with roughly 1,000 deserving real thought. The numbers are invented to show the method, but the pattern is real: bundles succeed by removing what does not need reviewing, so humans can focus on what does.
49Measuring the Value of a Bundle Program
Leaders fund what they can see. A few simple measures show whether bundles are earning their keep.
| Measure | What it shows | Healthy direction |
|---|---|---|
| Days to full access for a new hire | Speed of onboarding | Falling, then steady |
| Requests that are for raw permissions | Whether people use bundles | Falling |
| Average permissions per person | Creep | Flat or falling |
| Review items per reviewer | Review fatigue | Falling |
| Share of reviews with a removal | Whether reviews bite | Not zero |
| Direct grants outside bundles | Control gaps | Falling |
| Bundles without a current owner | Governance health | Zero |
Report these every quarter in one page. Pair numbers with a short story, such as a team that onboarded in a day instead of a week. Numbers persuade the head, and stories persuade the heart.
A gardener checks soil, growth and weeds each season. Without checking, the garden may look fine from the path while the roots are failing.
50A Maturity Path and a 90-Day Plan
Nobody builds the perfect catalog at once. A short path shows where you are and what to do next.
Level 1: Raw permissions
Access is granted by copying colleagues or assigning broad roles. No bundles.
Level 2: Named packages
Some bundles exist for the main applications, with names and owners.
Level 3: Governed
Tiers, birthright and requestable delivery, change control, and conflict rules.
Level 4: Measured
Metrics, drift detection, usage-based pruning, and linked reviews.
Level 5: Optimized
Mining suggests changes continuously, and bundles adapt as work changes.
| Period | Focus | Outputs |
|---|---|---|
| Days 1 to 30 | Discover | Application inventory with tiers, connector support check, entitlement exports for two pilot applications, owners named |
| Days 31 to 60 | Design and pilot | Mined candidates, five to ten bundles with names and descriptions, conflict rules for the most sensitive process, pilot with one department |
| Days 61 to 90 | Deliver and review | Birthright assignment for one role, requestable bundles with end dates, first review campaign using bundles, first metrics report |
flowchart LR
A["Inventory and owners"] --> B["Mine two pilot apps"]
B --> C["Design first bundles"]
C --> D["Pilot and conflict rules"]
D --> E["Birthright and requests"]
E --> F["Review, measure, expand"]
A gardener learns where the sun falls, plants a few hardy seeds, expands the beds, and only later adds irrigation. Each step builds on the one before.
51A Week in the Life of a Healthy Bundle Program
It helps to picture what steady, boring success looks like. A healthy program is quiet: small routines, few surprises, and no heroic rescues.
Monday: new starters
Three new employees arrive. Birthright bundles give each of them email, chat and their team tools before the first coffee. Nobody files a ticket.
Tuesday: requests
An analyst requests the reporting bundle. The manager and the bundle owner approve it within hours because the description is clear and the bundle is small.
Wednesday: a block
A request for a bundle that would create a harmful combination is stopped by the conflict rule. The requester sees a polite explanation and a path to ask for an exception.
Thursday: expiry and reconciliation
Temporary bundles that reached their end date are removed by the schedule. A comparison job reports one stray direct grant, which is fixed the same day.
Friday: a quick look
The program lead glances at one dashboard: onboarding time, open reviews, bundles without owners. Everything is within range, so the week ends calmly.
Notice what is missing: no emergency clean-ups, no spreadsheets passed between teams, and no one asking who approved something three years ago. That calm is the real product of a well-run bundle program.
A well-run railway is boring. Trains leave on time, signals work, and nobody writes stories about it. The boredom is the sign that careful work happens every day behind the scenes.
52Glossary of Terms
A quick reference for the words used in this guide.
| Term | Plain meaning |
|---|---|
| Birthright access | Access given automatically because of a role or attribute |
| Bundle | A named package of entitlements for a task |
| Bundle creep | Slow growth of a bundle beyond its purpose |
| Certification | A review in which access is confirmed or revoked |
| Direct grant | An entitlement assigned outside any bundle |
| Drift | Differences between Okta’s records and the application’s reality |
| Entitlement | A specific permission inside an application |
| Holder | A person assigned a bundle |
| Least privilege | Giving no more access than needed |
| Persona bundle | A bundle built around a typical job |
| Reconciliation | Comparing two records and resolving differences |
| Requestable | Available through an approval process |
| Role mining | Finding patterns in existing access to propose bundles |
| Separation of duties | Rules that stop one person holding dangerous combinations |
| Tier | A risk level that sets approval depth and review frequency |
A pocket phrasebook does not make a traveler fluent, but it prevents small misunderstandings from growing. A shared glossary does the same inside a team.
53Frequently Asked Questions
54Summary and Key Takeaways
Entitlement bundles turn hundreds of cryptic permissions into a few named, owned, explainable packages. Done well, they make requests faster, reviews real, and audits short.
Key Takeaways
- A bundle packages permissions for a task. It has a plain name, a description, an owner, a risk tier, and rules for delivery and review.
- Use layers. Roles decide birthright bundles, requests add exceptions, and groups or direct assignments deliver them. Each layer does one job.
- Size and risk matter. One purpose and one risk tier per bundle. Separate read, edit, approve, and administer rights, and never put conflicting entitlements together.
- Mine, then challenge. Existing access shows which permissions travel together, but owners must justify every entitlement so old excess does not become policy.
- Control change. Preview the impact on current holders, use a second reviewer, prefer new small bundles over enlarging old ones, and prune unused entitlements yearly.
- Make reviews real. Show bundle names and descriptions with context and outliers, revoke automatically, verify removal, and watch revocation rates.
- Guard and measure. Limit who can edit bundles, detect direct grants, stream logs to independent storage, reconcile with applications, and review metrics every quarter.