Skip to main content
IAM Policy Map

CloudWatchSyntheticsFullAccess

AdminAWS managedActivePermissions reviewedShow on mapCompare

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.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
API Gateway1 of 441 Read; 1 restricted, 0 conditionalapigateway:GET
CloudWatch3 of 1601 Read, 2 Write; 3 restricted, 0 conditionalcloudwatch:DeleteAlarms, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm
EC23 of 8343 List; 0 restricted, 0 conditionalec2:DescribeSecurityGroups, ec2:DescribeSubnets, ec2:DescribeVpcs
IAM4 of 1902 List, 1 Read, 1 Write; 3 restricted, 1 conditionaliam:GetRole, iam:ListAttachedRolePolicies, iam:ListRoles, iam:PassRole
KMS3 of 581 List, 1 Read, 1 Write; 2 restricted, 1 conditionalkms:Decrypt, kms:DescribeKey, kms:ListAliases
Lambda14 of 1211 Permissions management, 4 Read, 2 Tagging, 7 Write; 14 restricted, 0 conditionallambda: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 Logs6 of 1331 List, 5 Read; 6 restricted, 6 conditionallogs:DescribeLogStreams, logs:FilterLogEvents, logs:GetLogEvents, logs:GetLogGroupFields, logs:GetLogRecord, logs:StartQuery
S34 of 1551 List, 1 Read, 2 Write; 3 restricted, 0 conditionals3:CreateBucket, s3:GetBucketLocation, s3:ListAllMyBuckets, s3:PutEncryptionConfiguration
SNS4 of 402 List, 2 Write; 3 restricted, 0 conditionalsns:CreateTopic, sns:ListSubscriptionsByTopic, sns:ListTopics, sns:Subscribe
CloudWatch SyntheticsAll 22 actions (see the CloudWatch Synthetics page)3 List, 7 Read, 2 Tagging, 10 Write; 0 restricted, 0 conditionalsynthetics:*
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.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
CloudWatch3 of 51 List, 2 Read; 0 restricted, 0 conditionalcloudwatch:GetMetricData, cloudwatch:GetMetricStatistics, cloudwatch:ListMetrics
S33 of 251 List, 2 Read; 3 restricted, 0 conditionals3:GetObject, s3:GetObjectVersion, s3:ListBucket
X-Ray2 of 121 List, 1 Read; 0 restricted, 0 conditionalxray: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.

Same service

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

Download 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/CloudWatchSyntheticsFullAccess

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/CloudWatchSyntheticsFullAccess

Terraform

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.