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

How to Configure Cloud Platforms (Azure/AWS) for NIST SP 800-171 REV.2 / CMMC 2.0 Level 2 - Control - AU.L2-3.3.9: Restricting Audit Log Management to Privileged Roles

Practical, step-by-step guidance to configure Azure and AWS so that only privileged roles can manage audit logs, meeting NIST SP 800-171 Rev.2 / CMMC 2.0 Level 2 AU.L2-3.3.9 requirements.

April 22, 2026
6 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!

NIST SP 800-171 Rev.2 / CMMC 2.0 Level 2 Control AU.L2-3.3.9 requires that management of audit logs is restricted to privileged roles so that logs cannot be altered, disabled, or deleted by unauthorized users — a core protection for integrity and non-repudiation of your system monitoring and incident response capability.

Why this control matters (context for Compliance Framework)

From a Compliance Framework perspective, the objective is to ensure audit trail integrity by limiting who can change logging configuration, retention, or delete log data. For small businesses handling Controlled Unclassified Information (CUI) or contractor data, failure to restrict audit-log management increases the risk that an insider or attacker can erase evidence of malicious activity or hide changes to critical resources, which directly undermines incident investigations and compliance attestations.

Implementation approach — core concepts (apply to both Azure and AWS)

Start with three core activities: (1) centralize logs so management is simpler and fewer principals need privileged access (use a dedicated logging account / subscription), (2) apply strong least-privilege access for any administrative tasks (use built-in roles + custom roles and just-in-time elevation), and (3) make log storage immutable or strongly protected (object lock / immutable blob / resource locks) and monitor any changes to logging configuration itself. These map directly to Compliance Framework expectations for role separation, least privilege, and evidence retention.

Azure-specific implementation details

For Azure, centralize diagnostics and platform logs into a dedicated Log Analytics workspace, storage account with immutable blob (WORM), or an Event Hubs stream to a SIEM. Use Azure RBAC to restrict who can manage diagnostic settings (resource type microsoft.insights/diagnosticSettings). Avoid giving broad Owner or Contributor rights across subscriptions. Instead, assign minimal monitoring roles (Monitoring Reader, Log Analytics Reader) to most users, and assign a small set of users the roles that can change diagnostic settings, such as Log Analytics Contributor or a custom privileged role that includes only specific write actions. Use Azure AD Privileged Identity Management (PIM) to require approval and time-limited elevation for those privileged roles.

Harden the storage destination: enable Azure Storage immutable blob storage (Legal Hold or Retention Policy) on any storage account used for diagnostic logs, and apply resource locks to log destinations to prevent accidental deletion of the storage account. Use Azure Policy to enforce diagnostic settings and to deny or remediate resources that do not send logs to your central workspace. Create Activity Log alerts for actions that change diagnostic settings or role assignments (e.g., alerts on "Write" operations to Microsoft.Authorization/roleAssignments or microsoft.insights/diagnosticSettings), and send those alerts to a secure team (or playbook) for investigation.

AWS-specific implementation details

In AWS, centralize CloudTrail logs into a dedicated logging account and an S3 bucket configured for security/audit use. Configure CloudTrail to log management events and to enable CloudTrail log file validation and SNS notifications on new logs. Protect the S3 bucket with bucket policies that allow only the CloudTrail service and an explicit, small set of principals to write or manage objects. Use S3 Object Lock in “Compliance” mode to prevent object deletion during the retention period. At the account level, use SCPs (Service Control Policies) in AWS Organizations to deny CloudTrail and CloudWatch Logs management actions across member accounts except for an allow-listed administrative role in the logging account.

Also lock down IAM actions that can alter logging: explicitly deny actions such as cloudtrail:DeleteTrail, cloudtrail:StopLogging, cloudtrail:UpdateTrail, logs:DeleteLogGroup, logs:DeleteLogStream, logs:PutRetentionPolicy, and s3:DeleteObject (for the logging bucket) except for a small privileged principal. Deploy AWS Config rules to detect disabled CloudTrail or changes to the trail configuration and automate remediation with Lambda where appropriate. Create CloudWatch Alarms and EventBridge rules that notify security on any API calls that change logging configuration or role assignments (these API calls are themselves recorded by CloudTrail).

Practical small-business scenarios and examples

Scenario 1 — Small dev shop with 2 admins: Create a dedicated logging account (or subscription), enable CloudTrail/Azure Diagnostic to central destination, and put a single Log Admin role in a small group of 2 people. Require PIM/JIT for Azure and require AssumeRole with approval for AWS. Store break-glass credentials in a hardware-protected vault and audit any use. This reduces the blast radius and simplifies compliance evidence collection for auditors.

Scenario 2 — Contractor with multi-environment accounts: Use organization-level SCPs (AWS) and Azure Management Group policies to prevent member accounts from creating logging destinations that bypass central storage. Use IAM permission boundaries or Azure custom roles to prevent developers from assigning themselves logging-admin capabilities. Automate detection of changes to logging config and configure automated remediation to re-enable logging and flag the incident for investigation.

Sample technical artifacts and quick references

Example AWS SCP snippet (deny log-management except for an allow-listed role — replace ARNs with your own):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyCloudTrailChangesExceptLoggingAdmin",
      "Effect": "Deny",
      "Action": [
        "cloudtrail:DeleteTrail",
        "cloudtrail:StopLogging",
        "cloudtrail:UpdateTrail",
        "logs:DeleteLogGroup",
        "logs:DeleteLogStream",
        "s3:DeleteObject"
      ],
      "Resource": "*",
      "NotPrincipal": {
        "AWS": [
          "arn:aws:iam::123456789012:role/LoggingAdminRole",
          "arn:aws:iam::123456789012:role/SecurityAuditRole"
        ]
      }
    }
  ]
}

Azure tip: create a narrow custom role that grants only the actions needed to manage diagnostic settings and assign it to a specific Azure AD group. Use PIM to require approval and limited activation times for that group. Also enable immutable blob storage on the target storage account to enforce WORM retention for logs.

Compliance tips, monitoring, and best practices

Best practices you can implement quickly: (1) centralize and minimize the number of principals who can manage logs, (2) apply least privilege and use time-limited elevation (PIM / assume-role), (3) enforce immutability for log storage (S3 Object Lock / Azure Immutable Blob), (4) monitor and alert on any changes to logging configuration and to role assignments, (5) use organization-level guardrails (AWS SCPs / Azure Management Group Policies) to prevent circumvention, and (6) document a “break-glass” process with approvals and recorded justification for any log management actions. Regularly (quarterly) review who has privileged log-management access and require attestation for those principals as part of your Compliance Framework evidence.

Risk of not implementing AU.L2-3.3.9

If you do not restrict audit-log management to privileged roles, attackers or negligent insiders can disable or delete logs and eradication of evidence will hamper forensic investigations and incident reporting, lead to failed supplier or government audits, and create a higher risk of data exfiltration going undetected. For organizations required to meet NIST SP 800-171 / CMMC, this can translate into non-conformance, loss of contracts, and financial penalties.

In summary, meeting AU.L2-3.3.9 on Azure and AWS is a combination of architecture (centralized log collection), access control (RBAC/IAM least privilege and PIM/assume-role), storage hardening (immutable logs / object lock / resource locks), and detection (alerts for logging/config changes). For small businesses, start by centralizing logs, shrinking the list of principals with log-management privileges, and putting immutability and monitoring in place — those steps will get you a long way toward satisfying the Compliance Framework requirement while reducing your operational and legal 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.
 
Hello! How can we help today? 😃

Chat with Lakeridge

We typically reply within minutes