Skip to main content
IAM Policy Map

CloudWatchOmniSpaceAccessPolicy

OperatorAWS managedActivePermissions reviewedShow on mapCompare

Summary

Provides access to manage CloudWatch Omni spaces, view Applications Telemetry, and other Observability and Monitoring features through the new CloudWatch Omni Product

Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.

Identity

ARN
arn:aws:iam::aws:policy/CloudWatchOmniSpaceAccessPolicy
Default version
v3
Created
Last edited
Services
bedrock, bedrock-agentcore, cloudwatch, config, iam, identitystore, kms, lambda, logs, secretsmanager, sns

Control-plane actions (115)

By access level: 29 List, 6 Permissions management, 25 Read, 5 Tagging, 50 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Bedrock2 of 2322 List; 0 restricted, 0 conditionalbedrock:ListFoundationModels, bedrock:ListInferenceProfiles
Bedrock-Agentcore24 of 1976 List, 3 Read, 2 Tagging, 13 Write; 24 restricted, 24 conditionalbedrock-agentcore:AddDatasetExamples, bedrock-agentcore:CreateDataset, bedrock-agentcore:CreateDatasetVersion, bedrock-agentcore:CreateEvaluator, bedrock-agentcore:CreateOnlineEvaluationConfig, bedrock-agentcore:DeleteDataset, bedrock-agentcore:DeleteDatasetExamples, bedrock-agentcore:DeleteEvaluator, bedrock-agentcore:DeleteOnlineEvaluationConfig, bedrock-agentcore:GetDataset, bedrock-agentcore:GetEvaluator, bedrock-agentcore:GetOnlineEvaluationConfig and 12 more
CloudWatch58 of 16010 List, 6 Permissions management, 15 Read, 2 Tagging, 25 Write; 58 restricted, 58 conditionalcloudwatch:AssumeAccessProfile, cloudwatch:CreateAccessGrant, cloudwatch:CreateAccessProfile, cloudwatch:CreateAlert, cloudwatch:CreateIntegration, cloudwatch:CreateOmniDashboard, cloudwatch:CreateOmniThread, cloudwatch:CreateView, cloudwatch:DeleteAccessGrant, cloudwatch:DeleteAccessProfile, cloudwatch:DeleteAlert, cloudwatch:DeleteIntegration and 46 more
Config3 of 1021 Read, 2 Write; 3 restricted, 3 conditionalconfig:DeleteServiceLinkedConfigurationRecorder, config:DescribeConfigurationRecorderStatus, config:PutServiceLinkedConfigurationRecorder
IAM8 of 1905 List, 1 Read, 2 Write; 4 restricted, 4 conditionaliam:CreateServiceLinkedRole, iam:GetRole, iam:ListAttachedRolePolicies, iam:ListRoles, iam:ListServiceSpecificCredentials, iam:ListUserTags, iam:ListUsers, iam:PassRole
Identity Store4 of 292 List, 2 Read; 4 restricted, 4 conditionalidentitystore:DescribeGroup, identitystore:DescribeUser, identitystore:ListGroups, identitystore:ListUsers
KMS4 of 581 List, 1 Read, 2 Write; 3 restricted, 3 conditionalkms:Decrypt, kms:DescribeKey, kms:GenerateDataKey, kms:ListKeys
Lambda1 of 1211 Read; 1 restricted, 1 conditionallambda:GetFunction
CloudWatch Logs4 of 1331 List, 3 Write; 4 restricted, 4 conditionallogs:CreateLogGroup, logs:CreateLogStream, logs:DescribeLogGroups, logs:PutLogEvents
Secrets Manager6 of 271 List, 1 Read, 1 Tagging, 3 Write; 5 restricted, 5 conditionalsecretsmanager:CreateSecret, secretsmanager:DeleteSecret, secretsmanager:GetSecretValue, secretsmanager:ListSecrets, secretsmanager:PutSecretValue, secretsmanager:TagResource
SNS1 of 401 List; 0 restricted, 0 conditionalsns:ListTopics
Bedrock: 2 actions
  • bedrock:ListFoundationModels (List)
  • bedrock:ListInferenceProfiles (List)
