SageMakerStudioAdminIAMPermissiveExecutionPolicy

Last Modified

Oct 15, 2026

October 15, 2026 at 10:03 PM UTC

Version

v24

Total Versions

14

Created

Oct 15, 2026

Actions

203

Risk

High

An unrestricted escalation path, identity administration, secret reads or the power to switch off security monitoring. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • High

    Can take over other users or roles

    Grants every action of 1 documented escalation path on any resource with no condition, and 1 more in a scoped form.

    • sts-001sts:AssumeRoleunrestricted
    • iam-014iam:AttachRolePolicy + sts:AssumeRolescoped
      • iam:AttachRolePolicy: condition iam:PolicyARN, on arn:aws:iam::*:role/service-role/AmazonSageMaker*

    Use with caution: Reserve it for identity administrators. Keep role trust policies narrow, since sts:AssumeRole on every role is only as safe as the roles that trust the account.

  • High

    Can launch resources that run as a more privileged role

    Grants every action of 1 documented escalation path on any resource with no condition, and 15 more in a scoped form.

    • cloudformation-005cloudformation:CreateChangeSet + cloudformation:ExecuteChangeSetunrestricted
    • cloudformation-001iam:PassRole + cloudformation:CreateStackscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • cloudformation-003iam:PassRole + cloudformation:CreateStackSet + cloudformation:CreateStackInstancesscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • cloudformation-004iam:PassRole + cloudformation:UpdateStackSetscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • emr-001iam:PassRole + elasticmapreduce:RunJobFlowscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • emrserverless-001iam:PassRole + emr-serverless:CreateApplication + emr-serverless:StartJobRunscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • glue-001iam:PassRole + glue:CreateDevEndpointscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • glue-003iam:PassRole + glue:CreateJob + glue:StartJobRunscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    8 more paths
    • glue-004iam:PassRole + glue:CreateJob + glue:CreateTriggerscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • glue-005iam:PassRole + glue:UpdateJob + glue:StartJobRunscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • glue-006iam:PassRole + glue:UpdateJob + glue:CreateTriggerscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • glue-007iam:PassRole + glue:CreateSession + glue:RunStatementscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • sagemaker-001iam:PassRole + sagemaker:CreateNotebookInstancescoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • sagemaker-002iam:PassRole + sagemaker:CreateTrainingJobscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • sagemaker-003iam:PassRole + sagemaker:CreateProcessingJobscoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService
    • scheduler-001iam:PassRole + scheduler:CreateSchedulescoped
      • iam:PassRole: condition aws:ResourceAccount, iam:PassedToService

    Use with caution: Make sure no highly privileged role trusts the service involved, and restrict iam:PassRole in your own policies or boundary to named roles with iam:PassedToService.

  • High

    Can take over existing resources that run as another role

    Grants every action of 4 documented escalation paths on any resource with no condition.

    • cloudformation-002cloudformation:UpdateStackunrestricted
    • glue-002glue:UpdateDevEndpointunrestricted
    • sagemaker-004sagemaker:CreatePresignedNotebookInstanceUrlunrestricted
    • sagemaker-005sagemaker:CreateNotebookInstanceLifecycleConfig + sagemaker:StopNotebookInstance + sagemaker:UpdateNotebookInstance + sagemaker:StartNotebookInstanceunrestricted

    Use with caution: List the roles attached to the functions, instances, pipelines or notebooks it can modify: the holder effectively has them too.

  • Medium

    Can grant itself more permissions

    Grants the actions of 1 documented escalation path, but only on named resources or under a condition. Review that scope before trusting it.

    • iam-009iam:AttachRolePolicyscoped
      • iam:AttachRolePolicy: condition iam:PolicyARN, on arn:aws:iam::*:role/service-role/AmazonSageMaker*

    Use with caution: Check which roles, users or policies fall inside the scope shown above. Within it the escalation works as documented, so keep privileged principals out of it.

  • 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 read secrets

    Reads Glue connection passwords, on any resource with no condition.

    glue:GetConnection (via glue:*)

    Use with caution: Where the holder needs only some secrets, write your own policy scoped to their ARNs or tags, and limit decryption in the KMS key policies.

  • Medium

    Can rewrite resource policies and sharing

    Grants 77 permissions management actions across 13 services (cloudformation, cloudwatch, datazone, ec2, elasticmapreduce, events, ...) on any resource, enough to share resources outside the account.

    cloudformation:setstackpolicycloudwatch:assumeaccessprofilecloudwatch:createaccessgrantcloudwatch:createaccessprofilecloudwatch:createdomainaccessgrantfororganizationcloudwatch:deleteaccessgrantcloudwatch:deleteaccessprofilecloudwatch:deletedomainaccessgrantfororganizationcloudwatch:updateaccessprofiledatazone:addpolicygrantdatazone:deletedomainsharingpolicydatazone:putdomainsharingpolicyand 65 more

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

  • Medium

    Can read data in every bucket or table

    Reads any object in any S3 bucket; any DynamoDB table. Read-only is not the same as harmless when the data is the asset.

    s3:GetObject (via s3:*)dynamodb:Scan

    Use with caution: Read access to data is still access to data. For people who only need to see configuration, ViewOnlyAccess carries none of these signals.

  • Medium

    Full access to 34 services on every resource

    Uses airflow:*, airflow-serverless:*, application-autoscaling:*, athena:*, bedrock:*, cloudformation:*, cloudwatch:*, codeconnections:* and 26 more with Resource "*" and no condition, so every action AWS adds to those services later is granted too.

    airflow:*airflow-serverless:*application-autoscaling:*athena:*bedrock:*cloudformation:*cloudwatch:*codeconnections:*codestar-connections:*codewhisperer:*comprehend:*datazone:*elasticmapreduce:*emr-containers:*emr-serverless:*events:*glue:*logs:*q:*quicksight:*rds:*redshift:*redshift-data:*redshift-serverless:*rekognition:*s3:*s3tables:*sagemaker:*sagemaker-data-science-assistant:*sagemaker-mlflow:*sagemaker-unified-studio-mcp:*scheduler:*sqlworkbench:*textract:*

    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.

  • Medium

    Flagged by AWS IAM Access Analyzer

    AWS's own policy validation raises 1 security warning: DENY_WITH_UNSUPPORTED_TAG_CONDITION_KEY_FOR_SERVICE.

    • Using the effect Deny with the condition key aws:ResourceTag/AmazonDataZoneSessionOwner and actions for services with the following prefixes can be overly permissive: elasticmapreduce. The actions for the listed services are not denied by this statement. We recommend that you move these actions to a different statement without this condition key.

    Use with caution: Read AWS's finding and the documentation it links to.

