Training
Labs
Every hands-on lab in the workbook: what it needs, where it runs, and a direct link
Every developer workbook chapter except the deployment runbooks ends with two labs, and every learning path module has an exercise built on them. The runbooks are not gates, so they have no labs of their own; three learning path modules still carry exercises for them: Non-Person Identity, Module 11, Attribute-Driven Migration, Module 9 and Provider Notices, Module 9.
- Lab 1: fixtures, no tenant. It runs on a laptop against the kit’s fictional fixtures. Nothing signs in, and nothing leaves the machine. Where a chapter shows a terminal image after a command, that image is the kit’s real output on those fixtures.
- Lab 2. It repeats the chapter in a non-production tenant, instance or subscription, never production. The authors haven’t run the Lab 2s; each says so, and says how to back out what it built.
Every lab opens with the list of every command it runs, in order: follow it top to bottom. commands in the tables below links straight to that list. Start with Lab 1. Each workbook’s code downloads as one zip from its section below, or from Downloads.
Building Ticket-to-Machine
The workbook · its implementation guide · its learning path · the code: ticket-to-machine-code.zip
Building HR-Driven Identity
The workbook · its implementation guide · its learning path · the code: hr-driven-identity-code.zip
| Chapter | Lab 1, no tenant | You need | Lab 2 runs in | Module |
|---|---|---|---|---|
| 01 The Writer Register as Code | Lab 1 · commands | Python 3.10 or later | test tenant · commands | Module 1 |
| 02 Contractor Sources and Enforced End Dates | Lab 1 · commands | Python 3.10 or later | test tenant · commands | Module 2 |
| 03 Joiner Workflows as Code and the Temporary Access Pass Bridge | Lab 1 · commands | Python 3.10 or later | test tenant · commands | Module 3 |
| 04 Access from Attributes and the Mover’s Residual Review | Lab 1 · commands | Python 3.10 or later | test tenant · commands | Module 4 |
| 05 Certificate-Based Authentication Checks | Lab 1 · commands | Python 3.10 or later | test tenant · commands | Module 5 |
| 06 Separation Timing from the Logs | Lab 1 · commands | Python 3.10 or later | test tenant · commands | Module 6 |
| 07 Lifecycle Drift, Metrics and Evidence | Lab 1 · commands | Python 3.10 or later | test tenant · commands | Module 7 |
Building the Attribute-Driven Migration (Book 19)
The workbook · its implementation guide · its learning path · the code: attribute-driven-migration-code.zip
Building Privileged Access
The workbook · its implementation guide · its learning path · the code: privileged-access-code.zip
Building Non-Person Identity
The workbook · its implementation guide · its learning path · the code: non-person-identity-code.zip
Building Provider Notices
The workbook · its implementation guide · its learning path · the code: provider-notices-code.zip
Microsoft Automation learning path
The learning path · the code: microsoft-automation-code.zip
| Module | Lab 1, no tenant | Lab 2 |
|---|---|---|
| Module 1: Graph and Azure Foundations | Lab 1 | Lab 2 |
| Module 2: Microsoft Entra ID through Microsoft Graph | Lab 1 | Lab 2 |
| Module 3: Intune through Microsoft Graph | Lab 1 | Lab 2 |
| Module 4: Azure Arc through Azure Resource Manager and Resource Graph | Lab 1 | Lab 2 |
The Zero Trust Assessment learning path
The learning path · its implementation guide · the code: zta-results.zip
| Module | Lab 1, no tenant | Lab 2 |
|---|---|---|
| Module 1: Evidence, not a verdict | Lab 1 | — |
| Module 2: Running the assessment safely | — | Lab 2 |
| Module 3: From results to a closure register | Lab 1 | Lab 2 |
| Module 4: Reconcile, re-run and keep the evidence | Lab 1 | Lab 2 |
What Lab 2 needs
Each Lab 2 names its environment and its prerequisites in its first paragraph. Use synthetic data like the kit’s fixtures, and never production:
- A Microsoft Entra test tenant, in the worldwide or GCC cloud for learning, with the licenses the lab names; then rehearse in the agency’s own cloud, as Book 16’s two-step lab path describes. Some labs add an Azure test subscription or a disposable server.
- A ServiceNow Personal Developer Instance, free to members of ServiceNow’s Developer Program, or a sub-production instance. Chapter 01 of Building Ticket-to-Machine says how its instance is reset.
- A SailPoint Identity Security Cloud sandbox tenant, the agency’s own.