Avoid IAM Policies Granting Full CloudTrail Access

Framework Reference: A.8.2 (Information Access Restrictions) Integration: AWS – IAM / CloudTrail

Why this matters

Granting full access to AWS CloudTrail through IAM policies (e.g., via cloudtrail:*) can compromise the integrity of your audit trail. Overly permissive access allows users to:

Disable or delete audit logs

Conceal unauthorized activity

Bypass critical forensic capabilities in the event of a breach

To preserve accountability, restrict access to CloudTrail operations, especially write actions, and limit permissions to specific use cases such as read-only log analysis.


What this check does

This Auto Check evaluates your IAM policies and flags any that:

Include the wildcard permission cloudtrail:*

Allow sensitive actions like DeleteTrail, StopLogging, or UpdateTrail

Lack sufficient constraints on affected resources

The check fails if policies with unrestricted CloudTrail access are attached to any identities (users, groups, or roles).


How to fix it

Identify and replace IAM policies that grant unrestricted access to CloudTrail.

From the AWS Console

Log in to the IAM Console.

Go to Policies and search for entries containing cloudtrail:*.

Review the policy for dangerous actions like DeleteTrail, StopLogging, or overly broad permissions.

Detach the policy from any attached identities.

If not required, delete the policy.

Create a new policy that:

Grants only the needed actions (e.g., cloudtrail:DescribeTrails, cloudtrail:LookupEvents)

Applies to specific trails or resources

Enforces read-only access where appropriate

Using AWS CLI

# Identify affected entities aws iam list-entities-for-policy --policy-arn <policy_arn> # Detach from a user aws iam detach-user-policy --user-name <user_name> --policy-arn <policy_arn> # Detach from a group aws iam detach-group-policy --group-name <group_name> --policy-arn <policy_arn> # Detach from a role aws iam detach-role-policy --role-name <role_name> --policy-arn <policy_arn>


Exceptions

If specific roles require temporary CloudTrail access (e.g., for diagnostics or audits):

Grant access through tightly scoped break-glass roles

Enforce conditions such as MFA authentication or limited session duration

Monitor usage through CloudTrail itself to detect suspicious actions


Further Resources

AWS IAM Best Practices

Managed vs. Inline Policies

AWS CLI IAM Reference

CloudTrail Permissions Guide

Was this article helpful?