CloudWatchFullAccess
Summary
Provides full access to CloudWatch. The Amazon CloudWatch User Guide says this policy is on the path to deprecation, recommends that you stop using it, and recommends CloudWatchFullAccessV2 instead.
Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.
Identity
- ARN
arn:aws:iam::aws:policy/CloudWatchFullAccess- Default version
- v4
- Created
- Last edited
- Services
- autoscaling, cloudwatch, iam, logs, oam, sns
Control-plane actions (361)
By access level: 85 List, 13 Permissions management, 88 Read, 8 Tagging, 167 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| EC2 Auto Scaling | 22 of 68 | 21 List, 1 Read; 0 restricted, 0 conditional | autoscaling:Describe* |
| CloudWatch | All 160 actions (see the CloudWatch page) | 24 List, 8 Permissions management, 46 Read, 2 Tagging, 80 Write; 0 restricted, 0 conditional | cloudwatch:* |
| IAM | 4 of 190 | 3 Read, 1 Write; 1 restricted, 1 conditional | iam:CreateServiceLinkedRole, iam:GetPolicy, iam:GetPolicyVersion, iam:GetRole |
| CloudWatch Logs | All 133 actions (see the CloudWatch Logs page) | 33 List, 2 Permissions management, 26 Read, 4 Tagging, 68 Write; 0 restricted, 0 conditional | logs:* |
| OAM | 2 of 15 | 2 Read; 1 restricted, 0 conditional | oam:ListAttachedLinks, oam:ListSinks |
| SNS | All 40 actions (see the SNS page) | 7 List, 3 Permissions management, 10 Read, 2 Tagging, 18 Write; 0 restricted, 0 conditional | sns:* |
EC2 Auto Scaling: 22 actions
- autoscaling:DescribeAccountLimits (List)
- autoscaling:DescribeAccountSettings (List)
- autoscaling:DescribeAdjustmentTypes (List)
- autoscaling:DescribeAutoScalingGroups (List)
- autoscaling:DescribeAutoScalingInstances (List)
- autoscaling:DescribeAutoScalingNotificationTypes (List)
- autoscaling:DescribeInstanceRefreshes (List)
- autoscaling:DescribeLaunchConfigurations (List)
- autoscaling:DescribeLifecycleHookTypes (List)
- autoscaling:DescribeLifecycleHooks (List)
- autoscaling:DescribeLoadBalancerTargetGroups (List)
- autoscaling:DescribeLoadBalancers (List)
- autoscaling:DescribeMetricCollectionTypes (List)
- autoscaling:DescribeNotificationConfigurations (List)
- autoscaling:DescribePolicies (List)
- autoscaling:DescribeScalingActivities (List)
- autoscaling:DescribeScalingProcessTypes (List)
- autoscaling:DescribeScheduledActions (List)
- autoscaling:DescribeTags (Read)
- autoscaling:DescribeTerminationPolicyTypes (List)
- autoscaling:DescribeTrafficSources (List)
- autoscaling:DescribeWarmPool (List)
IAM: 4 actions
- iam:CreateServiceLinkedRole (Write)
- iam:GetPolicy (Read)
- iam:GetPolicyVersion (Read)
- iam:GetRole (Read)
OAM: 2 actions
- oam:ListAttachedLinks (Read)
- oam:ListSinks (Read)
Data-plane actions (6)
By access level: 1 List, 3 Read, 2 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudWatch | All 5 actions (see the CloudWatch page) | 1 List, 3 Read, 1 Write; 0 restricted, 0 conditional | cloudwatch:* |
| SNS | All 1 actions (see the SNS page) | 1 Write; 0 restricted, 0 conditional | sns:* |
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 at least 80% of the write and permissions-management actions of: cloudwatch (89 of 89), logs (70 of 70), sns (22 of 22).
Guidance
Practical scope
3 statements. The first allows autoscaling:Describe*, cloudwatch:*, logs:*, sns:*, iam:GetPolicy, iam:GetPolicyVersion, iam:GetRole and oam:ListSinks on Resource "*". The second allows iam:CreateServiceLinkedRole on role ARNs matching arn:aws:iam::*:role/aws-service-role/events.amazonaws.com/AWSServiceRoleForCloudWatchEvents*, with a StringLike condition on iam:AWSServiceName (events.amazonaws.com). The third allows oam:ListAttachedLinks on ARNs matching arn:aws:oam:*:*:sink/*.
Use cases
- Give existing users or roles full access to CloudWatch, including CloudWatch Logs and Amazon SNS actions. The CloudWatch User Guide recommends CloudWatchFullAccessV2 instead.
Best practices
- The CloudWatch User Guide recommends using CloudWatchFullAccessV2 instead of CloudWatchFullAccess.
- AWS managed policies don't grant least privilege permissions. The IAM User Guide says to consider the security risk of granting principals more permissions than they need, and suggests using Access Analyzer to see which permissions principals use, then writing a custom policy or generating one with only the required permissions.
Security considerations
- cloudwatch:*, logs:* and sns:* on Resource "*" allow every action in those services, including write and delete actions, not only reads.
- The CloudWatch guide says CloudWatchFullAccessV2 more properly scopes the permissions granted for other services such as Amazon SNS and Amazon EC2 Auto Scaling, and that AWS plans to deprecate CloudWatchFullAccess in the near future. This policy keeps the broader sns:* grant.
- It lets a principal create the CloudWatch Events service-linked role (iam:CreateServiceLinkedRole on ARNs matching the AWSServiceRoleForCloudWatchEvents* pattern).
- You cannot change the permissions in an AWS managed policy. If AWS updates the policy, the update affects every user, group and role it is attached to.
Assignment guidance
You can attach this policy to your users, groups and roles. The reference page also links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. The CloudWatch User Guide recommends stopping use of this policy and using CloudWatchFullAccessV2 instead.
Related policies
Same service
- AlexaForBusinessGatewayExecution
- AmazonAPIGatewayPushToCloudWatchLogs
- AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy
- AmazonAthenaServiceRolePolicy
- AmazonAuroraDSQLReadOnlyAccess
- AmazonBraketFullAccess
- AmazonBraketJobsExecutionPolicy
- AmazonBraketServiceRolePolicy
Same domain
Frequently asked questions
- When should I attach CloudWatchFullAccess?
- The reference page says you can attach CloudWatchFullAccess to your users, groups and roles and describes it as providing full access to CloudWatch. The CloudWatch User Guide says the policy is on the path to deprecation, recommends that you stop using it, and recommends CloudWatchFullAccessV2 instead.
- What does CloudWatchFullAccess grant?
- It allows cloudwatch:*, logs:* and sns:* on all resources, autoscaling:Describe*, iam:GetPolicy, iam:GetPolicyVersion, iam:GetRole, oam:ListSinks and oam:ListAttachedLinks, and iam:CreateServiceLinkedRole for the CloudWatch Events service-linked role.
- What are the security risks of CloudWatchFullAccess?
- cloudwatch:*, logs:* and sns:* on all resources allow every action in those services, not only reads. The CloudWatch User Guide says the policy is on the path to deprecation and that CloudWatchFullAccessV2 scopes SNS and EC2 Auto Scaling permissions more properly. AWS managed policies don't grant least privilege permissions, and you must consider the security risk of granting principals more permissions than they need. AWS updates to the policy affect every identity it is attached to.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:Describe*",
"cloudwatch:*",
"logs:*",
"sns:*",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRole",
"oam:ListSinks"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:CreateServiceLinkedRole",
"Resource": "arn:aws:iam::*:role/aws-service-role/events.amazonaws.com/AWSServiceRoleForCloudWatchEvents*",
"Condition": {
"StringLike": {
"iam:AWSServiceName": "events.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"oam:ListAttachedLinks"
],
"Resource": "arn:aws:oam:*:*:sink/*"
}
]
}
Version history
Current version v4, edited by AWS on 2022-11-27. 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/CloudWatchFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchFullAccessCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/CloudWatchFullAccessTerraform
resource "aws_iam_role_policy_attachment" "cloudwatchfullaccess" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/CloudWatchFullAccess"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchFullAccess"),
);Sources
- CloudWatchFullAccess (AWS Managed Policy Reference Guide) (retrieved ; supports summary, practicalScope, useCases, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for CloudWatch (Amazon CloudWatch User Guide) (retrieved ; supports summary, useCases, bestPractices, securityConsiderations, assignmentGuidance, faqs)
- Managed policies and inline policies (IAM User Guide) (retrieved ; supports securityConsiderations, faqs)
- AWS managed policies for job functions (IAM User Guide) (retrieved ; supports bestPractices, faqs)