prestige-worldwide.tech
Back to projects

active

Entra ID governance sandbox

Access packages and lifecycle workflows built the way a real organization would need them — then pushed against the approval delays and expiry edge cases a demo never has to survive.

status
Active — new catalog patterns added as they're tested
tenant
Dedicated Microsoft 365 / Entra ID lab tenant, isolated from production
stack
Entra ID Governance, Microsoft Graph PowerShell SDK, access packages
scope
Personal lab only — no customer or employer configuration appears here

The question

Access packages look simple in the documentation: define a catalog, attach some resources, set an approval flow. The complexity shows up later — when an approver is out of office, when an assignment expires mid-project, when two catalogs need to share a resource without duplicating it. Most guidance stops before that point.

So: how does an access package catalog actually behave once assignments start expiring, approvals start queuing, and the directory stops being empty?

Setup

The sandbox models a small organization's catalog structure — a handful of resource groups, a few access packages with different approval chains, and a mix of time-limited and standing assignments. Everything is provisioned and torn down through the Microsoft Graph PowerShell SDK rather than the admin center, so the whole catalog structure is reproducible from a script rather than a set of manual clicks someone has to remember.

What gets measured

  • Time from request to access, across single-approver and multi-approver chains.
  • What actually happens to an assignment at expiry — whether access drops cleanly or leaves a stale group membership behind.
  • Behavior when an approver is removed from the directory mid-cycle.
  • How cleanly a catalog structure can be exported, audited, and rebuilt from script.

Measurement pass in progress. Timing and expiry-behavior tables land here as each catalog pattern finishes testing.

Notes so far

  • Expiry is the part every walkthrough skips, and it's where most of the actual design decisions live — what happens to the assignment, the group, and any downstream access it granted.
  • A catalog that only works when defined by hand doesn't survive a rebuild. Scripting the whole structure from the start makes disaster recovery a non-event instead of a project.

Reproducing it

The catalog structure and provisioning scripts use only documented Graph endpoints and the public Microsoft Graph PowerShell SDK — nothing here depends on anything specific to this tenant.

Related work in the lab

The same tenant feeds the hybrid identity work — access packages behave differently once objects are syncing in from an on-prem directory.