Back to blog

Identity and Access Management (IAM) Architecture Diagrams (2026)

How to diagram enterprise IAM architecture. Covers identity providers, SCIM provisioning, RBAC/ABAC policy engines, privileged access management (PAM), and just-in-time access — with AI prompt templates.

R
Ryan·Senior AI Engineer
·

Identity and Access Management (IAM) is the organizational system that governs who has access to what, across every application and infrastructure resource a company operates — from the moment an employee joins through every role change until the day they leave. It is much bigger than any single login screen. A mature IAM architecture spans an identity provider, directory synchronization, provisioning pipelines, policy engines, privileged access controls, and audit tooling, all working together to keep access accurate, minimal, and auditable at all times.

This guide covers how to design and diagram an enterprise IAM architecture: the identity provider as source of truth, SCIM-based provisioning, RBAC and ABAC policy models, privileged access management with just-in-time elevation, session and audit controls, and a comparison of the major 2026 IAM platforms. It includes ready-to-use prompt templates for generating accurate IAM diagrams.

What is IAM architecture, and how is it different from an authentication flow diagram?

An authentication flow diagram shows a single login transaction — the sequence of requests and redirects that happen when one user proves their identity to one application, whether that is an OAuth 2.0 authorization code exchange, a JWT validation step, or a SAML assertion. If you are looking for that kind of diagram, see our authentication architecture diagrams guide.

IAM architecture operates at a different altitude entirely. It is the organization-wide system that decides who is allowed to authenticate in the first place, what they are permitted to do once authenticated, and how those permissions change over an identity's entire lifecycle — the "joiner, mover, leaver" (JML) cycle. An IAM diagram typically shows the identity provider, the HR system feeding it, the directory sync and provisioning pipeline pushing accounts into dozens of downstream SaaS apps, the policy engine deciding authorization, and the audit trail proving all of it happened correctly. Authentication is one component inside an IAM architecture, not a substitute for it.

Key components of an IAM architecture

Identity provider (IdP) as the source of truth

The identity provider is the authoritative record of every human and non-human identity in the organization — employees, contractors, service accounts, and increasingly, AI agents. It stores credentials (or delegates credential verification to another source), group memberships, and profile attributes, and it issues the tokens and assertions that downstream applications trust. Everything else in the IAM architecture — provisioning, policy decisions, session management — reads from or writes to the IdP, which is why diagrams should always place it at the center rather than treating it as just another box in a login flow.

Directory sync and SCIM provisioning

Manually creating and deleting accounts in every SaaS application an employee touches does not scale past a handful of tools, and it is the single biggest source of security debt in most organizations. SCIM (System for Cross-domain Identity Management) solves this by standardizing how identity changes propagate: when the HR system (Workday, BambooHR) marks someone as hired, transferred, or terminated, that event flows into the IdP, which then automatically creates, updates, or deactivates the corresponding account in every connected SaaS app — Slack, GitHub, Salesforce, and dozens more — without a human touching a single admin console.

A well-designed provisioning diagram makes the direction of trust explicit: the HRIS is the source of truth for employment status, the IdP is the broker, and downstream apps are subscribers that accept SCIM push events rather than maintaining their own independent user lists. This is the architecture that makes deprovisioning — the highest-risk part of offboarding — happen automatically instead of depending on someone remembering to file a ticket.

RBAC vs ABAC policy engines

Role-Based Access Control (RBAC) grants permissions based on a user's assigned role — "Sales Manager" gets read access to the CRM pipeline, "Finance Admin" gets write access to the billing system. RBAC is simple to reason about and audit, and it is the right default for organizations with a relatively stable, coarse-grained set of job functions.

Attribute-Based Access Control (ABAC) evaluates access decisions at request time against a combination of attributes — the user's department, the resource's sensitivity label, the tenant the data belongs to, the time of day, the requesting device's compliance state. ABAC is the right choice when access rules are too fine-grained or too dynamic to express as a fixed catalog of roles, such as multi-tenant SaaS products where a support engineer should only see the specific customer account they are actively working, or regulated industries where access must vary by data classification. Many mature IAM architectures run both: RBAC for coarse application-level access and an ABAC policy engine (Open Policy Agent, AWS Cedar) layered on top for fine-grained, context-aware decisions.

Privileged Access Management (PAM) and just-in-time (JIT) access

