Independent thinking. Informed defence.

CISO Times

Intelligence for the people behind the defence.

The CISO Decision Brief

How do we…

How do we run an access review that isn't rubber-stamped?

4 decision pointsThe pack behind this answer: User Access Review

Add to board memo

The short answer

Recommendation
Design rubber-stamping out before launch, and check for it before close. Give reviewers a complete, dated extract with leavers and unused accounts flagged, allow only four decisions, keep nothing by default, and check every reviewer's list for the four warning signals.
Reasoning
A reviewer who sees bare account names, with no job title or last sign-in, has nothing to judge, so they approve. Flagged leavers and unused accounts put the answer in front of them, and ignoring it becomes visible. An unanswered entry has not been reviewed, so it is escalated and never kept. The four signals catch obvious rubber-stamping only, so sampling, calibration and the re-performance test keep running too.
Considerations
  • The thresholds (more than 25 entries kept whole, under 5 seconds a decision, 90 days without sign-in, a sample of 10) are the pack's defaults. Your own method may set others.
  • A leaver or unused account marked Keep is the strongest signal: the data showed the answer. The system owner changes it to Revoke, and the reviewer's other decisions are sampled.
  • Being flagged is not an accusation. A list where everything should be kept is fine if the doubtful entries carry a reason.
  • If more than 1 in 10 reviewers show a signal, the pack reads that as a sign the method or the instructions need attention.

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.
  1. Start

    An access review campaign is about to launch

    An access review should produce decisions, not signatures. A reviewer who sees a bare list of account names, with no job titles or last sign-in, has nothing to judge, so they approve it. Fix the inputs and the choices first, then check the results before you close.

    In the pack

  2. Step

    Prepare a dated extract with leavers and unused accounts flagged

    Each extract must show every account with its name, role, permissions and last sign-in, taken on a stated date. Match it to HR's list of staff, leavers and movers, and flag leavers, accounts with no sign-in for 90 days and accounts with no owner. Reviewers then see the answer in front of them, and ignoring it becomes visible.

    In the pack

  3. Decision

    Does the extract reconcile and show last sign-in?

    Reconcile means the number of entries equals the count the system itself reports. Check that privileged groups, service accounts and third-party accounts are present and every column is filled. Without last sign-in, reviewers cannot find unused accounts, which is the most common reason a review misses them.

    In the pack

  4. Step

    Take the extract again before anyone reviews it

    A decision made on an incomplete list is not a decision. Take the extract again. If a system's extract cannot be completed in this campaign, leave that system out and raise the gap as a finding, reported with the campaign.

    In the pack

  5. Step

    Send each entry to someone who can judge it

    Line managers decide whether their people still need the system for their current job. System owners decide the permissions, and every privileged, generic, service and third-party account. Nobody reviews their own access or the access of anyone who reviews theirs. A reviewer who cannot know the people on the list can only approve it.

    In the pack

  6. Step

    Allow four decisions only, with a reason for each change

    Keep, Modify, Revoke or Cannot decide. Anything other than Keep needs a reason. Cannot decide sends the entry to the system owner, so an unsure reviewer never has to keep something to be safe. Give reviewers the same questions in the same order, and brief them with worked cases, so that two reviewers reach the same answer.

    In the pack

  7. Decision

    Did every entry get a decision by the deadline?

    An entry with no answer has not been reviewed. It is never counted as Keep. Open entries go up an escalation ladder, which “If a reviewer misses the deadline, then what?” sets out.

    In the pack

  8. Step

    Send open entries to the system owner to decide

    At the deadline, unanswered entries go to the system owner, who decides them within 2 working days in the pack's default. Anything still undecided then goes to the Head of Information Security. The reviewer is named in the campaign report.

    In the pack

  9. Step

    Check every reviewer's list for the four warning signals

    Information security runs this check on every campaign, after the deadline and before close. The signals are: a reviewer keeps every entry of a long list (more than 25 in the pack's default) in one sitting; decisions average under 5 seconds each; leavers or unused accounts are marked Keep; privileged or generic accounts are kept with no named owner. A spreadsheet can still show the first and third.

    In the pack

  10. Decision

    Which signal does the list show?

    Check each list for all four. Reviewers are told in advance that these checks run, and being flagged is not an accusation. A list where everything genuinely should be kept is fine if the doubtful entries carry a reason.

    In the pack

  11. Step

    Change it to Revoke, and sample the reviewer's other decisions

    This is the strongest signal: the data showed the answer and the reviewer ignored it. The system owner changes the entry to Revoke, and information security samples the rest of that reviewer's list.

    In the pack

  12. Step

    Change it to Cannot decide until an owner is named

    Every privileged, generic and service account must have a named person who answers for it. A Keep without one is not a decision. It stays Cannot decide until the system owner names an owner, or the account is revoked.

    In the pack

  13. Step

    Sample the list, and re-review it if any sample is wrong

    A long list kept whole is sent back, or re-reviewed by the system owner, and information security checks a sample of entries (10 in the pack's default). For decisions made too fast, information security checks a sample of 10; if any is wrong, the whole list is reviewed again.

    In the pack

  14. Step

    Put every changed decision through removal and confirmation

    A decision the check changes is removed and confirmed like any other. Its removal window counts from the day of the quality check. The campaign does not close while any signal is unresolved.

    In the pack

  15. Decision

    Did the same reviewer show a signal last campaign too?

    One flagged list can be a bad day. The same reviewer twice in a row is a pattern that the next campaign's checks will not fix on their own.

    In the pack

  16. Step

    Report it to their manager and brief them before the next

    The reviewer is reported to their own manager and gets a short briefing from information security before the next campaign. If more than 1 in 10 reviewers show a signal, the pack treats that as a sign the method or the instructions need changing.

    In the pack

  17. Outcome

    Close, and report what the review removed

    State how many signals were found and what was done, even when none were. Report the access removed and the accounts that should never have existed, not '100% reviewed': completion only says the lists came back. The signals catch obvious rubber-stamping only, so keep sampling, calibration and the re-performance test running too.

    In the pack

Practical checklist

  1. Take a dated extract with name, role, permissions and last sign-in, and reconcile its count with the system's own.
  2. Match it to HR's list, and flag leavers, accounts with no sign-in for 90 days and accounts with no owner.
  3. Send each entry to someone who can judge it, and check nobody reviews their own access or their reviewer's.
  4. Allow only Keep, Modify, Revoke or Cannot decide, with a reason for anything other than Keep.
  5. Send entries unanswered at the deadline to the system owner, then to the Head of Information Security.
  6. Check every reviewer's list for the four signals after the deadline and before close, and resolve each one found.
  7. Put every changed decision through removal and confirmation on a fresh extract.
  8. Report what the review removed and how many signals were found, never the percentage completed alone.

Evidence to have ready

  • The dated extracts, with how each count was reconciled and the flags reviewers saw.
  • Every decision with the reviewer's name, the date and a reason for Modify, Revoke and Cannot decide.
  • The quality check record: each signal, whether it was seen and what was done, even when none was seen.
  • The campaign report: access removed, accounts that should never have existed, and reviewers who did not answer.

Assumptions

  • You run reviews as campaigns: one extract date, one decision deadline and one close date for the systems due.
  • The thresholds shown (list size, seconds per decision, days without sign-in, sample size) are the defaults in the CISO Times access review pack. Your own method may set different ones. The four signals matter more than the numbers.

Not covered here