Bedrock-Agentcore: 24 actions
  • bedrock-agentcore:AddDatasetExamples (Write)
  • bedrock-agentcore:CreateDataset (Write)
  • bedrock-agentcore:CreateDatasetVersion (Write)
  • bedrock-agentcore:CreateEvaluator (Write)
  • bedrock-agentcore:CreateOnlineEvaluationConfig (Write)
  • bedrock-agentcore:DeleteDataset (Write)
  • bedrock-agentcore:DeleteDatasetExamples (Write)
  • bedrock-agentcore:DeleteEvaluator (Write)
  • bedrock-agentcore:DeleteOnlineEvaluationConfig (Write)
  • bedrock-agentcore:GetDataset (Read)
  • bedrock-agentcore:GetEvaluator (Read)
  • bedrock-agentcore:GetOnlineEvaluationConfig (Read)
  • bedrock-agentcore:ListDatasetExamples (List)
  • bedrock-agentcore:ListDatasetVersions (List)
  • bedrock-agentcore:ListDatasets (List)
  • bedrock-agentcore:ListEvaluators (List)
  • bedrock-agentcore:ListOnlineEvaluationConfigs (List)
  • bedrock-agentcore:ListTagsForResource (List)
  • bedrock-agentcore:TagResource (Tagging)
  • bedrock-agentcore:UntagResource (Tagging)
  • bedrock-agentcore:UpdateDataset (Write)
  • bedrock-agentcore:UpdateDatasetExamples (Write)
  • bedrock-agentcore:UpdateEvaluator (Write)
  • bedrock-agentcore:UpdateOnlineEvaluationConfig (Write)
CloudWatch: 58 actions
  • cloudwatch:AssumeAccessProfile (Permissions management)
  • cloudwatch:CreateAccessGrant (Permissions management)
  • cloudwatch:CreateAccessProfile (Permissions management)
  • cloudwatch:CreateAlert (Write)
  • cloudwatch:CreateIntegration (Write)
  • cloudwatch:CreateOmniDashboard (Write)
  • cloudwatch:CreateOmniThread (Write)
  • cloudwatch:CreateView (Write)
  • cloudwatch:DeleteAccessGrant (Permissions management)
  • cloudwatch:DeleteAccessProfile (Permissions management)
  • cloudwatch:DeleteAlert (Write)
  • cloudwatch:DeleteIntegration (Write)
  • cloudwatch:DeleteOmniDashboard (Write)
  • cloudwatch:DeleteOmniThread (Write)
  • cloudwatch:DeleteView (Write)
  • cloudwatch:GetAccessGrant (Read)
  • cloudwatch:GetAccessProfile (Read)
  • cloudwatch:GetAlert (Read)
  • cloudwatch:GetContextGraph (Read)
  • cloudwatch:GetDomain (Read)
  • cloudwatch:GetIntegration (Read)
  • cloudwatch:GetIntelligenceConfiguration (Read)
  • cloudwatch:GetOmniDashboard (Read)
  • cloudwatch:GetOmniThread (Read)
  • cloudwatch:GetPreferences (Read)
  • cloudwatch:GetRecords (Read)
  • cloudwatch:GetSpace (Read)
  • cloudwatch:GetSpaceDataAccess (Read)
  • cloudwatch:GetTelemetryQueryResults (Read)
  • cloudwatch:GetView (Read)
  • cloudwatch:InvokeIntegration (Write)
  • cloudwatch:ListAccessGrants (List)
  • cloudwatch:ListAccessProfiles (List)
  • cloudwatch:ListAlerts (List)
  • cloudwatch:ListIntegrations (List)
  • cloudwatch:ListOmniDashboards (List)
  • cloudwatch:ListOmniThreads (List)
  • cloudwatch:ListSpaces (List)
  • cloudwatch:ListTagsForResource (List)
  • cloudwatch:ListTelemetryQuerySessions (List)
  • cloudwatch:ListViews (List)
  • cloudwatch:PutIntelligenceConfiguration (Write)
  • cloudwatch:SearchPrincipals (Write)
  • cloudwatch:StartOmniThreadSession (Write)
  • cloudwatch:StartTelemetryQuerySession (Write)
  • cloudwatch:StopTelemetryQuery (Write)
  • cloudwatch:StopTelemetryQuerySession (Write)
  • cloudwatch:SubmitFeedback (Write)
  • cloudwatch:TagResource (Tagging)
  • cloudwatch:UntagResource (Tagging)
  • cloudwatch:UpdateAccessProfile (Permissions management)
  • cloudwatch:UpdateAlert (Write)
  • cloudwatch:UpdateIntegration (Write)
  • cloudwatch:UpdateOmniDashboard (Write)
  • cloudwatch:UpdateOmniThread (Write)
  • cloudwatch:UpdatePreferences (Write)
  • cloudwatch:UpdateSpace (Write)
  • cloudwatch:UpdateView (Write)
