Role policy document for CloudTrail to use CloudWatch Logs for monitoring
This section describes the permissions policy required for the CloudTrail role to send log events to CloudWatch Logs. You can attach a policy document to a role when you configure CloudTrail to send events, as described in Sending events to CloudWatch Logs. You can also create a role using IAM. For more information, see Creating a role to delegate permissions to an AWS service or Creating an IAM role (AWS CLI).
The following example policy document contains the permissions required to create a CloudWatch log
stream in the log group that you specify and to deliver CloudTrail events to that log
stream in the US East (Ohio) Region. (This is the default policy for the default IAM role
CloudTrail_CloudWatchLogs_Role
.)
Note
Confused deputy prevention is not applicable to the role policy for CloudWatch Logs
monitoring. The role policy doesn't support the use of aws:SourceArn
and
aws:SourceAccount
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:
us-east-2
:accountID
:log-group:log_group_name
:log-stream:CloudTrail_log_stream_name_prefix
*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2
:accountID
:log-group:log_group_name
:log-stream:CloudTrail_log_stream_name_prefix
*" ] } ] }
If you're creating a policy that might be used for organization trails as well, you will
need to modify it from the default policy created for the role. For example, the following
policy grants CloudTrail the permissions required to create a CloudWatch Logs log stream in the log group
you specify as the value of log_group_name
, and to deliver CloudTrail
events to that log stream for both trails in the AWS account 111111111111 and for
organization trails created in the 111111111111 account that are applied to the
AWS Organizations organization with the ID of o-exampleorgid
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:
log_group_name
:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name
:log-stream:o-exampleorgid
_*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name
:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name
:log-stream:o-exampleorgid
_*" ] } ] }
For more information about organization trails, see Creating a trail for an organization.