AWSGlueConsoleSageMakerNotebookFullAccess

Last Modified

Sep 10, 2026

September 10, 2026 at 09:03 PM UTC

Version

v4

Total Versions

9

Created

Sep 10, 2026

Actions

67

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 existing resources that run as another role

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

    • glue-002glue:UpdateDevEndpointunrestricted
    • sagemaker-004sagemaker:CreatePresignedNotebookInstanceUrlscoped
      • sagemaker:CreatePresignedNotebookInstanceUrl: on arn:aws:sagemaker:*:*:notebook-instance/aws-glue-*
    • sagemaker-005sagemaker:CreateNotebookInstanceLifecycleConfig + sagemaker:StopNotebookInstance + sagemaker:UpdateNotebookInstance + sagemaker:StartNotebookInstancescoped
      • sagemaker:CreateNotebookInstanceLifecycleConfig: on arn:aws:sagemaker:*:*:notebook-instance-lifecycle-config/aws-glue-*
      • sagemaker:StopNotebookInstance: on arn:aws:sagemaker:*:*:notebook-instance/aws-glue-*
      • sagemaker:UpdateNotebookInstance: on arn:aws:sagemaker:*:*:notebook-instance/aws-glue-*
      • sagemaker:StartNotebookInstance: on arn:aws:sagemaker:*:*:notebook-instance/aws-glue-*

    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 launch resources that run as a more privileged role

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

    • cloudformation-001iam:PassRole + cloudformation:CreateStackscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
      • cloudformation:CreateStack: on arn:aws:cloudformation:*:*:stack/aws-glue*/*
    • ec2-001iam:PassRole + ec2:RunInstancesscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
    • glue-001iam:PassRole + glue:CreateDevEndpointscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
    • glue-003iam:PassRole + glue:CreateJob + glue:StartJobRunscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
    • glue-004iam:PassRole + glue:CreateJob + glue:CreateTriggerscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
    • glue-005iam:PassRole + glue:UpdateJob + glue:StartJobRunscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
    • glue-006iam:PassRole + glue:UpdateJob + glue:CreateTriggerscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
    • glue-007iam:PassRole + glue:CreateSession + glue:RunStatementscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
    1 more path
    • sagemaker-001iam:PassRole + sagemaker:CreateNotebookInstancescoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/AWSGlueServiceRole*
      • sagemaker:CreateNotebookInstance: on arn:aws:sagemaker:*:*:notebook-instance/aws-glue-*

    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 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 2 permissions management actions across 1 service (glue) on any resource, enough to share resources outside the account.

    glue:deleteresourcepolicyglue: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 glue access on every resource

    Uses glue:* with Resource "*" and no condition, so every action AWS adds to that service later is granted too.

    glue:*

    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": [
        {
          "Effect": "Allow",
          "Action": [
            "glue:*",
            "redshift:DescribeClusters",
            "redshift:DescribeClusterSubnetGroups",
            "iam:ListRoles",
            "iam:ListRolePolicies",
            "iam:GetRole",
            "iam:GetRolePolicy",
            "iam:ListAttachedRolePolicies",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcs",
            "ec2:DescribeVpcEndpoints",
            "ec2:DescribeRouteTables",
            "ec2:DescribeVpcAttribute",
            "ec2:DescribeKeyPairs",
            "ec2:DescribeInstances",
            "ec2:DescribeImages",
            "ec2:CreateNetworkInterface",
            "ec2:AttachNetworkInterface",
            "ec2:ModifyNetworkInterfaceAttribute",
            "ec2:DeleteNetworkInterface",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeInternetGateways",
            "ec2:DescribeNetworkInterfaces",
            "rds:DescribeDBInstances",
            "s3:ListAllMyBuckets",
            "s3:ListBucket",
            "s3:GetBucketAcl",
            "s3:GetBucketLocation",
            "cloudformation:DescribeStacks",
            "cloudformation:GetTemplateSummary",
            "dynamodb:ListTables",
            "kms:ListAliases",
            "kms:DescribeKey",
            "sagemaker:ListNotebookInstances",
            "cloudformation:ListStacks",
            "cloudwatch:GetMetricData",
            "cloudwatch:ListDashboards"
          ],
          "Resource": [
            "*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetObject",
            "s3:PutObject"
          ],
          "Resource": [
            "arn:aws:s3:::*/*aws-glue-*/*",
            "arn:aws:s3:::aws-glue-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:CreateBucket"
          ],
          "Resource": [
            "arn:aws:s3:::aws-glue-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "logs:GetLogEvents"
          ],
          "Resource": [
            "arn:aws:logs:*:*:/aws-glue/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "cloudformation:CreateStack",
            "cloudformation:DeleteStack"
          ],
          "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*"
        },
        {
          "Sid": "CloudFormationTagOnCreate",
          "Effect": "Allow",
          "Action": [
            "cloudformation:TagResource",
            "cloudformation:UntagResource"
          ],
          "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*",
          "Condition": {
            "StringEquals": {
              "cloudformation:CreateAction": [
                "CreateStack"
              ]
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "sagemaker:CreatePresignedNotebookInstanceUrl",
            "sagemaker:CreateNotebookInstance",
            "sagemaker:DeleteNotebookInstance",
            "sagemaker:DescribeNotebookInstance",
            "sagemaker:StartNotebookInstance",
            "sagemaker:StopNotebookInstance",
            "sagemaker:UpdateNotebookInstance",
            "sagemaker:ListTags"
          ],
          "Resource": "arn:aws:sagemaker:*:*:notebook-instance/aws-glue-*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "sagemaker:DescribeNotebookInstanceLifecycleConfig",
            "sagemaker:CreateNotebookInstanceLifecycleConfig",
            "sagemaker:DeleteNotebookInstanceLifecycleConfig",
            "sagemaker:ListNotebookInstanceLifecycleConfigs"
          ],
          "Resource": "arn:aws:sagemaker:*:*:notebook-instance-lifecycle-config/aws-glue-*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:RunInstances"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:instance/*",
            "arn:aws:ec2:*:*:key-pair/*",
            "arn:aws:ec2:*:*:image/*",
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:network-interface/*",
            "arn:aws:ec2:*:*:subnet/*",
            "arn:aws:ec2:*:*:volume/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:TerminateInstances",
            "ec2:CreateTags",
            "ec2:DeleteTags"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:instance/*"
          ],
          "Condition": {
            "StringLike": {
              "ec2:ResourceTag/aws:cloudformation:stack-id": "arn:aws:cloudformation:*:*:stack/aws-glue-*/*"
            },
            "StringEquals": {
              "ec2:ResourceTag/aws:cloudformation:logical-id": "ZeppelinInstance"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "tag:GetResources"
          ],
          "Resource": [
            "*"
          ],
          "Condition": {
            "ForAllValues:StringLike": {
              "aws:TagKeys": [
                "aws-glue-*"
              ]
            }
          }
        },
        {
          "Action": [
            "iam:PassRole"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*",
          "Condition": {
            "StringLike": {
              "iam:PassedToService": [
                "glue.amazonaws.com"
              ]
            }
          }
        },
        {
          "Action": [
            "iam:PassRole"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*",
          "Condition": {
            "StringLike": {
              "iam:PassedToService": [
                "ec2.amazonaws.com"
              ]
            }
          }
        },
        {
          "Action": [
            "iam:PassRole"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:iam::*:role/AWSGlueServiceSageMakerNotebookRole*",
          "Condition": {
            "StringLike": {
              "iam:PassedToService": [
                "sagemaker.amazonaws.com"
              ]
            }
          }
        },
        {
          "Action": [
            "iam:PassRole"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*"
          ],
          "Condition": {
            "StringLike": {
              "iam:PassedToService": [
                "glue.amazonaws.com"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v4",
    "IsDefaultVersion": true,
    "CreateDate": "2026-09-10T20:27:07+00:00"
  }
}

Version History (12 recorded)

Raw history
v4updated

2 actions added

f4662d5

AWSGlueConsoleSageMakerNotebookFullAccess - Policy Version v3

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

Mar 12, 2026

26a2797

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 13, 2024

1b36617

Update detected

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

Jul 15, 2021

948bd34

Update detected

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

Oct 1, 2019

1c37a57

Update detected

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

Sep 16, 2019

49aa1d0

Update detected

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

Sep 16, 2019

71619cf

Update detected

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

Sep 16, 2019

8279033

`2019-08-29`

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

Aug 29, 2019

5016d52

I updated my CLI and it looks like it reordered everything and changed the white-space, so everything looks changed, but is not

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

Jul 12, 2019

9d2dff1

First commit

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

Feb 10, 2019

ad4c2e8