Config: 3 actions
  • config:DeleteServiceLinkedConfigurationRecorder (Write)
  • config:DescribeConfigurationRecorderStatus (Read)
  • config:PutServiceLinkedConfigurationRecorder (Write)
IAM: 8 actions
  • iam:CreateServiceLinkedRole (Write)
  • iam:GetRole (Read)
  • iam:ListAttachedRolePolicies (List)
  • iam:ListRoles (List)
  • iam:ListServiceSpecificCredentials (List)
  • iam:ListUserTags (List)
  • iam:ListUsers (List)
  • iam:PassRole (Write)
Identity Store: 4 actions
  • identitystore:DescribeGroup (Read)
  • identitystore:DescribeUser (Read)
  • identitystore:ListGroups (List)
  • identitystore:ListUsers (List)
KMS: 4 actions
  • kms:Decrypt (Write)
  • kms:DescribeKey (Read)
  • kms:GenerateDataKey (Write)
  • kms:ListKeys (List)
Lambda: 1 actions
  • lambda:GetFunction (Read)
CloudWatch Logs: 4 actions
  • logs:CreateLogGroup (Write)
  • logs:CreateLogStream (Write)
  • logs:DescribeLogGroups (List)
  • logs:PutLogEvents (Write)
Secrets Manager: 6 actions
  • secretsmanager:CreateSecret (Write)
  • secretsmanager:DeleteSecret (Write)
  • secretsmanager:GetSecretValue (Read)
  • secretsmanager:ListSecrets (List)
  • secretsmanager:PutSecretValue (Write)
  • secretsmanager:TagResource (Tagging)
SNS: 1 actions
  • sns:ListTopics (List)

Data-plane actions (4)

By access level: 1 List, 1 Read, 2 Write.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Bedrock-Agentcore1 of 621 Write; 1 restricted, 1 conditionalbedrock-agentcore:Evaluate
CloudWatch2 of 51 List, 1 Read; 2 restricted, 2 conditionalcloudwatch:GetMetricData, cloudwatch:ListMetrics
Lambda1 of 141 Write; 1 restricted, 1 conditionallambda:InvokeFunction
Bedrock-Agentcore: 1 actions
  • bedrock-agentcore:Evaluate (Write)
CloudWatch: 2 actions
  • cloudwatch:GetMetricData (Read)
  • cloudwatch:ListMetrics (List)
Lambda: 1 actions
  • lambda:InvokeFunction (Write)

Excluded and conditional actions

  • cloudwatch:ListTagsForResource (deny-conditional, statement 1): 1 matching actions
  • cloudwatch:TagResource (deny-conditional, statement 1): 1 matching actions
  • cloudwatch:UntagResource (deny-conditional, statement 1): 1 matching actions

Resource scope and attachment

Resource scope across granted actions: mixed.

Can be attached: Yes, to users, groups and roles.

