CloudWatchSyntheticsFullAccess
Summary
Provides full access to CloudWatch Synthetics.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/CloudWatchSyntheticsFullAccess- Default version
- v14
- Created
- Last edited
- Services
- apigateway, cloudwatch, ec2, iam, kms, lambda, logs, s3, sns, synthetics, xray
Control-plane actions (64)
By access level: 13 List, 1 Permissions management, 21 Read, 4 Tagging, 25 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| API Gateway | 1 of 44 | 1 Read; 1 restricted, 0 conditional | apigateway:GET |
| CloudWatch | 3 of 160 | 1 Read, 2 Write; 3 restricted, 0 conditional | cloudwatch:DeleteAlarms, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm |
| EC2 | 3 of 834 | 3 List; 0 restricted, 0 conditional | ec2:DescribeSecurityGroups, ec2:DescribeSubnets, ec2:DescribeVpcs |
| IAM | 4 of 190 | 2 List, 1 Read, 1 Write; 3 restricted, 1 conditional | iam:GetRole, iam:ListAttachedRolePolicies, iam:ListRoles, iam:PassRole |
| KMS | 3 of 58 | 1 List, 1 Read, 1 Write; 2 restricted, 1 conditional | kms:Decrypt, kms:DescribeKey, kms:ListAliases |
| Lambda | 14 of 121 | 1 Permissions management, 4 Read, 2 Tagging, 7 Write; 14 restricted, 0 conditional | lambda:AddPermission, lambda:CreateFunction, lambda:DeleteFunction, lambda:DeleteLayerVersion, lambda:GetFunction, lambda:GetFunctionConfiguration, lambda:GetLayerVersion, lambda:ListTags, lambda:PublishLayerVersion, lambda:PublishVersion, lambda:TagResource, lambda:UntagResource and 2 more |
| CloudWatch Logs | 6 of 133 | 1 List, 5 Read; 6 restricted, 6 conditional | logs:DescribeLogStreams, logs:FilterLogEvents, logs:GetLogEvents, logs:GetLogGroupFields, logs:GetLogRecord, logs:StartQuery |
| S3 | 4 of 155 | 1 List, 1 Read, 2 Write; 3 restricted, 0 conditional | s3:CreateBucket, s3:GetBucketLocation, s3:ListAllMyBuckets, s3:PutEncryptionConfiguration |
| SNS | 4 of 40 | 2 List, 2 Write; 3 restricted, 0 conditional | sns:CreateTopic, sns:ListSubscriptionsByTopic, sns:ListTopics, sns:Subscribe |
| CloudWatch Synthetics | All 22 actions (see the CloudWatch Synthetics page) | 3 List, 7 Read, 2 Tagging, 10 Write; 0 restricted, 0 conditional | synthetics:* |
API Gateway: 1 actions
- apigateway:GET (Read)
CloudWatch: 3 actions
- cloudwatch:DeleteAlarms (Write)
- cloudwatch:DescribeAlarms (Read)
- cloudwatch:PutMetricAlarm (Write)
EC2: 3 actions
- ec2:DescribeSecurityGroups (List)
- ec2:DescribeSubnets (List)
- ec2:DescribeVpcs (List)
IAM: 4 actions
- iam:GetRole (Read)
- iam:ListAttachedRolePolicies (List)
- iam:ListRoles (List)
- iam:PassRole (Write)
KMS: 3 actions
- kms:Decrypt (Write)
- kms:DescribeKey (Read)
- kms:ListAliases (List)
Lambda: 14 actions
- lambda:AddPermission (Permissions management)
- lambda:CreateFunction (Write)
- lambda:DeleteFunction (Write)
- lambda:DeleteLayerVersion (Write)
- lambda:GetFunction (Read)
- lambda:GetFunctionConfiguration (Read)
- lambda:GetLayerVersion (Read)
- lambda:ListTags (Read)
- lambda:PublishLayerVersion (Write)
- lambda:PublishVersion (Write)
- lambda:TagResource (Tagging)
- lambda:UntagResource (Tagging)
- lambda:UpdateFunctionCode (Write)
- lambda:UpdateFunctionConfiguration (Write)
CloudWatch Logs: 6 actions
- logs:DescribeLogStreams (List)
- logs:FilterLogEvents (Read)
- logs:GetLogEvents (Read)
- logs:GetLogGroupFields (Read)
- logs:GetLogRecord (Read)
- logs:StartQuery (Read)
S3: 4 actions
- s3:CreateBucket (Write)
- s3:GetBucketLocation (Read)
- s3:ListAllMyBuckets (List)
- s3:PutEncryptionConfiguration (Write)
SNS: 4 actions
- sns:CreateTopic (Write)
- sns:ListSubscriptionsByTopic (List)
- sns:ListTopics (List)
- sns:Subscribe (Write)
Data-plane actions (8)
By access level: 3 List, 5 Read.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudWatch | 3 of 5 | 1 List, 2 Read; 0 restricted, 0 conditional | cloudwatch:GetMetricData, cloudwatch:GetMetricStatistics, cloudwatch:ListMetrics |
| S3 | 3 of 25 | 1 List, 2 Read; 3 restricted, 0 conditional | s3:GetObject, s3:GetObjectVersion, s3:ListBucket |
| X-Ray | 2 of 12 | 1 List, 1 Read; 0 restricted, 0 conditional | xray:BatchGetTraces, xray:GetTraceSummaries |
CloudWatch: 3 actions
- cloudwatch:GetMetricData (Read)
- cloudwatch:GetMetricStatistics (Read)
- cloudwatch:ListMetrics (List)
S3: 3 actions
- s3:GetObject (Read)
- s3:GetObjectVersion (Read)
- s3:ListBucket (List)
X-Ray: 2 actions
- xray:BatchGetTraces (List)
- xray:GetTraceSummaries (Read)
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: synthetics (10 of 10).
- Grants iam:PassRole, but only for scoped roles or under conditions (for example iam:PassedToService).
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
- AmazonCloudWatchRUMReadOnlyAccess
- AmazonDynamoDBFullAccesswithDataPipeline
- AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy
- AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy
- AmazonSageMakerPipelinesIntegrations
- AmplifyBackendDeployFullAccess
- AWSApplicationAutoscalingLambdaConcurrencyPolicy
- AWSBudgetsSpendLimitMemberRolePolicy
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": [
{
"Effect": "Allow",
"Action": [
"synthetics:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:PutEncryptionConfiguration"
],
"Resource": [
"arn:aws:s3:::cw-syn-results-*"
]
},
{
"Effect": "Allow",
"Action": [
"iam:ListRoles",
"s3:ListAllMyBuckets",
"xray:GetTraceSummaries",
"xray:BatchGetTraces"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"apigateway:GET"
],
"Resource": [
"arn:aws:apigateway:*::/restapis",
"arn:aws:apigateway:*::/restapis/*/stages",
"arn:aws:apigateway:*::/restapis/*/stages/*/exports/swagger",
"arn:aws:apigateway:*::/apis"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::cw-syn-*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::aws-synthetics-library-*"
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": [
"arn:aws:iam::*:role/service-role/CloudWatchSyntheticsRole*"
],
"Condition": {
"StringEquals": {
"iam:PassedToService": [
"lambda.amazonaws.com",
"synthetics.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListAttachedRolePolicies"
],
"Resource": [
"arn:aws:iam::*:role/service-role/CloudWatchSyntheticsRole*"
]
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricData",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricAlarm",
"cloudwatch:DeleteAlarms"
],
"Resource": [
"arn:aws:cloudwatch:*:*:alarm:Synthetics-*"
]
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms"
],
"Resource": [
"arn:aws:cloudwatch:*:*:alarm:*"
]
},
{
"Effect": "Allow",
"Action": [
"logs:GetLogRecord",
"logs:DescribeLogStreams",
"logs:StartQuery",
"logs:GetLogEvents",
"logs:FilterLogEvents",
"logs:GetLogGroupFields"
],
"Resource": [
"arn:aws:logs:*:*:log-group:/aws/lambda/cwsyn-*"
],
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"lambda:AddPermission",
"lambda:PublishVersion",
"lambda:UpdateFunctionCode",
"lambda:UpdateFunctionConfiguration",
"lambda:GetFunctionConfiguration",
"lambda:GetFunction",
"lambda:DeleteFunction",
"lambda:ListTags",
"lambda:TagResource",
"lambda:UntagResource"
],
"Resource": [
"arn:aws:lambda:*:*:function:cwsyn-*"
]
},
{
"Effect": "Allow",
"Action": [
"lambda:GetLayerVersion",
"lambda:PublishLayerVersion",
"lambda:DeleteLayerVersion"
],
"Resource": [
"arn:aws:lambda:*:*:layer:cwsyn-*",
"arn:aws:lambda:*:*:layer:Synthetics:*",
"arn:aws:lambda:*:*:layer:Synthetics_Selenium:*",
"arn:aws:lambda:*:*:layer:AWS-CW-Synthetics*:*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"sns:ListTopics"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"sns:CreateTopic",
"sns:Subscribe",
"sns:ListSubscriptionsByTopic"
],
"Resource": [
"arn:*:sns:*:*:Synthetics-*"
]
},
{
"Effect": "Allow",
"Action": [
"kms:ListAliases"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:*:*:key/*"
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": "arn:aws:kms:*:*:key/*",
"Condition": {
"StringLike": {
"kms:ViaService": [
"s3.*.amazonaws.com"
]
}
}
}
]
}
Version history
Current version v14, edited by AWS on 2026-03-31. 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/CloudWatchSyntheticsFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchSyntheticsFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchSyntheticsFullAccessCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/CloudWatchSyntheticsFullAccessTerraform
resource "aws_iam_role_policy_attachment" "cloudwatchsyntheticsfullaccess" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/CloudWatchSyntheticsFullAccess"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchSyntheticsFullAccess"),
);Sources
Pending editorial review. No editorial sources are listed yet.