CloudWatchLogsAPIKeyAccess
Summary
Grants permissions to call CloudWatch Logs using API key authentication.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess- Default version
- v1
- Created
- Last edited
- Services
- kms, logs
Control-plane actions (5)
By access level: 1 Read, 4 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| KMS | 3 of 58 | 1 Read, 2 Write; 3 restricted, 3 conditional | kms:Decrypt, kms:DescribeKey, kms:GenerateDataKey |
| CloudWatch Logs | 2 of 133 | 2 Write; 0 restricted, 0 conditional | logs:CallWithBearerToken, logs:PutLogEvents |
KMS: 3 actions
- kms:Decrypt (Write)
- kms:DescribeKey (Read)
- kms:GenerateDataKey (Write)
CloudWatch Logs: 2 actions
- logs:CallWithBearerToken (Write)
- logs:PutLogEvents (Write)
Data-plane actions (0)
By access level: none.
This policy grants no actions in this plane.
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: mixed.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 4 write, tagging or permissions-management actions, short of full control of any service.
Guidance
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Related policies
Same service
- AgentRegistryFullAccess
- AlexaForBusinessGatewayExecution
- AmazonAPIGatewayPushToCloudWatchLogs
- AmazonAppFlowFullAccess
- AmazonAuroraDSQLConsoleFullAccess
- AmazonAuroraDSQLFullAccess
- AmazonBraketFullAccess
- AmazonBraketJobsExecutionPolicy
Same domain
Frequently asked questions
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "LogsAPIs",
"Effect": "Allow",
"Action": [
"logs:CallWithBearerToken",
"logs:PutLogEvents"
],
"Resource": "*"
},
{
"Sid": "KMSAPIs",
"Effect": "Allow",
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Condition": {
"StringLike": {
"kms:ViaService": "logs.*.amazonaws.com"
},
"ArnLike": {
"kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:*:*:log-group:*"
}
},
"Resource": "arn:aws:kms:*:*:key/*"
},
{
"Sid": "KMSDescribeAPIs",
"Effect": "Allow",
"Action": [
"kms:DescribeKey"
],
"Condition": {
"StringLike": {
"kms:ViaService": "logs.*.amazonaws.com"
}
},
"Resource": "arn:aws:kms:*:*:key/*"
}
]
}
Version history
Current version v1, edited by AWS on 2026-02-20. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccessCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccessTerraform
resource "aws_iam_role_policy_attachment" "cloudwatchlogsapikeyaccess" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchLogsAPIKeyAccess"),
);Sources
Pending editorial review. No editorial sources are listed yet.