How do we…
How do we build role-based access profiles without a role-mining project?
Add to board memoOpen the memo
The short answer
- Recommendation
- Build each profile from the access people in a job role already hold. Keep what most of the role holds and uses, have each system owner strike out what the job does not need, and treat everything else as non-standard access with an expiry, or remove it.
- Reasoning
- A role profile is approved once and granted many times: joiners and movers receive it without further approval. That only works if every profile is right. Building from each system's own user list needs no role-mining tool, and a handful of the largest roles usually covers most staff. Because one approval covers everyone who receives the profile, a profile never holds privileged access or both duties of a segregation-of-duties conflict (JML-03).
- Considerations
- The 80% share, the 90-day use window, the 12-month review and the 6-month limit on non-standard access are the pack's defaults. Your own standard may set others.
- A role of only a few people may not be worth a profile yet. Those people receive the base profile and non-standard access until a pattern shows.
- If you cannot tell whether a right gives administrator access, treat it as privileged until the system owner answers. Privileged access follows the privileged access standard (JML-16).
- The person who builds the groups that carry a profile does not approve its content (JML-05). Where a service provider runs your IT, the profile owner and system owners stay inside your organisation.
The decision, step by step
Select any step for the reasoning behind it and where the pack covers it.
- Start
- Step
- Decision
- Outcome
- Loop back
Keyboard: Tab to a step, arrow keys move along the flow, Enter pins its explanation, + and − zoom, 0 fits the diagram, Esc closes. The text version below has the same content.
Where a step quotes a number, it is the default in the CISO Times pack. Your own standard may set a different one.
Read as text
The same flow written out: each step, its reasoning and where the pack covers it. 17 steps.
Start
You need standard access for the common jobs
A role profile is approved once and granted many times: joiners and movers receive it without further approval. That only works if every profile is right, so a profile never holds a conflict or privileged access. The method needs no role-mining tool, only the HR record's job roles, each system's own user list and the system owners' judgement.
In the pack
- P13-A02 Access Control PolicyStandard access, other access and who approves it (rule JML-03)
- P13-A04 Role-Based Access Profile MatrixBuild profiles
Step
Rank job roles by headcount from the HR record
List the job roles in the HR record with the number of people in each, largest first, and keep the dated extract. In the pack's example seven role profiles covered 701 of about 900 staff, which the pack calls a good first year.
In the pack
- P13-A04 Role-Based Access Profile MatrixBuild profiles
- P13-A03 Joiner-Mover-Leaver Operating ProcedureBuilding role profiles
Decision
Is this one of the roles that hold most staff?
Start with the largest roles and work down. Where to stop is your judgement: the pack's advice for a small organisation is to begin with the three or four roles that hold most staff. A role of only a few people may not be worth a profile yet.
- Yes: Extract who holds what in each system, with last sign-in
- No: a role of a few people: Use the base profile and non-standard access for now
In the pack
- P13-A04 Role-Based Access Profile MatrixInstructions
- P13-A03 Joiner-Mover-Leaver Operating ProcedureBuilding role profiles
Outcome
Use the base profile and non-standard access for now
People in smaller roles receive the base profile, and anything more the job needs as non-standard access with an approval and an expiry. Revisit the role at the annual profile review: non-standard access that most of a role has held for a year is a candidate for a profile.
In the pack
- P13-A04 Role-Based Access Profile MatrixBuild profiles
- P13-A03 Joiner-Mover-Leaver Operating ProcedureBuilding role profiles
Step
Extract who holds what in each system, with last sign-in
Take each system's own user list for the people in the role, with the rights each holds and when they last signed in. Keep each extract with its date: it is the evidence the profile was built from what people actually hold.
In the pack
- P13-A04 Role-Based Access Profile MatrixBuild profiles
- P07-A02 Access Review MethodologyThe rules (rules AR-01, AR-03)
Step
Each system owner strikes out what the job does not need
Ask the owner of each system to strike out anything the role does not need for the job. Needed means the job cannot be done without the right, at that level, now: a clerk who enters invoices needs the entry role, not a supervisor role that also approves them. Keep the owner's marked-up list.
In the pack
- P13-A04 Role-Based Access Profile MatrixBuild profiles
- P13-A02 Access Control PolicyAccess principles
- P07-A02 Access Review MethodologyWhat "needed for the job" means
Decision
Does the draft include any privileged right?
A right is privileged if it gives administrator access: administrator groups, super-user roles, an application's admin console. No profile ever holds one, whatever share of the role holds it today. If you cannot tell whether a right is administrative, ask the system owner and treat it as privileged until they answer.
- Yes, or not sure: Take it out; it goes to the privileged access process
- No: Does the draft hold both duties of a conflict?
In the pack
- P13-A04 Role-Based Access Profile MatrixInstructions (rule JML-16)
- P07-A02 Access Review MethodologyAccounts
Step
Take it out; it goes to the privileged access process
Note each privileged right you leave out and where it is managed instead. In the pack's example the directory administrator groups and the online ordering admin console appear in no profile and follow the privileged access standard, with separate accounts and their own approvals.
In the pack
- P13-A04 Role-Based Access Profile MatrixBuild profiles
- P13-A02 Access Control PolicyPrivileged access
Decision
Does the draft hold both duties of a conflict?
Check the draft against each conflict in the segregation-of-duties conflict matrix, written as the two rights in the system's own words. A profile never contains both duties of a conflict, because every joiner and mover would then receive the conflict with no further approval. If the matrix has not been mapped to your systems' rights yet, do that first.
- Yes, or not known: Split the duties into separate profiles
- No: Name the profile owner and send each right to its system owner
In the pack
- P13-A04 Role-Based Access Profile MatrixConflict Check (rule JML-03)
- P02-A02 Security Exception & Waiver StandardSegregation of duties (rule SD-02)
Step
Split the duties into separate profiles
Put the two duties in two profiles held by different people. In the pack's example the accounts payable clerk holds supplier bank details and the payments officer holds payment approval, so no profile holds both. A profile is never approved with a conflict inside it, even where one person will later need an exception.
- Then: Does the draft hold both duties of a conflict? (back to an earlier step)
In the pack
- P13-A03 Joiner-Mover-Leaver Operating ProcedureBuilding role profiles
- P13-A04 Role-Based Access Profile MatrixBuild profiles
Step
Name the profile owner and send each right to its system owner
The profile owner is normally the head of the department that holds the role. The owner of every system in the profile approves the rights in their system, with the date. The person who builds the groups that carry the profile does not approve its content.
In the pack
- P13-A04 Role-Based Access Profile MatrixBuild profiles
- P13-A04 Role-Based Access Profile MatrixRules (rule JML-05)
Decision
Has every system owner approved the rights in their system?
A role profile is approved by the owner of every system in it, and that one approval covers every joiner and mover who receives it. A right whose system owner has not approved it is not yet part of the profile.
- No, not yet: Do not use the profile until every approval is in
- Yes: Do people in the role hold rights outside the profile?
In the pack
- P13-A02 Access Control PolicyWho approves access
- P13-A04 Role-Based Access Profile MatrixInstructions
Outcome
Do not use the profile until every approval is in
Clear every check that does not show the right as ready for the profile before the profile is used. Until then, joiners in the role receive the base profile and request what else they need as non-standard access.
In the pack
- P13-A04 Role-Based Access Profile MatrixInstructions
- P13-A04 Role-Based Access Profile MatrixProfiles
Decision
Do people in the role hold rights outside the profile?
Compare what each person in the role holds with the approved profile. Rights the profile leaves out, because few people hold them or they were not needed, are still on people's accounts until someone acts.
- Yes: Approve each extra right with an expiry, or remove it
- No: Use it for joiners and movers; review it every 12 months
In the pack
- P13-A03 Joiner-Mover-Leaver Operating ProcedureBuilding role profiles
- P13-A04 Role-Based Access Profile MatrixBuild profiles
Step
Approve each extra right with an expiry, or remove it
Everything else a person in the role holds is non-standard: it is approved by the line manager and the system owner with an expiry no more than 6 months ahead by the pack's default, or it is removed. Nothing outside a profile stays without an end date.
In the pack
- P13-A04 Role-Based Access Profile MatrixBuild profiles (rule JML-04)
- P13-A05 Access Request & Approval FormApproval authority
Outcome
Use it for joiners and movers; review it every 12 months
Joiners and movers now receive the profile without further approval. Review each profile every 12 months by the pack's default, and after a reorganisation or a new core system, recording what changed and who approved it. Non-standard access that most of the role has held for a year is a candidate to join the profile at that review.
In the pack
- P13-A04 Role-Based Access Profile MatrixRules (rule JML-03)
- P13-A04 Role-Based Access Profile MatrixBuild profiles
- P13-A05 Access Request & Approval FormRenewals, extensions and removal at expiry
Practical checklist
- List job roles from the HR record by headcount, and start with the largest.
- Extract who holds which rights in each system for the role, with their last sign-in, and keep each dated extract.
- Keep only the rights that at least 80% of the role hold and have used in the last 90 days.
- Ask each system owner to strike out anything the job does not need.
- Take out every privileged right, and split any profile that holds both duties of a conflict into separate profiles.
- Name the profile owner and record each system owner's approval with the date. Use the profile only once every approval is in.
- Approve every other right people in the role hold as non-standard access with an expiry, or remove it.
- Review each profile every 12 months and after a reorganisation or a new core system.
Evidence to have ready
- The dated HR extract of job roles with their headcount.
- Each system's extract of who holds what, with the last sign-in, and the share each right reached.
- Each system owner's marked-up list and approval with the date, and the profile owner's name.
- The conflict check kept with each profile, and a note of every privileged right left out and where it is managed instead.
- The non-standard requests for rights left outside the profiles, each with its approvers and expiry, and each profile's review record.
Assumptions
- You can extract from each system who holds which rights, with their last sign-in, and the HR record gives each person's job role.
- Each system has an owner who can say what a role needs for the job, and you have a segregation-of-duties conflict matrix to check profiles against.
- The 80% share, the 90-day use window and the 12-month review are the CISO Times pack's defaults. Your own standard may set others.
Not covered here
- Administrator and other privileged rights, which stay out of every profile. That is “How do we control administrator access without a PAM platform?”.
- Access a person needs beyond their profile, and who approves it. That is “Who approves access that isn't in the role's standard profile?”.
- Separating duties when there are too few people to split a role. That is “How do we separate duties when there are only a few people?”.
- Configuring groups or roles in a particular product. Use the provider's documentation.
Related questions
- How do we set up a new starter's access before their first day?
- Who approves access that isn't in the role's standard profile?
- When someone changes role, when do they lose their old access?
- How do we separate duties when there are only a few people?
- How do we run an access review that isn't rubber-stamped?