◇ OpenCyber Academy
Bachelor's · Chapter 26 · English

Chapter 26 — Identity and access management: methods II

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

Chapter 26 — Identity and access management: methods II

Lesson map

Lesson 26 published. Map, example, EX076.

flowchart TD
  N0["Learning outcomes"]
  N1["26.1 Measuring leavers"]
  N2["Lab — Leaver delays"]
  N3["26.2 Reading the delays"]
  N4["26.3 Improving movers"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Worked example"]
  EX --> Q["Exercise EX076"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["26.1 Measuring leavers"]
  N2["Lab — Leaver delays"]
  N3["26.2 Reading the delays"]
  N4["26.3 Improving movers"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX076"]
[Learning outcomes]
    |
    v
[26.1 Measuring leavers]
    |
    v
[Lab — Leaver delays]
    |
    v
[26.2 Reading the delays]
    |
    v
[26.3 Improving movers]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX076]

Learning outcomes

You will (1) measure leaver timeliness; (2) analyse delays; (3) improve the mover process.

26.1 Measuring leavers

With the HR-driven process designed, Elena first measures the old process to have a fair baseline. For each recent leaver she records the HR leaving date and the date their office suite account was disabled, then counts days between. Greenhill's target is disabling within one day. She uses the same definition for every leaver and notes any she cannot measure, such as a leaver whose date was changed after they left, so the baseline is honest and comparable with later results.

Lab — Leaver delays

"""Days from HR leaving date to account disable for synthetic leavers; count breaches of a one-day target (stdlib only)."""
import statistics as st
days = {"L01": 0, "L02": 3, "L03": 1, "L04": 14, "L05": 0, "L06": 2, "L07": 31, "L08": 1, "L09": 0, "L10": 6}
v = list(days.values())
print(f"leavers={len(v)} median_days={st.median(v)} max_days={max(v)} over_1_day={sum(d > 1 for d in v)}")
print("worst:", sorted(days, key=days.get, reverse=True)[:3])

Run with python3 lab_offboard.py. Verified output:

leavers=10 median_days=1.5 max_days=31 over_1_day=5
worst: ['L07', 'L04', 'L10']

26.2 Reading the delays

The synthetic baseline of ten leavers shows a median of 1.5 days, but a maximum of 31 days, and five of ten miss the one-day target. The worst cases, L07 at 31 days, L04 at 14 and L10 at 6, all left during holiday periods, when HR's email waited in an absent colleague's inbox. This confirms the weak point found in the model: email-based handover fails when people are away. Elena uses these cases to explain to managers why the evening HR comparison matters.

Five of ten missing the target shows that the median of 1.5 days hides a process that fails half the time.

26.3 Improving movers

The mover process currently adds access but never removes it. Elena designs a change: when HR records a team move, the person keeps old team groups for two weeks to finish handover, then the old groups are removed automatically, with a reminder to the old manager a few days before. Exceptions require the new manager's approval and an end date. This small change will gradually reduce the access build-up she found in long-serving staff, without disrupting handover work. HR confirms each move date before it takes effect.

Worked example

The baseline shows five of ten leavers over target with a 31-day maximum, all slow cases in holidays; movers keep old groups for two weeks before automatic removal.

Synthetic case. Leavers, delays and processes are synthetic.

Errors and limits

Reporting only the median leaver delay hides the long holiday delays that create real risk.

Exercises

Synthesis

A measured baseline explains delays and justifies automated leaver and mover methods.

Continue studying — chapter 26 of 40

← Chapter 25 (draft) · Course chapter index · Chapter 27 (draft) →