AWSGlueServiceRole
Summary
Policy for AWS Glue service role which allows access to related services including EC2, S3, and Cloudwatch Logs
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole- Default version
- v5
- Created
- Last edited
- Services
- cloudwatch, ec2, glue, iam, logs, s3
Control-plane actions (326)
By access level: 35 List, 36 Permissions management, 97 Read, 4 Tagging, 154 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| EC2 | 10 of 834 | 6 List, 2 Tagging, 2 Write; 2 restricted, 2 conditional | ec2:CreateNetworkInterface, ec2:CreateTags, ec2:DeleteNetworkInterface, ec2:DeleteTags, ec2:DescribeNetworkInterfaces, ec2:DescribeRouteTables, ec2:DescribeSecurityGroups, ec2:DescribeSubnets, ec2:DescribeVpcAttribute, ec2:DescribeVpcEndpoints |
| Glue | All 306 actions (see the Glue page) | 27 List, 36 Permissions management, 93 Read, 2 Tagging, 148 Write; 0 restricted, 0 conditional | glue:* |
| IAM | 3 of 190 | 1 List, 2 Read; 0 restricted, 0 conditional | iam:GetRole, iam:GetRolePolicy, iam:ListRolePolicies |
| CloudWatch Logs | 3 of 133 | 3 Write; 3 restricted, 0 conditional | logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents |
| S3 | 4 of 155 | 1 List, 2 Read, 1 Write; 1 restricted, 0 conditional | s3:CreateBucket, s3:GetBucketAcl, s3:GetBucketLocation, s3:ListAllMyBuckets |
EC2: 10 actions
- ec2:CreateNetworkInterface (Write)
- ec2:CreateTags (Tagging)
- ec2:DeleteNetworkInterface (Write)
- ec2:DeleteTags (Tagging)
- ec2:DescribeNetworkInterfaces (List)
- ec2:DescribeRouteTables (List)
- ec2:DescribeSecurityGroups (List)
- ec2:DescribeSubnets (List)
- ec2:DescribeVpcAttribute (List)
- ec2:DescribeVpcEndpoints (List)
IAM: 3 actions
- iam:GetRole (Read)
- iam:GetRolePolicy (Read)
- iam:ListRolePolicies (List)
CloudWatch Logs: 3 actions
- logs:CreateLogGroup (Write)
- logs:CreateLogStream (Write)
- logs:PutLogEvents (Write)
S3: 4 actions
- s3:CreateBucket (Write)
- s3:GetBucketAcl (Read)
- s3:GetBucketLocation (Read)
- s3:ListAllMyBuckets (List)
Data-plane actions (5)
By access level: 1 List, 1 Read, 3 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudWatch | 1 of 5 | 1 Write; 0 restricted, 0 conditional | cloudwatch:PutMetricData |
| S3 | 4 of 25 | 1 List, 1 Read, 2 Write; 3 restricted, 0 conditional | s3:DeleteObject, s3:GetObject, s3:ListBucket, s3:PutObject |
CloudWatch: 1 actions
- cloudwatch:PutMetricData (Write)
S3: 4 actions
- s3:DeleteObject (Write)
- s3:GetObject (Read)
- s3:ListBucket (List)
- s3:PutObject (Write)
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: glue (184 of 184).
- Grants data-plane write actions on a data store, but only for scoped resources or under conditions.
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.
Related policies
Same service
- AmazonAthenaFullAccess
- AmazonDataZoneEnvironmentRolePermissionsBoundary
- AmazonDataZoneGlueManageAccessRolePolicy
- AmazonDataZonePreviewConsoleFullAccess
- AmazonDataZoneProjectRolePermissionsBoundary
- AmazonDataZoneSageMakerEnvironmentRolePermissionsBoundary
- AmazonDataZoneSageMakerProvisioningRolePolicy
- AmazonGrafanaAthenaAccess
Same domain
- AmazonChimeSDKMediaPipelinesServiceLinkedRolePolicy
- AmazonChimeSDKMessagingServiceRolePolicy
- AmazonDataZoneDomainExecutionRolePolicy
- AmazonDataZoneFullAccess
- AmazonDataZoneFullUserAccess
- AmazonDataZoneRedshiftGlueProvisioningPolicy
- AmazonDataZoneRedshiftManageAccessRolePolicy
- AmazonElasticMapReduceforAutoScalingRole
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
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"glue:*",
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:ListAllMyBuckets",
"s3:GetBucketAcl",
"ec2:DescribeVpcEndpoints",
"ec2:DescribeRouteTables",
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcAttribute",
"iam:ListRolePolicies",
"iam:GetRole",
"iam:GetRolePolicy",
"cloudwatch:PutMetricData"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket"
],
"Resource": [
"arn:aws:s3:::aws-glue-*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::aws-glue-*/*",
"arn:aws:s3:::*/*aws-glue-*/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::crawler-public*",
"arn:aws:s3:::aws-glue-*"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:*:/aws-glue/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Condition": {
"ForAllValues:StringEquals": {
"aws:TagKeys": [
"aws-glue-service-resource"
]
}
},
"Resource": [
"arn:aws:ec2:*:*:network-interface/*",
"arn:aws:ec2:*:*:security-group/*",
"arn:aws:ec2:*:*:instance/*"
]
}
]
}
Version history
Current version v5, edited by AWS on 2023-09-11. 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/service-role/AWSGlueServiceRole
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AWSGlueServiceRoleCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSGlueServiceRoleTerraform
resource "aws_iam_role_policy_attachment" "service_role_awsglueservicerole" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSGlueServiceRole"),
);Sources
Pending editorial review. No editorial sources are listed yet.