IAM Access Analyzer (2)

  • Warning / POLICY_SIZE_EXCEEDS_IDENTITY_POLICY_QUOTA

    The 14865 characters in the identity policy, excluding whitespace, exceed the 10240 character maximum for inline and managed policies. We recommend that you use multiple granular policies. AWS docs

  • Security warning / DENY_WITH_UNSUPPORTED_TAG_CONDITION_KEY_FOR_SERVICE

    Using the effect Deny with the condition key aws:ResourceTag/AmazonDataZoneSessionOwner and actions for services with the following prefixes can be overly permissive: elasticmapreduce. The actions for the listed services are not denied by this statement. We recommend that you move these actions to a different statement without this condition key. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "DataAccess",
          "Effect": "Allow",
          "Action": [
            "cloudwatch:*",
            "glue:*",
            "logs:*",
            "redshift-data:*",
            "redshift-serverless:*",
            "redshift:*",
            "s3:*",
            "s3tables:*",
            "comprehend:*",
            "textract:*",
            "rekognition:*",
            "sagemaker-data-science-assistant:*",
            "rds:*",
            "quicksight:*",
            "events:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "ComputeAccess",
          "Effect": "Allow",
          "Action": [
            "athena:*",
            "bedrock:*",
            "codewhisperer:*",
            "sagemaker-unified-studio-mcp:*",
            "datazone:*",
            "elasticmapreduce:*",
            "emr-containers:*",
            "q:*",
            "sagemaker:*",
            "sagemaker-mlflow:*",
            "scheduler:*",
            "sqlworkbench:*",
            "emr-serverless:*",
            "airflow-serverless:*",
            "airflow:*",
            "application-autoscaling:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CfnManage",
          "Effect": "Allow",
          "Action": [
            "cloudformation:*"
          ],
          "Resource": [
            "arn:aws:cloudformation:*:*:stack/DataZone*",
            "arn:aws:cloudformation:*:*:transform/*"
          ]
        },
        {
          "Sid": "ValidateCfn",
          "Effect": "Allow",
          "Action": "cloudformation:ValidateTemplate",
          "Resource": "*"
        },
        {
          "Sid": "DenyForeignSessionAccess",
          "Effect": "Deny",
          "Action": [
            "athena:GetResourceDashboard",
            "athena:GetSession",
            "athena:GetSessionEndpoint",
            "athena:GetSessionStatus",
            "athena:StartSession",
            "athena:TerminateSession",
            "emr-serverless:*Session*",
            "emr-serverless:*Dashboard*",
            "emr-containers:*ManagedEndpoint*",
            "elasticmapreduce:*Session*",
            "glue:CancelStatement",
            "glue:CreateSession",
            "glue:DeleteSession",
            "glue:GetDashboardUrl",
            "glue:GetSession",
            "glue:GetSessionEndpoint",
            "glue:GetStatement",
            "glue:RunStatement",
            "glue:StopSession"
          ],
          "Resource": [
            "arn:aws:athena:*:*:workgroup/*/session/*",
            "arn:aws:emr-serverless:*:*:/applications/*/sessions/*",
            "arn:aws:emr-containers:*:*:/virtualclusters/*/endpoints/*",
            "arn:aws:elasticmapreduce:*:*:cluster/*/session/*",
            "arn:aws:glue:*:*:session/*"
          ],
          "Condition": {
            "StringNotEquals": {
              "aws:RequestTag/AmazonDataZoneSessionOwner": "${aws:SourceIdentity}",
              "aws:ResourceTag/AmazonDataZoneSessionOwner": "${aws:SourceIdentity}"
            }
          }
        },
        {
          "Sid": "DenyTaggingUntaggingForeignSessions",
          "Effect": "Deny",
          "Action": [
            "athena:TagResource",
            "athena:UntagResource",
            "emr-serverless:*Resource",
            "emr-containers:*Resource",
            "elasticmapreduce:AddTags",
            "elasticmapreduce:RemoveTags",
            "glue:TagResource",
            "glue:UntagResource"
          ],
          "Resource": [
            "arn:aws:athena:*:*:workgroup/*/session/*",
            "arn:aws:emr-serverless:*:*:/applications/*/sessions/*",
            "arn:aws:emr-containers:*:*:/virtualclusters/*/endpoints/*",
            "arn:aws:elasticmapreduce:*:*:cluster/*/session/*",
            "arn:aws:glue:*:*:session/*"
          ],
          "Condition": {
            "StringNotEquals": {
              "aws:ResourceTag/AmazonDataZoneSessionOwner": "${aws:SourceIdentity}"
            }
          }
        },
        {
          "Sid": "IamSts",
          "Effect": "Allow",
          "Action": [
            "iam:GetRole",
            "iam:ListRoles",
            "iam:GetUser",
            "iam:ListUsers",
            "sts:AssumeRole"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CreateSLR",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": [
            "arn:aws:iam::*:role/aws-service-role/neptune-graph.amazonaws.com/AWSServiceRoleForNeptuneGraph",
            "arn:aws:iam::*:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift",
            "arn:aws:iam::*:role/aws-service-role/sagemaker.amazonaws.com/AWSServiceRoleForAmazonSageMakerNotebooks",
            "arn:aws:iam::*:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless",
            "arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA",
            "arn:aws:iam::*:role/aws-service-role/airflow-serverless.amazonaws.com/AWSServiceRoleForAmazonMWAAServerless",
            "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com/AWSServiceRoleForEMRCleanup",
            "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
            "arn:aws:iam::*:role/aws-service-role/observability.aoss.amazonaws.com/AWSServiceRoleForAmazonOpenSearchServerless",
            "arn:aws:iam::*:role/aws-service-role/ops.athena.amazonaws.com/AWSServiceRoleForAmazonAthena"
          ]
        },
        {
          "Sid": "TagRoleAndSession",
          "Effect": "Allow",
          "Action": [
            "iam:TagRole",
            "sts:TagSession"
          ],
          "Resource": "*",
          "Condition": {
            "ForAllValues:StringLike": {
              "aws:TagKeys": [
                "AmazonDataZone*",
                "SageMakerSpacesDomainId"
              ]
            }
          }
        },
        {
          "Sid": "PassRoleForProvisioning",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}",
              "iam:PassedToService": [
                "sagemaker.amazonaws.com",
                "lakeformation.amazonaws.com",
                "athena.amazonaws.com",
                "glue.amazonaws.com",
                "datazone.amazonaws.com",
                "airflow-serverless.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "PassRole",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": [
            "arn:aws:iam::*:role/service-role/AmazonSageMaker*",
            "arn:aws:iam::*:role/${aws:PrincipalTag/AmazonDataZonePassedRolePath}"
          ],
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": [
                "bedrock.amazonaws.com",
                "datazone.amazonaws.com",
                "redshift-serverless.amazonaws.com",
                "redshift.amazonaws.com",
                "scheduler.amazonaws.com",
                "emr-serverless.amazonaws.com",
                "elasticmapreduce.amazonaws.com",
                "airflow-serverless.amazonaws.com",
                "pods.eks.amazonaws.com",
                "access-grants.s3.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "CreateRole",
          "Effect": "Allow",
          "Action": [
            "iam:CreateRole"
          ],
          "Resource": [
            "arn:aws:iam::*:role/service-role/AmazonSageMaker*"
          ]
        },
        {
          "Sid": "AttachPolicy",
          "Effect": "Allow",
          "Action": "iam:AttachRolePolicy",
          "Resource": "arn:aws:iam::*:role/service-role/AmazonSageMaker*",
          "Condition": {
            "ArnEquals": {
              "iam:PolicyARN": [
                "arn:aws:iam::aws:policy/SageMakerStudioUserIAMDefaultExecutionPolicy",
                "arn:aws:iam::aws:policy/SageMakerStudioUserIAMPermissiveExecutionPolicy",
                "arn:aws:iam::aws:policy/service-role/AmazonS3TablesLakeFormationServiceRole",
                "arn:aws:iam::aws:policy/service-role/SageMakerStudioDataAppsAccessRolePolicy"
              ]
            }
          }
        },
        {
          "Sid": "SourceIdentity",
          "Effect": "Allow",
          "Action": "sts:SetSourceIdentity",
          "Resource": "*",
          "Condition": {
            "StringLike": {
              "sts:SourceIdentity": "${aws:PrincipalTag/datazone:userId}"
            }
          }
        },
        {
          "Sid": "SSM",
          "Effect": "Allow",
          "Action": [
            "ssm:DeleteParameter",
            "ssm:GetParameter*",
            "ssm:PutParameter"
          ],
          "Resource": [
            "arn:aws:ssm:*:*:parameter/amazon/datazone/q*",
            "arn:aws:ssm:*:*:parameter/amazon/datazone/genAI/*",
            "arn:aws:ssm:*::parameter/aws/service/sagemaker-distribution/*"
          ]
        },
        {
          "Sid": "LFAccess",
          "Effect": "Allow",
          "Action": [
            "lakeformation:BatchGrantPermissions",
            "lakeformation:BatchRevokePermissions",
            "lakeformation:DeregisterResource",
            "lakeformation:DescribeResource",
            "lakeformation:GetDataAccess",
            "lakeformation:GetDataLakeSettings",
            "lakeformation:GrantPermissions",
            "lakeformation:ListPermissions",
            "lakeformation:ListResources",
            "lakeformation:PutDataLakeSettings",
            "lakeformation:RegisterResource",
            "lakeformation:RevokePermissions",
            "lakeformation:ListLakeFormationOptIns",
            "lakeformation:CreateLakeFormationOptIn",
            "lakeformation:DeleteLakeFormationOptIn",
            "lakeformation:*DataCellsFilter"
          ],
          "Resource": "*"
        },
        {
          "Sid": "FederatedConn",
          "Effect": "Allow",
          "Action": [
            "dynamodb:List*",
            "dynamodb:Describe*",
            "dynamodb:Scan",
            "dynamodb:PartiQLSelect",
            "dynamodb:Query",
            "secretsmanager:ListSecrets",
            "resource-groups:GetGroupQuery",
            "resource-groups:ListGroupResources"
          ],
          "Resource": "*"
        },
        {
          "Sid": "ManagePrivateSecret",
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret",
            "secretsmanager:DeleteSecret",
            "secretsmanager:DescribeSecret",
            "secretsmanager:GetSecretValue",
            "secretsmanager:TagResource",
            "secretsmanager:UpdateSecret",
            "secretsmanager:PutResourcePolicy",
            "secretsmanager:PutSecretValue"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonDataZoneProject": "false"
            }
          }
        },
        {
          "Sid": "ManageSharedSecret",
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret",
            "secretsmanager:DeleteSecret",
            "secretsmanager:DescribeSecret",
            "secretsmanager:GetSecretValue",
            "secretsmanager:TagResource",
            "secretsmanager:UpdateSecret",
            "secretsmanager:PutSecretValue"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonDataZoneProject": "true"
            },
            "StringEquals": {
              "aws:ResourceTag/for-use-with-all-datazone-projects": "true"
            }
          }
        },
        {
          "Sid": "RedshiftSecret",
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret",
            "secretsmanager:RotateSecret",
            "secretsmanager:DescribeSecret",
            "secretsmanager:UpdateSecret",
            "secretsmanager:DeleteSecret",
            "secretsmanager:TagResource"
          ],
          "Resource": "arn:aws:secretsmanager:*:*:secret:redshift!*"
        },
        {
          "Sid": "Ecr",
          "Effect": "Allow",
          "Action": [
            "ecr:BatchCheckLayerAvailability",
            "ecr:BatchGetImage",
            "ecr:DescribeImages",
            "ecr:GetAuthorizationToken",
            "ecr:GetDownloadUrlForLayer"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CodeConnections",
          "Effect": "Allow",
          "Action": [
            "codeconnections:*",
            "codestar-connections:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "KmsListAndDescribe",
          "Effect": "Allow",
          "Action": [
            "kms:DescribeKey",
            "kms:ListAliases",
            "kms:ListGrants"
          ],
          "Resource": "*"
        },
        {
          "Sid": "DataZoneKms",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey",
            "kms:Encrypt",
            "kms:GenerateDataKeyWithoutPlaintext",
            "kms:ReEncryptTo",
            "kms:ReEncryptFrom"
          ],
          "Resource": "*",
          "Condition": {
            "ForAnyValue:StringEquals": {
              "kms:EncryptionContextKeys": "aws:datazone:domainId"
            },
            "StringLike": {
              "kms:ViaService": "datazone.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "S3Kms",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContext:aws:s3:arn": "false"
            },
            "StringLike": {
              "kms:ViaService": "s3.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "SchedulerKms",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContext:aws:scheduler:schedule:arn": "false"
            }
          }
        },
        {
          "Sid": "SecretsKms",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:Encrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContext:SecretARN": "false"
            },
            "StringLike": {
              "kms:ViaService": "secretsmanager.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "SageMakerKms",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:Encrypt",
            "kms:GenerateDataKey",
            "kms:GenerateDataKeyWithoutPlaintext",
            "kms:ReEncryptTo",
            "kms:ReEncryptFrom"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContextKeys": "false"
            },
            "StringLike": {
              "kms:ViaService": "sagemaker.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "SageMakerCreateGrant",
          "Effect": "Allow",
          "Action": [
            "kms:CreateGrant"
          ],
          "Resource": "*",
          "Condition": {
            "StringLike": {
              "kms:ViaService": "sagemaker.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "DataZoneCreateGrant",
          "Effect": "Allow",
          "Action": [
            "kms:CreateGrant"
          ],
          "Resource": "*",
          "Condition": {
            "ForAllValues:StringEquals": {
              "kms:GrantOperations": [
                "Encrypt",
                "Decrypt",
                "ReEncryptFrom",
                "ReEncryptTo",
                "GenerateDataKeyWithoutPlaintext",
                "GenerateDataKey",
                "DescribeKey",
                "RetireGrant",
                "CreateGrant"
              ]
            },
            "StringLike": {
              "kms:ViaService": "datazone.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "GlueKms",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:Encrypt",
            "kms:GenerateDataKey",
            "kms:GenerateDataKeyWithoutPlaintext"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContextKeys": "false"
            },
            "StringLike": {
              "kms:ViaService": "glue.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "BedrockKms",
          "Effect": "Allow",
          "Action": [
            "kms:CreateGrant",
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContextKeys": "false"
            },
            "StringLike": {
              "kms:ViaService": "bedrock.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "WorkflowsCreateGrant",
          "Effect": "Allow",
          "Action": [
            "kms:CreateGrant"
          ],
          "Resource": "arn:*:kms:*:*:key/*",
          "Condition": {
            "ForAllValues:StringEquals": {
              "kms:GrantOperations": [
                "Decrypt",
                "Encrypt",
                "GenerateDataKey",
                "GenerateDataKeyWithoutPlaintext",
                "RetireGrant"
              ]
            },
            "ForAnyValue:StringEquals": {
              "kms:EncryptionContextKeys": "aws:airflow-serverless:workflow-arn"
            },
            "StringLike": {
              "kms:ViaService": "airflow-serverless.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "WorkflowsKms",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt",
            "kms:Encrypt",
            "kms:GenerateDataKey",
            "kms:GenerateDataKeyWithoutPlaintext"
          ],
          "Resource": "arn:*:kms:*:*:key/*",
          "Condition": {
            "ForAnyValue:StringEquals": {
              "kms:EncryptionContextKeys": "aws:airflow-serverless:workflow-arn"
            }
          }
        },
        {
          "Sid": "CreateSG",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateSecurityGroup"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:vpc/*"
          ]
        },
        {
          "Sid": "SGManage",
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteSecurityGroup",
            "ec2:RevokeSecurityGroupEgress",
            "ec2:RevokeSecurityGroupIngress"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:security-group/*"
          ]
        },
        {
          "Sid": "SGAuth",
          "Effect": "Allow",
          "Action": [
            "ec2:AuthorizeSecurityGroupEgress",
            "ec2:AuthorizeSecurityGroupIngress"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonDataZoneProject": "false"
            }
          }
        },
        {
          "Sid": "Ec2DescribeOnly",
          "Effect": "Allow",
          "Action": "ec2:Describe*",
          "Resource": "*"
        },
        {
          "Sid": "SGCreateTags",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTags"
          ],
          "Resource": "arn:aws:ec2:*:*:security-group/*",
          "Condition": {
            "ForAllValues:StringLike": {
              "aws:TagKeys": [
                "AmazonDataZone*",
                "for-use-with-amazon-emr-managed-policies",
                "aws:cloudformation:*"
              ]
            }
          }
        },
        {
          "Sid": "VpcAccess",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:DeleteNetworkInterface",
            "ec2:CreateNetworkInterfacePermission",
            "ec2:DeleteNetworkInterfacePermission",
            "ec2:CreateVpcEndpoint"
          ],
          "Resource": "*"
        },
        {
          "Sid": "EC2TagAccessForVpc",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTags",
            "ec2:DeleteTags"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:network-interface/*"
          ]
        },
        {
          "Sid": "SSOApplicationPermissions",
          "Effect": "Allow",
          "Action": [
            "identitystore:DescribeUser",
            "identitystore:DescribeGroup",
            "sso:CreateApplication",
            "sso:DeleteApplication",
            "sso:DescribeInstance",
            "sso:DescribeApplication",
            "sso:PutApplicationGrant",
            "sso:PutApplicationAssignmentConfiguration",
            "sso:PutApplicationAuthenticationMethod",
            "sso:PutApplicationAccessScope",
            "sso:UpdateApplication",
            "sso:CreateApplicationAssignment",
            "sso:DeleteApplicationAssignment"
          ],
          "Resource": "*",
          "Condition": {
            "Bool": {
              "aws:ViaAWSService": "true"
            }
          }
        },
        {
          "Sid": "SSOReadOnlyPermissions",
          "Effect": "Allow",
          "Action": [
            "sso:ListInstances",
            "organizations:DescribeOrganization"
          ],
          "Resource": "*"
        },
        {
          "Sid": "SSOKMSPermissions",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContext:aws:sso:instance-arn": "false"
            },
            "StringLike": {
              "kms:ViaService": "sso.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "IdentityStoreKMSPermissions",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "kms:EncryptionContext:aws:identitystore:identitystore-arn": "false"
            },
            "StringLike": {
              "kms:ViaService": "identitystore.*.amazonaws.com"
            }
          }
        },
        {
          "Sid": "RAMReadOnlyPermissions",
          "Effect": "Allow",
          "Action": [
            "ram:Get*",
            "ram:List*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "RAMCreateResourcePermission",
          "Effect": "Allow",
          "Action": [
            "ram:CreateResourceShare"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "ram:RequestedResourceType": "datazone:Domain"
            }
          }
        },
        {
          "Sid": "RAMResourceSharePermissions",
          "Effect": "Allow",
          "Action": [
            "ram:AssociateResourceShare",
            "ram:DisassociateResourceShare",
            "ram:DeleteResourceShare"
          ],
          "Resource": "*",
          "Condition": {
            "StringLike": {
              "ram:ResourceShareName": [
                "DataZone*"
              ]
            }
          }
        },
        {
          "Sid": "RAMAssociateResourceSharePermission",
          "Effect": "Allow",
          "Action": "ram:AssociateResourceSharePermission",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "ram:PermissionArn": [
                "arn:aws:ram::aws:permission/AWSRAMDefaultPermissionAmazonDataZoneDomain",
                "arn:aws:ram::aws:permission/AWSRAMPermissionAmazonDataZoneDomainFullAccessWithPortalAccess",
                "arn:aws:ram::aws:permission/AWSRAMPermissionsAmazonDatazoneDomainExtendedServiceAccess",
                "arn:aws:ram::aws:permission/AWSRAMPermissionsAmazonDatazoneDomainExtendedServiceWithPortalAccess"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v24",
    "IsDefaultVersion": true,
    "CreateDate": "2026-10-15T21:47:07+00:00"
  }
}

Version History (17 recorded)

Raw history
v24updated

1 action added

c31e5dd
v23updated

scope changed, no action added or removed

b70237d
v22updated

4 actions added

ac1c22f
v21updated

scope changed, no action added or removed

d3ffd30
v20updated

2 actions added

8e69a2e
v19updated

3 actions added

7555e98
v18updated

5 actions added

be0915d
v17updated

10 actions added

88d8420
v16updated

scope changed, no action added or removed

09b6ec0

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v16

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

Mar 5, 2026

66c5a93

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v15

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

Feb 12, 2026

ec4365f

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v10

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

Feb 12, 2026

e19998c

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v5

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

Nov 19, 2025

672f8a7

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v4

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

Nov 17, 2025

99faf77

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v3

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

Oct 30, 2025

bf5ef2f

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v2

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

Aug 27, 2025

22b8ea5

SageMakerStudioAdminIAMPermissiveExecutionPolicy - Policy Version v1

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

Aug 18, 2025

1c69712