mcpField
E
entra-id-governance

entra-id-governance

github.com/vinayaklattheSecurity17882 installsUpdated 19w ago
Repository

About entra-id-governance

Configuration guidance for teams managing identity and access with Microsoft Entra ID Governance. It covers access requests, recurring reviews, and joiner-mover-leaver processes, helping match access packages and lifecycle workflows to each governance need.

Key features

  1. 01Choose access packages or group assignment
  2. 02Configure approvals and expiration policies
  3. 03Plan access reviews and nonresponse actions
  4. 04Design joiner, mover, and leaver workflows
  5. 05Set separation-of-duties rules for packages
  6. 06Govern external guest access

Use cases

  1. 01Give contractors approved, time-limited access
  2. 02Automate employee onboarding and offboarding access
  3. 03Recertify membership in sensitive groups
  4. 04Block assignment of incompatible access packages

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/vinayaklatthe/microsoft-security-skills --skill entra-id-governance

After installing, type/entra-id-governancein Claude Code to confirm it loaded.

Details

From the project README

Microsoft Entra ID Governance

Entra ID Governance ensures the right identities have the right access to the right resources at the right time. It automates identity lifecycle (JML) and access governance for employees, partners, and guests. Requires the Entra ID Governance SKU (P2 + Governance add-on, or M365 E5 + Governance).

When to use

Automating access requests/approvals, recurring access certification, and joiner-mover-leaver provisioning. Use this skill to choose between access packages and direct group assignment, configure access reviews safely, and run lifecycle workflows.

Do not use this skill for risk detection (entra-id-protection), Conditional Access (conditional-access-mfa), or PIM activation (azure-pim).

Pick the right governance mechanism

If the goal is...UseNotes
Self-service access request with approvalEntitlement management - access packageIncludes guests; sponsor or manager approval
Time-bound access for a projectAccess package with expirationAuto-revokes; safer than group
Govern an existing privileged groupPIM for Groups (separate skill)Just-in-time, not lifecycle
Recertify membership of a sensitive groupAccess review on the groupManager or self-attestation
Recertify access to an appAccess review on app assignmentsCatches stale SaaS access
Auto-provision new joinersLifecycle workflow - joinerPre-hire setup, welcome email
Auto-revoke leaver accessLifecycle workflow - leaverDisable, group removal, license drop
Move to new department auto-adjust accessLifecycle workflow - mover + dynamic groupsAttribute-driven
Catch toxic role combos (e.g. AP + AR)Separation of duties on access packageHard-block incompatible packages

Rule of thumb: if humans request the access, use an access package. If the system grants the access from HR attributes, use lifecycle workflows + dynamic groups. Direct group assignment is the legacy default and rarely correct in 2026.

Approach

  1. Define the catalogue — Access packages live in a catalogue. Catalogues map to a business owner (HR, Finance, Engineering platform team). Catalogue owners are accountable; IT facilitates. Verify: each catalogue has a named non-IT owner.

  2. Build access packages with policies — Each package has resources (groups, apps, SharePoint sites), eligible requesters (internal users, specific connected orgs, all external), and an assignment policy (approval, expiration, attribute requirements). Verify: every package has expiration set; no perpetual access.

  3. Configure access reviews safely — Set reviewer (manager > self > specific user), recurrence (quarterly Tier 0, bi-annually Tier 1, annually Tier 2). Critical: choose "no response" action carefully - auto-remove on no response is safer for low-risk resources but dangerous if the reviewer is on leave. Verify: reviewer escalation enabled; "no response" defaults documented per review.

  4. Lifecycle workflows for JML — Build three core flows: Pre-hire (T-7 days), Joiner (start date), Leaver (last day). Use HR attributes as triggers (employeeType, employeeHireDate, accountEnabled). Verify: leaver flow disables account, removes from all groups, revokes sessions, within 1 hour of HR attribute change.

  5. Separation of duties on access packages — Mark incompatible packages (e.g. "Accounts Payable" + "Vendor Master Data Editor"). System blocks the second request with audit log.

  6. Guest governance — All B2B guests via access packages with expiration. Run a quarterly review of guests with no recent activity (use signInActivity filter). Remove inactive guests automatically. Verify: guests created outside an access package = 0 in monthly report.

Guardrails

  • Prioritise leaver/deprovisioning automation - orphaned access is a common breach root cause. Leaver workflow within 1 hour of HR change, hard, not negotiable.
  • Set review reviewers and fallback actions carefully so "no response" doesn't auto-approve. Default to "no response = remove" with reviewer escalation.
  • Access packages for guests, always. B2B invitations outside packages bypass expiration and reviews.
  • Separation of duties only works if both packages are governed. If one role assignment is direct (not via package), SoD won't see it.
  • Lifecycle workflows are triggered by attributes. If HR doesn't push reliable attribute data, workflows won't fire. Validate the HR sync before relying on automation.
  • Don't put PIM-eligible roles in access packages. Use PIM for Groups so activation is separate from assignment.

Common anti-patterns

  • "Provision via Active Directory groups, deprovision via ticket" - Asymmetric, leaks access. Both sides need to be automated.
  • "Access reviews once a year" - 12 months of drift. Quarterly for sensitive resources.
  • "Reviewer = the resource owner" - Owner has bias to approve. Manager of the user is better; self-review only for low-risk.
  • "Guest invitations from any user" - Untracked guests sprawl. Restrict invitations to access package requests + a small invitations team.
  • "Lifecycle workflow runs on Day 1" - Joiner needs access ready before Day 1. Pre-hire flow at T-7 days.
  • "Direct group assignment is faster than building a package" - Faster once, slower forever after (no review, no expiration, no audit).

Example prompts

  • Build an access package for guest contractors with sponsor approval and 90-day expiration.
  • Set up lifecycle workflows for pre-hire, joiner, and leaver using HR attributes.
  • Configure quarterly access reviews on our privileged group with manager review.
  • Enforce separation of duties between "Accounts Payable" and "Vendor Master" access packages.
  • Audit and remove inactive guests with no sign-in in 90 days.
  • Move from direct group assignment to access packages for self-service.

Microsoft Learn

Comments

Markdown supported