CloudWatchFullAccessV2

Last Modified

Oct 20, 2026

October 20, 2026 at 07:02 PM UTC

Version

v18

Total Versions

10

Created

Oct 20, 2026

Actions

82

Risk

Medium

The same capabilities in a scoped form, resource policy writes, reads across all data, or full access to a whole service. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • Medium

    Can switch off security monitoring

    Can delete CloudWatch log groups, which is how an intruder hides.

    logs:DeleteLogGroup (via logs:*)

    Use with caution: Deny these actions with an SCP for everyone outside a break-glass role, so no single policy can blind you.

  • Medium

    Can rewrite resource policies and sharing

    Grants 10 permissions management actions across 2 services (cloudwatch, logs) on any resource, enough to share resources outside the account.

    cloudwatch:assumeaccessprofilecloudwatch:createaccessgrantcloudwatch:createaccessprofilecloudwatch:createdomainaccessgrantfororganizationcloudwatch:deleteaccessgrantcloudwatch:deleteaccessprofilecloudwatch:deletedomainaccessgrantfororganizationcloudwatch:updateaccessprofilelogs:deleteresourcepolicylogs:putresourcepolicy

    Use with caution: Turn on IAM Access Analyzer external access findings, and keep account-level guards like S3 Block Public Access enabled.

  • Medium

    Full access to 6 services on every resource

    Uses application-signals:*, cloudwatch:*, logs:*, rum:*, synthetics:*, xray:* with Resource "*" and no condition, so every action AWS adds to those services later is granted too.

    application-signals:*cloudwatch:*logs:*rum:*synthetics:*xray:*

    Use with caution: The grant grows every time the service does. For long-lived access, prefer a policy that lists the actions you actually need.

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "CloudWatchFullAccessPermissions",
          "Effect": "Allow",
          "Action": [
            "application-autoscaling:DescribeScalingPolicies",
            "application-signals:*",
            "autoscaling:DescribeAutoScalingGroups",
            "autoscaling:DescribePolicies",
            "cloudwatch:*",
            "logs:*",
            "sns:CreateTopic",
            "sns:ListSubscriptions",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "sns:Subscribe",
            "iam:GetPolicy",
            "iam:GetPolicyVersion",
            "iam:GetRole",
            "oam:ListSinks",
            "observabilityadmin:GetCentralizationRuleForOrganization",
            "observabilityadmin:ListCentralizationRulesForOrganization",
            "observabilityadmin:CreateCentralizationRuleForOrganization",
            "observabilityadmin:UpdateCentralizationRuleForOrganization",
            "observabilityadmin:DeleteCentralizationRuleForOrganization",
            "observabilityadmin:StartTelemetryEvaluation",
            "observabilityadmin:GetTelemetryEvaluationStatus",
            "observabilityadmin:ListResourceTelemetry",
            "observabilityadmin:StopTelemetryEvaluation",
            "observabilityadmin:StartTelemetryEvaluationForOrganization",
            "observabilityadmin:GetTelemetryEvaluationStatusForOrganization",
            "observabilityadmin:ListResourceTelemetryForOrganization",
            "observabilityadmin:StopTelemetryEvaluationForOrganization",
            "observabilityadmin:CreateTelemetryRule",
            "observabilityadmin:GetTelemetryRule",
            "observabilityadmin:ListTelemetryRules",
            "observabilityadmin:UpdateTelemetryRule",
            "observabilityadmin:DeleteTelemetryRule",
            "observabilityadmin:CreateTelemetryRuleForOrganization",
            "observabilityadmin:GetTelemetryRuleForOrganization",
            "observabilityadmin:ListTelemetryRulesForOrganization",
            "observabilityadmin:UpdateTelemetryRuleForOrganization",
            "observabilityadmin:DeleteTelemetryRuleForOrganization",
            "observabilityadmin:GetTelemetryEnrichmentStatus",
            "observabilityadmin:StartTelemetryEnrichment",
            "observabilityadmin:StopTelemetryEnrichment",
            "observabilityadmin:TagResource",
            "observabilityadmin:UntagResource",
            "observabilityadmin:ListTagsForResource",
            "observabilityadmin:CreateTelemetryPipeline",
            "observabilityadmin:GetTelemetryPipeline",
            "observabilityadmin:UpdateTelemetryPipeline",
            "observabilityadmin:DeleteTelemetryPipeline",
            "observabilityadmin:ListTelemetryPipelines",
            "observabilityadmin:TestTelemetryPipeline",
            "observabilityadmin:ValidateTelemetryPipelineConfiguration",
            "observabilityadmin:CreateS3TableIntegration",
            "observabilityadmin:GetS3TableIntegration",
            "observabilityadmin:ListS3TableIntegrations",
            "observabilityadmin:DeleteS3TableIntegration",
            "observabilityadmin:CreateDatasetIntegration",
            "observabilityadmin:GetDatasetIntegration",
            "observabilityadmin:ListDatasetIntegrations",
            "observabilityadmin:UpdateDatasetIntegration",
            "observabilityadmin:DeleteDatasetIntegration",
            "rum:*",
            "synthetics:*",
            "xray:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudWatchApplicationSignalsServiceLinkedRolePermissions",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "arn:aws:iam::*:role/aws-service-role/application-signals.cloudwatch.amazonaws.com/AWSServiceRoleForCloudWatchApplicationSignals",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "application-signals.cloudwatch.amazonaws.com"
            }
          }
        },
        {
          "Sid": "EventsServicePermissions",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "arn:aws:iam::*:role/aws-service-role/events.amazonaws.com/AWSServiceRoleForCloudWatchEvents*",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "events.amazonaws.com"
            }
          }
        },
        {
          "Sid": "OAMReadPermissions",
          "Effect": "Allow",
          "Action": [
            "oam:ListAttachedLinks"
          ],
          "Resource": "arn:aws:oam:*:*:sink/*"
        },
        {
          "Sid": "CloudWatchCloudTrailPermissions",
          "Effect": "Allow",
          "Action": [
            "cloudtrail:CreateServiceLinkedChannel",
            "cloudtrail:GetChannel"
          ],
          "Resource": "arn:aws:cloudtrail:*:*:channel/aws-service-channel/application-signals/*"
        },
        {
          "Sid": "CloudWatchApplicationSignalsCloudTrailListPermissions",
          "Effect": "Allow",
          "Action": [
            "cloudtrail:ListChannels"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudWatchServiceQuotaPermissions",
          "Effect": "Allow",
          "Action": [
            "servicequotas:GetServiceQuota"
          ],
          "Resource": [
            "arn:aws:servicequotas:*:*:s3/*",
            "arn:aws:servicequotas:*:*:dynamodb/*",
            "arn:aws:servicequotas:*:*:kinesis/*",
            "arn:aws:servicequotas:*:*:sns/*",
            "arn:aws:servicequotas:*:*:bedrock/*",
            "arn:aws:servicequotas:*:*:lambda/*",
            "arn:aws:servicequotas:*:*:fargate/*",
            "arn:aws:servicequotas:*:*:elasticloadbalancing/*",
            "arn:aws:servicequotas:*:*:ec2/*"
          ]
        },
        {
          "Sid": "CloudWatchResourceExplorerPermissions",
          "Effect": "Allow",
          "Action": [
            "resource-explorer-2:ListIndexes",
            "resource-explorer-2:Search"
          ],
          "Resource": [
            "arn:aws:resource-explorer-2:*::view/AWSServiceViewForApplicationSignals/service-view",
            "arn:aws:resource-explorer-2:*::view/AWSServiceViewForApplicationSignalsOrgScopeProd/service-view"
          ]
        },
        {
          "Sid": "CloudWatchResourceExplorerSLRPermissions",
          "Effect": "Allow",
          "Action": [
            "iam:CreateServiceLinkedRole"
          ],
          "Resource": "arn:aws:iam::*:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer",
          "Condition": {
            "StringEquals": {
              "iam:AWSServiceName": [
                "resource-explorer-2.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "CloudWatchResourceExplorerCreateIndexPermissions",
          "Effect": "Allow",
          "Action": [
            "resource-explorer-2:CreateIndex"
          ],
          "Resource": "arn:aws:resource-explorer-2:*:*:index/*"
        },
        {
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": "logs.amazonaws.com"
            },
            "ArnLike": {
              "iam:AssociatedResourceArn": "arn:aws:observabilityadmin:*:*:s3tableintegration/*"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": [
                "logs.amazonaws.com",
                "telemetry-pipelines.observabilityadmin.amazonaws.com"
              ]
            },
            "ArnLike": {
              "iam:AssociatedResourceArn": "arn:aws:observabilityadmin:*:*:telemetry-pipeline/*"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3tables:CreateTableBucket",
            "s3tables:PutTableBucketEncryption"
          ],
          "Resource": "arn:aws:s3tables:*:*:bucket/aws-cloudwatch",
          "Condition": {
            "ForAnyValue:StringEquals": {
              "aws:CalledVia": "observabilityadmin.amazonaws.com"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3tables:PutTableBucketPolicy"
          ],
          "Resource": "arn:aws:s3tables:*:*:bucket/aws-cloudwatch"
        },
        {
          "Sid": "LogAlarmScheduledQueryPassRolePermissions",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": "logs.amazonaws.com"
            },
            "ArnLike": {
              "iam:AssociatedResourceArn": "arn:aws:logs:*:*:scheduled-query:*"
            }
          }
        },
        {
          "Sid": "LogAlarmLogLinesPassRolePermissions",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": "cloudwatch.amazonaws.com"
            },
            "ArnLike": {
              "iam:AssociatedResourceArn": "arn:aws:cloudwatch:*:*:alarm:*"
            }
          }
        },
        {
          "Sid": "CloudWatchLogsKmsDescribeKeyPermissions",
          "Effect": "Allow",
          "Action": "kms:DescribeKey",
          "Resource": "arn:aws:kms:*:*:key/*",
          "Condition": {
            "StringLike": {
              "kms:ViaService": "logs.*.amazonaws.com"
            },
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            }
          }
        }
      ]
    },
    "VersionId": "v18",
    "IsDefaultVersion": true,
    "CreateDate": "2026-10-20T18:57:07+00:00"
  }
}

Version History (15 recorded)

Raw history
v18updated

1 action added

7171c06
v16updated

scope changed, no action added or removed

9e49386
v15updated

scope changed, no action added or removed

7fb3a84

CloudWatchFullAccessV2 - Policy Version v15

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

97aeeab

CloudWatchFullAccessV2 - Policy Version v11

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

f5dedf2

CloudWatchFullAccessV2 - Policy Version v7

No recorded action delta - this version predates the change index. View the raw diff.

Dec 2, 2025

8f29426

CloudWatchFullAccessV2 - Policy Version v6

No recorded action delta - this version predates the change index. View the raw diff.

Nov 20, 2025

b8d5aa5

CloudWatchFullAccessV2 - Policy Version v5

No recorded action delta - this version predates the change index. View the raw diff.

Oct 17, 2025

f4e833a

CloudWatchFullAccessV2 - Policy Version v4

No recorded action delta - this version predates the change index. View the raw diff.

Oct 8, 2025

0420c3f

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 18, 2024

aafbae9

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 20, 2024

1884c3b

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 13, 2024

1b36617

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Dec 5, 2023

3312e53

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Aug 1, 2023

dec6e45