12-hour self-study — for tomorrow

Entra ID crash course

Closing the specific gaps Malik flagged before the next iManage technical round: Entra roles, PIM, SAML/SSO, service accounts, M365/Exchange admin, and naming conventions tied to NIST/CIS/FedRAMP.

How to use this: work top to bottom in order — each block builds on the last. Say your self-check answer out loud before opening it. That's what builds interview recall, not re-reading.
01

Entra ID roles and the RBAC model

Hour 1–3

The hierarchy, top to bottom

RoleScopeStanding assignment?
Global AdministratorFull tenant controlAlmost never — break-glass only
Privileged Role AdministratorCan assign any role, including itselfAlmost never
User AdministratorCreate/edit/reset users, licensesRarely — PIM eligible
Groups AdministratorAll groups, dynamic membership rulesRarely — PIM eligible
Application AdministratorApp registrations, SSO config, SCIM setupSometimes standing if narrowly delegated
Cloud Application AdministratorSame as above, minus on-prem app proxySame as above
Security AdministratorConditional Access, Identity Protection, DefenderRarely — PIM eligible
Conditional Access AdministratorCA policies onlyNarrower, sometimes standing
Helpdesk AdministratorPassword resets, non-admin users onlyOften standing, tightly scoped

Why Global Admin and Privileged Role Admin should never be standing

  • Blast radius — one compromised credential means full tenant control, no extra step.
  • No audit correlation — a permanent account generates no "this person elevated for a reason" event.
  • NIST 800-53 AC-6 and CIS Control 5 both explicitly expect time-bound privileged access, not standing admin accounts.
  • Microsoft's own guidance: 2–4 emergency break-glass accounts outside PIM, monitored closely; everyone else via PIM eligible assignment.

Administrative Units (AUs)

A container (business unit, region, subsidiary) that a role assignment can be scoped to — the direct cloud equivalent of delegating an OU in on-prem AD. A User Administrator scoped to an AU can only manage users inside that AU, not tenant-wide.

On-prem translation: "On-prem, I delegated OU-level control with ACLs in ADUC. In Entra, Administrative Units do the same job — they scope a role to a slice of the directory instead of the whole tenant."

Custom roles

Built-in roles are fixed permission bundles. A custom role lets you define an exact permission set when no built-in role fits cleanly — worth mentioning if asked how you'd handle least-privilege for a role with no clean built-in match.

Hands-on — assigning a role via Graph API

Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"

New-MgRoleManagementDirectoryRoleAssignment `
  -PrincipalId "user-object-id" `
  -RoleDefinitionId "role-template-id" `
  -DirectoryScopeId "/"

Same Connect-MgGraph pattern you already use for lifecycle scripts — just a different cmdlet family (RoleManagement instead of Users/Groups).

Self-check — block 1
Why should Global Administrator almost never be a permanent assignment?

Blast radius, plus no audit trail, plus an explicit CIS/NIST expectation of time-bound access.

What's the Entra equivalent of delegating an OU?

Administrative Units.

What's the difference between Application Administrator and Cloud Application Administrator?

Cloud App Admin can't manage on-prem application proxy — otherwise identical.

When would you build a custom role instead of using a built-in one?

When no built-in role's permission bundle matches the least-privilege need exactly.

02

PIM — Privileged Identity Management

Hour 3–5

Eligible vs active

  • Eligible — approved to hold a role, zero standing access. Dormant until activated.
  • Active — currently usable, either activated from eligible, or (discouraged) permanently assigned.

Eligible is the default posture for anything above routine operational access. This is the single biggest lever for passing a NIST/CIS access review.

The activation workflow

  1. User requests activation
  2. MFA challenge
  3. Business justification typed in
  4. (Optional) routed to a designated approver
  5. Role becomes active for a defined window (commonly 1–8 hours)
  6. Auto-expires
  7. Every step logged — who, when, why, for how long, approved by whom
That log is your audit evidence for AC-6 (NIST) and Control 5 (CIS).

Access reviews

Periodic (often quarterly) recertification of who holds eligible/active roles, run by a designated reviewer, to catch stale or over-provisioned access. This turns PIM from a one-time control into a continuously-audited one — "we set up PIM with recurring access reviews" is a stronger story than "we set up PIM once."

Hands-on — creating a PIM-eligible assignment via Graph

New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest `
  -Action "AdminAssign" `
  -PrincipalId "user-object-id" `
  -RoleDefinitionId "role-template-id" `
  -DirectoryScopeId "/" `
  -ScheduleInfo @{
    StartDateTime = (Get-Date)
    Expiration = @{ Type = "AfterDuration"; Duration = "P90D" }
  }

