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

How to Use AWS/Azure/GCP IAM Policies to Enforce FAR 52.204-21 / CMMC 2.0 Level 1 - Control - AC.L1-B.1.II

A practical, cloud-specific guide to using AWS, Azure, and GCP IAM policies and controls to meet FAR 52.204-21 and CMMC 2.0 Level 1 AC.L1-B.1.II requirements for limiting access to authorized users.

•
April 14, 2026
•
5 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!

This post gives a hands-on, cloud-native approach to enforcing the access-control expectations of FAR 52.204-21 and CMMC 2.0 Level 1 control AC.L1-B.1.II by using IAM policies and identity controls in AWS, Azure, and GCP. It focuses on practical implementation steps a small business can follow to ensure only authorized users and processes access covered contractor information, and to produce the audit trails and evidence required for compliance reviews.

What AC.L1-B.1.II / FAR 52.204-21 expects (short)

At Level 1, the control requires that organizations limit system access to authorized users, processes acting on behalf of users, and devices — in other words, implement least-privilege access and simple protections for Covered Contractor Information (CCI/CUI-related functionality). For cloud providers this translates into: centralized identity management, role/group-based assignments, enforcement of MFA and session controls, and logging of access events so you can demonstrate who accessed what and when.

Implementation strategy across AWS, Azure, and GCP

AWS: identity-first, attach policies to roles/groups and log everything

In AWS you implement AC.L1-B.1.II by combining IAM roles/groups, IAM policies, MFA enforcement, and auditing via CloudTrail. Practical steps for a small business (10–50 employees): 1) use a single AWS Organization with AWS SSO or an external IdP (OIDC/SAML) and enable attribute-based access control (ABAC) with principal tags; 2) create groups for functional roles (dev, ops, finance) and assign only the managed/custom roles those groups need; 3) require MFA for all human console/API access with a policy condition (aws:MultiFactorAuthPresent); 4) apply permission boundaries for service accounts and use IAM roles for service-to-service access rather than long-lived keys. Example AWS IAM condition snippet (JSON) that allows S3 read only for principals tagged with department=finance and requires MFA:

{
  "Version":"2012-10-17",
  "Statement":[{
    "Effect":"Allow",
    "Action":"s3:GetObject",
    "Resource":"arn:aws:s3:::finance-bucket/*",
    "Condition":{
      "StringEquals":{"aws:PrincipalTag/department":"finance"},
      "Bool":{"aws:MultiFactorAuthPresent":"true"}
    }
  }]
}
Add continuous checks: enable CloudTrail (multi-region), deliver logs to a centralized secure S3 bucket, enable AWS Config rules like iam-policy-no-statements-wildcard, and use IAM Access Analyzer to find unintended access paths. For small teams, automate group membership from your HR system or IdP via SCIM so deprovisioning is consistent and auditable.

Azure: Azure AD + RBAC + Conditional Access + PIM

Azure's implementation centers on Azure AD identities, Role-Based Access Control (RBAC) for resources, and Conditional Access policies. For a small business: 1) onboard users into Azure AD and use groups for role mapping; 2) assign built-in RBAC roles (e.g., Reader, Contributor, Storage Blob Data Reader) to groups rather than individuals; 3) enforce Conditional Access requiring MFA for all sign-ins that access subscription resources and block legacy auth; 4) use Privileged Identity Management (PIM) for any elevated roles so admin rights are time-bound and require justification/approval. Example practical mapping: create a 'finance-storage-readers' AAD group, assign Storage Blob Data Reader at the resource scope, and create a Conditional Access policy that requires MFA from non-corporate networks. Capture evidence with sign-in logs, audit logs, and Azure Activity Logs exported to a Log Analytics workspace or an external SIEM for retention and reporting.

GCP: IAM roles, service accounts, and IAM Conditions

On GCP, use IAM roles and IAM Conditions to restrict who can access resources and under what circumstances. Small-business steps: 1) centralize identities in Google Workspace or an external IdP; 2) create groups and grant predefined/custom roles to groups; 3) use service accounts for automation and avoid user keys — prefer short-lived OAuth tokens or Workload Identity Federation if connecting non-Google workloads; 4) apply IAM Conditions to limit access by attributes (e.g., request.time, resource.name, request.auth.claims). Example IAM Condition expression for a bucket that restricts object read to users in your domain and only when MFA was asserted through your IdP (claim dependent):

{
  "title": "domain-and-mfa",
  "description": "Allow read only for verified domain users with MFA",
  "expression": "request.auth.claims.email.endsWith('@example.com') && request.auth.claims.amr.contains('mfa')"
}
Also enable Cloud Audit Logs and route logs to a secure GCS bucket or BigQuery for search/retention; enable VPC Service Controls when you need to reduce data exfiltration risk. For small teams, put automated checks in place (gcloud/terraform pre-deployment validators) to prevent overly permissive role grants.

Compliance tips and best practices (operational)

Do these recurring operational things to keep AC.L1-B.1.II demonstrable and effective:

  • Inventory identities and map them to roles/owners; maintain an access matrix for CCI-relevant resources.
  • Use group-based assignments and avoid attaching permissions directly to user accounts.
  • Require MFA for interactive and privileged access; enforce via Conditional Access (Azure), IAM policy conditions (AWS), or IdP settings (GCP).
  • Automate provisioning/deprovisioning with SCIM and tie to HR offboarding workflows to reduce orphan accounts.
  • Restrict service account keys; prefer short-lived credentials; require approvals for key creation and log all key activity.
  • Schedule regular access reviews (quarterly or on contract milestones) and log the review evidence.
  • Centralize and retain audit logs (CloudTrail, Azure AD logs, Cloud Audit Logs) in an immutable store for the period required by contracts and your compliance program.
These steps produce the evidence auditors will look for: documented roles, MFA enforcement demonstrable in logs, timely deprovisioning, and access-review records.

Risk of not implementing AC.L1-B.1.II controls

Failing to limit access to authorized users risks unauthorized disclosure or modification of covered contractor information, leading to contract violations, potential financial penalties, and reputational damage. Practically, risks include leaked credentials, over-privileged users accidentally exposing S3/Blob buckets or GCS objects, and no audit trail to demonstrate who accessed CCI — all of which make passing a compliance assessment difficult and increase the chance of a reportable security incident.

In summary, meeting FAR 52.204-21 and CMMC 2.0 Level 1 AC.L1-B.1.II in the cloud is an identity exercise: centralize identity, enforce least privilege via IAM roles/groups/policies, require MFA and conditional checks, use short-lived credentials for automation, and keep detailed audit logs. For a small business this is achievable with disciplined group-based RBAC, a few targeted IAM conditions/Conditional Access rules, automated provisioning/deprovisioning, and a simple logging retention pipeline so you can both prevent unauthorized access and demonstrate compliance when audited.

 

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.
 
Hello! How can we help today? 😃

Chat with Lakeridge

We typically reply within minutes