Standing administrative credentials — an engineer who always has root on production, a service account with a permanent database password — are one of the largest attack surfaces in any organization, because a single compromised credential grants unlimited, unmonitored access indefinitely. Privileged Access Management (PAM) tools like CyberArk, HashiCorp Vault, and BeyondTrust replace standing access with just-in-time (JIT) elevation: a user requests temporary privileged access, the request is approved (automatically against policy, or manually for higher-risk resources), a vault checks out a short-lived credential or SSH certificate, and the elevated access automatically expires — typically in minutes to hours rather than indefinitely.

An IAM diagram covering PAM should show the request/approval path separately from the credential vault, and show that the vault — not the requesting user — holds the long-lived secret. The user only ever receives a time-bound, scoped credential, and every checkout is logged for audit.

Session management and continuous access evaluation

Traditional session models issue a token at login and trust it until it expires, which can be hours or days later. Continuous access evaluation shortens that trust window: sessions use short-lived tokens that are silently refreshed, and the IdP re-verifies risk signals — a new device, an impossible-travel location change, a sudden jump in requested privilege — mid-session rather than waiting for the next login. When a risk signal fires, the architecture should show the session being step-up challenged (MFA re-prompt) or revoked outright, not just flagged for a later review.

Audit logging and access reviews

Every provisioning event, policy decision, and privileged access checkout should write to a centralized, immutable audit log. On top of that log, periodic access reviews (also called recertification) require managers or resource owners to explicitly re-approve each user's standing access on a recurring cadence — typically quarterly for privileged roles. This is the control that catches access which was correctly granted at the time but never revoked as a role changed, and it is the specific evidence auditors request for SOC 2 and similar compliance frameworks. See our SOC 2 architecture diagrams guide for how to represent this evidence trail visually.

IAM tooling comparison (2026)

ToolPrimary roleKey capabilities
OktaIdentity providerUniversal directory, SSO, SCIM provisioning to thousands of app integrations, adaptive MFA, lifecycle management workflows
Microsoft Entra IDIdentity providerAzure AD-based directory, Conditional Access policies, SSO and provisioning across Microsoft 365 and third-party apps, Privileged Identity Management for JIT roles
Ping IdentityIdentity provider / CIAMEnterprise SSO, adaptive authentication, API access management, strong fit for customer-facing identity at scale
SailPointIdentity governanceAccess certification campaigns, role mining, separation-of- duties policy enforcement, compliance reporting across connected applications
CyberArkPrivileged access management (PAM)Credential vaulting, session recording for privileged sessions, just-in-time elevation, secrets management for service accounts and CI/CD pipelines

IAM architecture patterns with prompt templates

SCIM-based joiner/mover/leaver provisioning pipeline

"Show a SCIM-based joiner/mover/leaver provisioning architecture. Workday is the HRIS system of record for employment events — new hire, department transfer, termination. When an HR event fires, Workday pushes a change via its outbound integration to Okta, which acts as the identity broker. Okta maps the employee's department and job title to a set of group memberships using pre-configured attribute rules. For a new hire, Okta creates the user record in its universal directory and, based on group membership, sends SCIM provisioning requests to each downstream SaaS app the employee needs — Slack, Google Workspace, Salesforce, and GitHub — creating an account in each with the correct role already assigned. For a mover (department transfer), Okta recalculates group membership and sends SCIM PATCH requests to add or remove app access accordingly, without any manual ticket. For a leaver, the termination event triggers Okta to immediately send SCIM DELETE/deactivate requests to every connected app, revoking all access within minutes rather than days. Every provisioning event writes to a centralized audit log stored in a SIEM for compliance reporting."

Just-in-time privileged access with vaulting

"Show a just-in-time privileged access architecture for production infrastructure using CyberArk. An engineer who needs temporary root access to a production database opens an access request in CyberArk, specifying the target system and a business justification, and requesting a 2-hour access window. Because the target is classified as tier-1 production, the request routes to the engineer's manager for approval via a Slack-integrated approval workflow. Once approved, CyberArk's Digital Vault checks out a short-lived credential — either a rotated database password or a signed SSH certificate scoped to that single host — and hands it to the engineer through the CyberArk session broker, which also records the full privileged session (keystrokes and screen) for audit. The credential and the elevated access automatically expire at the end of the 2-hour window; CyberArk rotates the underlying database password immediately after expiration so the checked-out credential cannot be reused. No human ever holds a standing production credential — the vault is the only place the long-lived secret exists."

