🚨 CMMC Phase One started November 10! Here's everything you need to know →

How to Implement Just-in-Time Access and Automated Provisioning to Meet AC.L2-3.1.1 — NIST SP 800-171 REV.2 / CMMC 2.0 Level 2 - Control - AC.L2-3.1.1

Step-by-step guidance to implement Just-in-Time access and automated provisioning to satisfy AC.L2-3.1.1 (NIST SP 800-171 Rev.2 / CMMC 2.0 Level 2) with practical examples for small businesses.

April 24, 2026
4 min read

Share:

Schedule Your Free Compliance Consultation

Feeling overwhelmed by compliance requirements? Not sure where to start? Get expert guidance tailored to your specific needs in just 15 minutes.

Personalized Compliance Roadmap
Expert Answers to Your Questions
No Obligation, 100% Free

Limited spots available!

AC.L2-3.1.1 under NIST SP 800-171 Rev.2 / CMMC 2.0 Level 2 requires that you limit system access to authorized users, processes acting on behalf of authorized users, or devices — a requirement that maps directly to modern Just-in-Time (JIT) access and automated provisioning practices. For organizations following the Compliance Framework, implementing JIT and automation means designing identity-first workflows, removing standing privileges, and ensuring every access grant is time-bound, approved, and logged for auditability.

Designing a JIT + Automated Provisioning Strategy

Start with an authoritative identity source (your IdP) and a clear role catalog. Define roles with least-privilege permissions, map them to groups or attributes in the IdP, and publish a "role-to-resource" matrix that ties each role to specific systems, actions, and maximum session durations. In the Compliance Framework practice context, document how each automated provisioning workflow satisfies AC.L2-3.1.1: who can request access, what approval chain is required, how long access can be active, and where the log evidence is retained.

Technical building blocks you must have

Key components include an identity provider (Azure AD, Okta, Google Workspace), a Privileged Access Management (PAM) solution (Azure AD PIM, CyberArk, BeyondTrust), an access automation/orchestration engine (ServiceNow, GitHub Actions, Azure Logic Apps), and a secrets manager or vault (HashiCorp Vault, AWS Secrets Manager). Implement SAML / OIDC for federated auth, SCIM for automated provisioning/deprovisioning, and short-lived credentials (e.g., AWS STS tokens, Vault dynamic DB credentials, SSH certificates with TTL). Enforce strong MFA and conditional access so JIT activations require risk-based checks (device compliance, location, day/time restrictions).

Implementing the workflow: request → approve → issue → revoke

Build automation that follows a predictable sequence: 1) User requests access via a ticket, portal, or chatops command; 2) Workflow sends notification to approvers (manager, resource owner); 3) Upon approval, automation uses SCIM/API to add the user to a group or issues an ephemeral role credential with a defined TTL; 4) The system logs the request, approval, issuance, and expiration; 5) At TTL expiration, the automation revokes credentials and logs the revocation. For example, in AWS you can use an IdP + SAML to assume-role and issue an STS token with durationSeconds=3600, while HashiCorp Vault can issue a dynamic DB user with TTL=1h that is automatically revoked by the Vault engine.

Real-world small business examples

Example 1 — Microsoft 365 / Azure-focused small business (50 employees): Use Azure AD PIM for all privileged roles (Global Admin, Exchange Admin). Configure role activation to require MFA plus approval from a manager. Create dynamic groups that are populated via Azure AD attributes (department, job title), and use Azure Logic Apps to automate role assignment after ServiceNow approval. Evidence for AC.L2-3.1.1: PIM activation audit logs, Logic App run history, ServiceNow approval tickets, and periodic access review reports.

Example 2 — AWS + Vault for a dev-first small business: Use AWS IAM Identity Center or SAML federation to map Okta groups to IAM roles and restrict session durations to 1 hour. For database access during incident response or dev tasks, issue dynamic credentials from HashiCorp Vault (database secrets engine) with TTLs of 15–60 minutes. Automate provisioning with Terraform for role definitions and GitHub Actions for runtime approvals (PR triggers a GitHub Action that calls an approvals bot; once approved, an ephemeral credential is returned). Audit evidence: CloudTrail assume-role events, Vault audit logs, and GitHub Action approvals stored in the repository history.

Compliance tips and best practices

Document everything: maintain a provisioning policy that references AC.L2-3.1.1, include diagrams of workflows, and define maximum allowed session durations for each role. Schedule quarterly access reviews and maintain attestation records showing resource owners reviewed access lists. Eliminate standing privileged accounts where possible; if emergency (break-glass) accounts exist, put them under stringent monitoring, require multi-party approval to activate, and rotate secrets automatically after use. For service accounts, prefer machine identities backed by vault-issued short-lived tokens rather than long-lived static keys.

Risks of not implementing JIT and automated provisioning

Failing to adopt JIT and automated provisioning leaves standing privileges and stale access paths that attackers can exploit, increases the attack surface for lateral movement, and makes it difficult to demonstrate compliance during audits. For small businesses, a single compromised admin account with persistent rights can lead to exfiltration of Controlled Unclassified Information (CUI), contract loss with government customers, regulatory penalties, and long recovery timelines. Lack of automated logging and revocation also makes incident response slow and error-prone.

In summary, AC.L2-3.1.1 is achievable for organizations of any size by combining a disciplined role model with identity-driven JIT activations, PAM controls, automated provisioning/deprovisioning, and robust logging. Implement with clear documentation, practical automation (SCIM, APIs, vaults, and ticketing integration), and periodic attestations to create a defensible, auditable state that satisfies the Compliance Framework and materially reduces risk.

 

Quick & Simple

Discover Our Cybersecurity Compliance Solutions:

Whether you need to meet and maintain your compliance requirements, help your clients meet them, or verify supplier compliance we have the expertise and solution for you

 CMMC Level 1 Compliance App

CMMC Level 1 Compliance

Become compliant, provide compliance services, or verify partner compliance with CMMC Level 1 Basic Safeguarding of Covered Contractor Information Systems requirements.
 NIST SP 800-171 & CMMC Level 2 Compliance App

NIST SP 800-171 & CMMC Level 2 Compliance

Become compliant, provide compliance services, or verify partner compliance with NIST SP 800-171 and CMMC Level 2 requirements.
 HIPAA Compliance App

HIPAA Compliance

Become compliant, provide compliance services, or verify partner compliance with HIPAA security rule requirements.
 ISO 27001 Compliance App

ISO 27001 Compliance

Become compliant, provide compliance services, or verify partner compliance with ISO 27001 requirements.
 FAR 52.204-21 Compliance App

FAR 52.204-21 Compliance

Become compliant, provide compliance services, or verify partner compliance with FAR 52.204-21 Basic Safeguarding of Covered Contractor Information Systems requirements.
 ECC Compliance App

ECC Compliance

Become compliant, provide compliance services, or verify partner compliance with Essential Cybersecurity Controls (ECC – 2 : 2024) requirements.
 
Hello! How can we help today? 😃

Chat with Lakeridge

We typically reply within minutes