This script grants eligibility, not access. The user still self-activates through MFA when they need the role.

Self-check — block 2
Why is "eligible" safer than "active" as a default state?

No usable access sits on the account, so a compromised credential alone isn't enough to use the role.

What four things does a PIM activation log capture?

Who, when, why/justification, and duration — plus approver if required.

Why does an access review matter beyond initial PIM setup?

It catches drift — roles someone no longer needs but still holds eligibility for.

03

SAML/SSO and SCIM

Hour 5–7.5

The SAML handshake (SP-initiated)

  1. User requests the app (Service Provider)
  2. App redirects browser to Entra (Identity Provider) with a SAML request
  3. Browser follows redirect to Entra
  4. Entra authenticates the user, checks MFA/Conditional Access
  5. Entra returns a signed SAML assertion to the browser
  6. Browser posts the assertion to the app
  7. App validates the signature (trusts Entra's pre-configured certificate)
  8. Session granted
Key point: SAML only proves identity. It does not create the user account in the target app.

SP-initiated vs IdP-initiated

SP-initiated — flow starts at the app (above). IdP-initiated — flow starts from the Entra "My Apps" portal; the user clicks the app tile and Entra sends the assertion directly without the app requesting it first.

SCIM — the provisioning half

SCIM (System for Cross-domain Identity Management) creates, updates, and deactivates user accounts inside the target app automatically — configured on the same enterprise app's "Provisioning" tab, separate from SSO.

The split to remember: SAML = "prove who you are." SCIM = "make sure your account exists, matches your current attributes, and gets removed when you leave."

Direct tie to your experience: SailPoint automates this same lifecycle on-prem and across connected apps via its own connectors. SCIM is Microsoft's native version, built into Entra enterprise app registrations for apps that support the standard.

Troubleshooting a SAML failure — what to check first

Browser dev tools → Network tab → find the POST to the app's ACS URL. Check:

<saml:Attribute Name="emailaddress">
  <saml:AttributeValue>user@company.com</saml:AttributeValue>
</saml:Attribute>

Issuer: https://sts.windows.net/{tenant-id}/
Audience: https://app.vendor.com/saml/metadata
NotOnOrAfter: 2026-07-25T14:32:00Z

Most real-world failures are one of: attribute mapping mismatch (app expects a claim Entra isn't sending), audience/entity ID mismatch, or an expired/rotated signing certificate.

Self-check — block 3
What does SAML NOT do, that people often assume it does?

Provision the account — that's SCIM's job.

A user authenticates successfully in Entra but gets "access denied" in the app. What do you check first?

Attribute mapping — likely a claim mismatch, not an auth failure.

What's the difference between SP-initiated and IdP-initiated SSO?

Which side starts the flow — the app requesting auth, vs. the user launching from the Entra My Apps portal.

04

Service accounts and identity types

Hour 7.5–9.5

The three flavors

TypeWhat it isRiskRotation
Traditional service accountUser object with a password, used by legacy appsHighestManual, often neglected
Service principalIdentity for an app registration calling APIs (e.g., Graph)MediumClient secret/cert, manual
Managed identityAzure-native, credential-freeLowestAutomatic
Direct tie to your Arctic Wolf incident: static, non-rotating passwords on traditional service accounts are exactly the pattern that produced the offshore credential detection finding. This is your strongest personal story for this section.

Migrating a legacy service account to a managed identity

  1. Inventory: what does the legacy account authenticate to, and how (connection strings, scheduled tasks, configs)?
  2. Create a system-assigned or user-assigned managed identity on the Azure resource running the workload.
  3. Grant that identity a scoped role — e.g., Key Vault Secrets User, not Owner.
  4. Update app code/config to use DefaultAzureCredential instead of a stored password.
  5. Disable, then delete, the legacy account after confirming nothing breaks.

The detail interviewers listen for: step 3. Least-privilege has to apply to non-human identities too — granting a managed identity Owner "for convenience" recreates the exact standing-privilege problem PIM solves for humans.

Self-check — block 4
Which service account type ties directly to your Arctic Wolf incident, and why?

Traditional — static passwords with no built-in expiration.

What's the risk of granting a managed identity Owner instead of a scoped role?

Recreates standing over-privileged access, just on a non-human identity.

What's the practical difference between a service principal and a managed identity?

Service principal needs a manually-managed secret/cert; managed identity's credential is automatically rotated by Azure.

05

M365 admin center and Exchange

Hour 9.5–11

M365 admin center is the umbrella console (users, groups, billing, reporting) sitting on top of Entra ID for identity and Exchange admin center for mail.

Ten Exchange concepts worth knowing cold

  1. Mailbox types — user, shared (no license/password, permission-based access), resource (room/equipment)
  2. Mailbox permissions — Full Access, Send As, Send on Behalf — granted/revoked as part of onboarding/offboarding
  3. Mail flow (transport) rules — if/then logic on messages in transit; where phishing/BEC controls often live
  4. Group types — distribution group (mail-only) vs mail-enabled security group vs Microsoft 365 group (unified, ties into Entra group-based licensing)
  5. Exchange Online RBAC — its own role-group system (Organization Management, Recipient Management, Help Desk); architecturally separate from Entra roles even though Global Admin often has de facto control
  6. Litigation hold / retention — preserves mailbox content on offboarding; place a hold before deprovisioning, don't delete outright
  7. Delegation vs impersonation — a person acting on a mailbox (delegation) vs an app/service account acting as a user (impersonation, much higher risk — ties to Block 4)
  8. Modern auth vs legacy auth — legacy (basic auth) bypasses MFA/Conditional Access entirely; blocking it tenant-wide is standard hardening
  9. Mailbox auditing — logs who accessed a mailbox and what they did; same audit logic as PIM logs, different data source
  10. Connectors — inbound/outbound mail flow to/from specific domains or on-prem Exchange in hybrid setups

Honest framing for this section

"I've managed M365 at a user and licensing level. Exchange-specific administration — transport rules, hybrid connectors — is an area I'm actively building depth in." Specific and self-aware beats either downplaying or overselling.
Self-check — block 5
Why isn't Global Admin in Entra automatically full Exchange control, by design?

Exchange Online has its own separate RBAC role-group system.

What do you do with a mailbox before offboarding, instead of deleting it?

Place it on litigation hold / apply a retention policy.

Why does blocking legacy auth matter for security posture?

It bypasses MFA and Conditional Access entirely — a hole in the whole access model built in Blocks 1–2.

06

Naming conventions, access tiers & the compliance tie-together

Hour 11–12

The Enterprise Access Model

  • Tier 0 — identity, domain controllers
  • Tier 1 — servers, applications
  • Tier 2 — workstations, end users

A concrete naming framework

Tier 0 (identity/DC-equivalent):   adm-t0-{name}
Tier 1 (servers/apps):             adm-t1-{name}
Tier 2 (workstations/end user):    adm-t2-{name}
Service accounts:                  svc-{app}-{purpose}
PIM-eligible groups:               pim-elig-{role}-{scope}
SSO-enabled app groups:            app-{vendorname}-{accesslevel}
The exact prefixes don't matter — what matters is that a single glance at any identity's name tells an auditor its tier, purpose, and whether it's standing or eligible. This is what makes 400–500 apps auditable instead of just large.

Rolling this out without breaking things

Parallel-run, never big-bang: build the new structure alongside the old, migrate group by group starting with the highest-risk tier (Tier 0 / service accounts), validate access after each migration, deprecate old names last.

Self-check — block 6
How does naming/tiering connect to NIST/CIS compliance specifically?

It's the structural layer that makes PIM assignments, service accounts, and app access reviewable as a system — the evidence an auditor can actually trace.

Why start a naming migration with Tier 0 and service accounts rather than end users?

Highest risk first — most consequential if something goes wrong, and usually the smallest population to migrate and validate.

+

Final hour buffer — mock interview bank

Buffer

Answer these out loud, end to end, no notes.

  1. Walk me through what happens when a new hire needs access to five SaaS apps, end to end, using SSO and SCIM.
  2. Why would you use PIM eligible assignment instead of a permanent Global Admin account?
  3. What's the difference between a service principal and a managed identity, and when would you use each?
  4. How would you design a naming convention that supports a CIS or NIST audit across 400+ apps?
  5. A user says SSO login worked but they got "access denied" inside the app — walk me through your diagnosis.
  6. How would you explain Administrative Units using on-prem AD language?
  7. What's your honest assessment of your Exchange/M365 depth today, and how would you close that gap on the job?
If asked "why should we trust you'll ramp fast": "My background is heavy on the lifecycle and governance side — SailPoint, PowerShell automation, migration execution, SIEM operations — which is usually the harder part to build from scratch. The Entra-specific tooling and terminology is the part I've been closing deliberately, and it maps cleanly onto concepts I already operate by."