ABAC policy engine for multi-tenant SaaS data access

"Show an ABAC policy engine controlling per-customer data access in a multi-tenant SaaS product. A support engineer authenticates through Okta and receives a JWT containing their role ('support_engineer') and their currently assigned customer cases. When the support engineer's dashboard requests a specific customer's data, the API gateway forwards the request — along with the user's attributes, the requested resource's tenant ID, and the request context (time of day, IP reputation) — to an Open Policy Agent (OPA) sidecar for a policy decision. OPA evaluates the request against a Rego policy that checks: is this support engineer currently assigned to this specific customer's case, is the customer's data classification level within the engineer's clearance, and is the request coming from a company-managed device. OPA returns an allow or deny decision in under 10 milliseconds. On allow, the API service queries the tenant's data partition and returns results scoped to that tenant only. Every policy decision — allow and deny — is logged with the full attribute set that produced it, so access can be reconstructed during an incident review."

Common mistakes in IAM architecture

  • Standing admin access instead of JIT elevation — permanent privileged credentials sit unused most of the time but remain a constant, unmonitored attack surface; elevate on demand and let access expire automatically
  • No automated deprovisioning on offboarding — relying on a manual ticket to disable accounts leaves orphaned accounts active in dozens of SaaS apps long after someone has left the company
  • RBAC role explosion — creating a new role for every minor variation in access needs produces hundreds of overlapping roles that are impossible to audit; consolidate roles and push fine-grained exceptions to an ABAC policy layer instead
  • No periodic access recertification — access that was correct on day one silently becomes wrong as people change teams; without a recurring review, no one notices until an audit or an incident
  • Conflating authentication architecture with authorization/IAM architecture — a diagram that only shows how a user logs in says nothing about what they can do afterward, or how that access was granted and will eventually be revoked
  • Treating service-account and human identity lifecycles the same way — service accounts and API keys have no HR event to trigger deprovisioning, so they need their own ownership, rotation, and expiration policy or they accumulate indefinitely
  • No centralized audit trail across SaaS apps — if provisioning and access events are only logged inside each individual application, there is no single place to reconstruct who had access to what and when during an investigation
  • Granting broad access "temporarily" without an expiration mechanism — informal exceptions made during an incident or a deadline crunch routinely become permanent because nothing forces a review

Frequently asked questions about IAM architecture

What is the difference between IAM and authentication?

Authentication answers a narrow question — "is this person who they claim to be?" — and is captured in a single login flow diagram covering one protocol, like OAuth 2.0 or SAML. IAM is the broader organizational system that governs identity and access across an employee's entire tenure: how their account is created when they join, how their permissions change as their role changes, how privileged access is granted temporarily rather than permanently, and how their access is revoked the moment they leave. Authentication is one input into an IAM system, not a replacement for it — a company can have excellent login security and still have a broken IAM architecture if deprovisioning, role management, and access review are not automated.

What is just-in-time (JIT) access and why does it matter for PAM?

Just-in-time access grants elevated permissions only for the duration they are actually needed — typically minutes to a few hours — rather than issuing standing credentials that remain valid indefinitely. It matters for privileged access management because standing admin credentials are the highest-value target for attackers: a single compromised standing credential grants unlimited access until someone notices and manually revokes it. With JIT access, a compromised or leaked credential is only useful for the narrow window it was issued for, and every elevation request is individually logged, approved, and time-bound — turning privileged access from a permanent liability into an auditable, ephemeral event.

Should I use RBAC or ABAC for access control?

Use RBAC when your organization's access needs map cleanly onto a stable set of job functions — it is simple to implement, easy to audit, and well understood by non-technical stakeholders like auditors and managers. Use ABAC when access decisions depend on context that a fixed role cannot capture — per-tenant data isolation in multi-tenant SaaS, data sensitivity classifications, or conditions like device compliance and time of day. Most mature IAM architectures use both together: RBAC handles coarse application-level access provisioned through the identity provider, while an ABAC policy engine layered on top (Open Policy Agent, AWS Cedar) makes fine-grained, per-request decisions that would require an unmanageable number of roles if expressed in RBAC alone.

Related guides: authentication architecture diagrams, zero trust architecture diagrams, SOC 2 architecture diagrams, and authentication and authorization diagrams.

Ready to try it yourself?

Start Creating - Free