Why this tier

  • Grants 63 write, tagging or permissions-management actions, short of full control of any service.
  • 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": [
    {
      "Sid": "CloudWatchOmniSpaceAccessPermissions",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:UpdateSpace",
        "cloudwatch:GetSpace",
        "cloudwatch:ListSpaces",
        "cloudwatch:GetDomain",
        "cloudwatch:CreateAccessGrant",
        "cloudwatch:GetAccessGrant",
        "cloudwatch:ListAccessGrants",
        "cloudwatch:DeleteAccessGrant",
        "cloudwatch:SearchPrincipals",
        "cloudwatch:StartTelemetryQuerySession",
        "cloudwatch:StopTelemetryQuerySession",
        "cloudwatch:ListTelemetryQuerySessions",
        "cloudwatch:StopTelemetryQuery",
        "cloudwatch:GetTelemetryQueryResults",
        "cloudwatch:GetRecords",
        "cloudwatch:GetMetricData",
        "cloudwatch:ListMetrics",
        "cloudwatch:GetContextGraph",
        "cloudwatch:CreateAlert",
        "cloudwatch:GetAlert",
        "cloudwatch:UpdateAlert",
        "cloudwatch:DeleteAlert",
        "cloudwatch:ListAlerts",
        "cloudwatch:CreateOmniDashboard",
        "cloudwatch:GetOmniDashboard",
        "cloudwatch:UpdateOmniDashboard",
        "cloudwatch:DeleteOmniDashboard",
        "cloudwatch:ListOmniDashboards",
        "cloudwatch:CreateAccessProfile",
        "cloudwatch:GetAccessProfile",
        "cloudwatch:UpdateAccessProfile",
        "cloudwatch:DeleteAccessProfile",
        "cloudwatch:ListAccessProfiles",
        "cloudwatch:AssumeAccessProfile",
        "cloudwatch:CreateView",
        "cloudwatch:GetView",
        "cloudwatch:UpdateView",
        "cloudwatch:DeleteView",
        "cloudwatch:ListViews",
        "cloudwatch:GetPreferences",
        "cloudwatch:UpdatePreferences",
        "cloudwatch:CreateOmniThread",
        "cloudwatch:GetOmniThread",
        "cloudwatch:UpdateOmniThread",
        "cloudwatch:ListOmniThreads",
        "cloudwatch:DeleteOmniThread",
        "cloudwatch:StartOmniThreadSession",
        "cloudwatch:SubmitFeedback",
        "cloudwatch:CreateIntegration",
        "cloudwatch:UpdateIntegration",
        "cloudwatch:GetIntegration",
        "cloudwatch:DeleteIntegration",
        "cloudwatch:ListIntegrations",
        "cloudwatch:InvokeIntegration",
        "cloudwatch:GetIntelligenceConfiguration",
        "cloudwatch:PutIntelligenceConfiguration",
        "cloudwatch:TagResource",
        "cloudwatch:UntagResource",
        "cloudwatch:ListTagsForResource",
        "cloudwatch:GetSpaceDataAccess"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "cloudwatch:HasAccessGrant": "true"
        }
      }
    },
    {
      "Sid": "DenyClassicCloudWatchResourceTagging",
      "Effect": "Deny",
      "Action": [
        "cloudwatch:TagResource",
        "cloudwatch:UntagResource",
        "cloudwatch:ListTagsForResource"
      ],
      "NotResource": [
        "arn:aws:cloudwatch:*:*:space/*",
        "arn:aws:cloudwatch:*:*:domain/*",
        "arn:aws:cloudwatch:*:*:organization-domain/*",
        "arn:aws:cloudwatch:*:*:access-grant/*",
        "arn:aws:cloudwatch:*:*:organization-access-grant/*",
        "arn:aws:cloudwatch:*:*:access-profile/*",
        "arn:aws:cloudwatch:*:*:omni-dashboard/*",
        "arn:aws:cloudwatch:*:*:alert/*",
        "arn:aws:cloudwatch:*:*:view/*",
        "arn:aws:cloudwatch:*:*:integration/*",
        "arn:aws:cloudwatch:*:*:dataset/*"
      ]
    },
    {
      "Sid": "AllowPassRoleForCloudWatchOmni",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "iam:PassedToService": [
            "cloudwatch.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "ListRolesAndUsers",
      "Effect": "Allow",
      "Action": [
        "iam:ListUsers",
        "iam:ListRoles",
        "iam:GetRole",
        "iam:ListAttachedRolePolicies"
      ],
      "Resource": "*"
    },
    {
      "Sid": "APIKeyConfigurationUsers",
      "Effect": "Allow",
      "Action": [
        "iam:ListUserTags",
        "iam:ListServiceSpecificCredentials"
      ],
      "Resource": "arn:aws:iam::*:user/omni/OmniIngestionUser-*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "KmsListKeysForOmni",
      "Effect": "Allow",
      "Action": "kms:ListKeys",
      "Resource": "*"
    },
    {
      "Sid": "KmsDescribeKeyForOmni",
      "Effect": "Allow",
      "Action": "kms:DescribeKey",
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "KmsCryptoOpsForOmniSpaces",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudwatch.amazonaws.com"
          ]
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "aws:ResourceTag/cw-omni": "true"
        },
        "StringLike": {
          "kms:EncryptionContext:aws:cloudwatch:arn": "arn:aws:cloudwatch:*:${aws:PrincipalAccount}:space/*"
        }
      }
    },
    {
      "Sid": "KmsCryptoOpsForDatasets",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudwatch.amazonaws.com"
          ]
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        },
        "StringLike": {
          "kms:EncryptionContext:aws:cloudwatch:arn": "arn:aws:cloudwatch:*:${aws:PrincipalAccount}:dataset/*"
        }
      }
    },
    {
      "Sid": "KmsCryptoOpsForOmniIntelligence",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudwatch.amazonaws.com"
          ]
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "aws:ResourceTag/cw-omni": "true"
        },
        "StringLike": {
          "kms:EncryptionContext:aws:cloudwatch:account": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "KmsCryptoOpsForOmniIntelligenceBranchKey",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudwatch.amazonaws.com"
          ]
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "aws:ResourceTag/cw-omni": "true"
        },
        "StringLike": {
          "kms:EncryptionContext:aws-crypto-ec:aws:cloudwatch:account": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ConfigServiceLinkedRecorderManagement",
      "Effect": "Allow",
      "Action": [
        "config:PutServiceLinkedConfigurationRecorder",
        "config:DeleteServiceLinkedConfigurationRecorder"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "config:ConfigurationRecorderServicePrincipal": [
            "cloudwatch.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "DescribeConfigurationRecorder",
      "Effect": "Allow",
      "Action": [
        "config:DescribeConfigurationRecorderStatus"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowConfigServiceLinkedRoleCreation",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/config.amazonaws.com/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "iam:AWSServiceName": "config.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AgentCoreEvaluator",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:CreateEvaluator",
        "bedrock-agentcore:GetEvaluator",
        "bedrock-agentcore:UpdateEvaluator",
        "bedrock-agentcore:DeleteEvaluator",
        "bedrock-agentcore:ListEvaluators",
        "bedrock-agentcore:Evaluate",
        "bedrock-agentcore:TagResource",
        "bedrock-agentcore:UntagResource",
        "bedrock-agentcore:ListTagsForResource"
      ],
      "Resource": "arn:aws:bedrock-agentcore:*:*:evaluator/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AgentCoreOnlineEvaluationConfig",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:CreateOnlineEvaluationConfig",
        "bedrock-agentcore:GetOnlineEvaluationConfig",
        "bedrock-agentcore:ListOnlineEvaluationConfigs",
        "bedrock-agentcore:UpdateOnlineEvaluationConfig",
        "bedrock-agentcore:DeleteOnlineEvaluationConfig",
        "bedrock-agentcore:TagResource",
        "bedrock-agentcore:UntagResource",
        "bedrock-agentcore:ListTagsForResource"
      ],
      "Resource": "arn:aws:bedrock-agentcore:*:*:online-evaluation-config/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AgentCoreEvaluationDatasets",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:GetDataset",
        "bedrock-agentcore:ListDatasets",
        "bedrock-agentcore:ListDatasetVersions",
        "bedrock-agentcore:ListDatasetExamples",
        "bedrock-agentcore:CreateDataset",
        "bedrock-agentcore:UpdateDataset",
        "bedrock-agentcore:CreateDatasetVersion",
        "bedrock-agentcore:AddDatasetExamples",
        "bedrock-agentcore:UpdateDatasetExamples",
        "bedrock-agentcore:DeleteDatasetExamples",
        "bedrock-agentcore:DeleteDataset",
        "bedrock-agentcore:TagResource",
        "bedrock-agentcore:UntagResource",
        "bedrock-agentcore:ListTagsForResource"
      ],
      "Resource": "arn:aws:bedrock-agentcore:*:*:dataset/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "BedrockFoundationModelDiscovery",
      "Effect": "Allow",
      "Action": [
        "bedrock:ListFoundationModels",
        "bedrock:ListInferenceProfiles"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AgentCorePassRole",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "iam:PassedToService": [
            "bedrock-agentcore.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AnnotationAndEvalLogs",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/cloudwatch/*",
        "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/evaluations/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "OnlineEvalLogGroupDiscovery",
      "Effect": "Allow",
      "Action": [
        "logs:DescribeLogGroups"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "KmsCryptoOpsForCMKEvaluators",
      "Effect": "Allow",
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        },
        "StringLike": {
          "kms:EncryptionContext:aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:*:${aws:PrincipalAccount}:evaluator/*"
        }
      }
    },
    {
      "Sid": "CodeEvaluatorLambdaInvoke",
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeFunction",
        "lambda:GetFunction"
      ],
      "Resource": "arn:aws:lambda:*:*:function:cloudwatchCodeEvaluator*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ModelProviderKeyDiscovery",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:ListSecrets"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ModelProviderKeyCreation",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:CreateSecret"
      ],
      "Resource": "arn:aws:secretsmanager:*:*:secret:cw-omni-*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/cw-omni": "true",
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "ModelProviderKeyManagement",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:PutSecretValue",
        "secretsmanager:GetSecretValue",
        "secretsmanager:DeleteSecret",
        "secretsmanager:TagResource"
      ],
      "Resource": "arn:aws:secretsmanager:*:*:secret:cw-omni-*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}",
          "aws:ResourceTag/cw-omni": "true"
        }
      }
    },
    {
      "Sid": "IdentityStoreReadForPrincipalSearch",
      "Effect": "Allow",
      "Action": [
        "identitystore:ListUsers",
        "identitystore:ListGroups",
        "identitystore:DescribeUser",
        "identitystore:DescribeGroup"
      ],
      "Resource": [
        "arn:aws:identitystore::*:identitystore/*",
        "arn:aws:identitystore:::user/*",
        "arn:aws:identitystore:::group/*"
      ],
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudwatch.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "KmsDecryptForIdentityStoreCMK",
      "Effect": "Allow",
      "Action": "kms:Decrypt",
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": [
            "aws:identitystore:identitystore-arn"
          ]
        },
        "StringLike": {
          "kms:ViaService": "identitystore.*.amazonaws.com"
        }
      }
    },
    {
      "Sid": "SnsTopicDiscoveryForAlerts",
      "Effect": "Allow",
      "Action": "sns:ListTopics",
      "Resource": "*"
    }
  ]
}

Version history

Current version v3, edited by AWS on 2026-11-11.

  1. v2 to v3, detected 2026-11-13: 1 added, 0 removed.

Version change details

Attach snippets

AWS CLI

aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchOmniSpaceAccessPolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchOmniSpaceAccessPolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/CloudWatchOmniSpaceAccessPolicy

CloudFormation

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

Terraform

resource "aws_iam_role_policy_attachment" "cloudwatchomnispaceaccesspolicy" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/CloudWatchOmniSpaceAccessPolicy"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchOmniSpaceAccessPolicy"),
);

Sources

Pending editorial review. No editorial sources are listed yet.