AWSBatchServiceRole

Last Modified

Aug 25, 2026

August 25, 2026 at 11:02 PM UTC

Version

v14

Total Versions

11

Created

Aug 25, 2026

Actions

68

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

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

    • ec2-001iam:PassRole + ec2:RunInstancesscoped
      • iam:PassRole: condition iam:PassedToService
    • ecs-002iam:PassRole + ecs:CreateCluster + ecs:RegisterTaskDefinition + ecs:RunTaskscoped
      • iam:PassRole: condition iam:PassedToService
    • ecs-004iam:PassRole + ecs:RegisterTaskDefinition + ecs:RunTaskscoped
      • iam:PassRole: condition iam:PassedToService
    • ecs-005iam:PassRole + ecs:RegisterTaskDefinition + ecs:StartTaskscoped
      • iam:PassRole: condition iam:PassedToService
    • ecs-008iam:PassRole + ecs:RunTaskscoped
      • iam:PassRole: condition iam:PassedToService
    • ecs-009iam:PassRole + ecs:StartTaskscoped
      • iam:PassRole: condition iam:PassedToService

    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.

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AWSBatchPolicyStatement1",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeInstances",
            "ec2:DescribeInstanceStatus",
            "ec2:DescribeInstanceAttribute",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeKeyPairs",
            "ec2:DescribeImages",
            "ec2:DescribeImageAttribute",
            "ec2:DescribeSpotInstanceRequests",
            "ec2:DescribeSpotFleetInstances",
            "ec2:DescribeSpotFleetRequests",
            "ec2:DescribeSpotPriceHistory",
            "ec2:DescribeSpotFleetRequestHistory",
            "ec2:DescribeVpcClassicLink",
            "ec2:DescribeLaunchTemplateVersions",
            "ec2:CreateLaunchTemplate",
            "ec2:DeleteLaunchTemplate",
            "ec2:RequestSpotFleet",
            "ec2:CancelSpotFleetRequests",
            "ec2:ModifySpotFleetRequest",
            "ec2:TerminateInstances",
            "ec2:RunInstances",
            "autoscaling:DescribeAccountLimits",
            "autoscaling:DescribeAutoScalingGroups",
            "autoscaling:DescribeLaunchConfigurations",
            "autoscaling:DescribeAutoScalingInstances",
            "autoscaling:DescribeScalingActivities",
            "autoscaling:CreateLaunchConfiguration",
            "autoscaling:CreateAutoScalingGroup",
            "autoscaling:UpdateAutoScalingGroup",
            "autoscaling:SetDesiredCapacity",
            "autoscaling:DeleteLaunchConfiguration",
            "autoscaling:DeleteAutoScalingGroup",
            "autoscaling:CreateOrUpdateTags",
            "autoscaling:SuspendProcesses",
            "autoscaling:PutNotificationConfiguration",
            "autoscaling:TerminateInstanceInAutoScalingGroup",
            "ecs:DescribeClusters",
            "ecs:DescribeContainerInstances",
            "ecs:DescribeTaskDefinition",
            "ecs:DescribeTasks",
            "ecs:ListAccountSettings",
            "ecs:ListClusters",
            "ecs:ListContainerInstances",
            "ecs:ListTaskDefinitionFamilies",
            "ecs:ListTaskDefinitions",
            "ecs:ListTasks",
            "ecs:CreateCluster",
            "ecs:DeleteCluster",
            "ecs:RegisterTaskDefinition",
            "ecs:DeregisterTaskDefinition",
            "ecs:RunTask",
            "ecs:StartTask",
            "ecs:StopTask",
            "ecs:UpdateCluster",
            "ecs:UpdateContainerAgent",
            "ecs:DeregisterContainerInstance",
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents",
            "logs:DescribeLogGroups",
            "iam:GetInstanceProfile",
            "iam:GetRole"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AWSBatchPolicyStatement2",
          "Effect": "Allow",
          "Action": "ecs:TagResource",
          "Resource": [
            "arn:aws:ecs:*:*:task/*_Batch_*"
          ]
        },
        {
          "Sid": "AWSBatchPolicyStatement3",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": [
            "*"
          ],
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": [
                "ec2.amazonaws.com",
                "ec2.amazonaws.com.cn",
                "ecs-tasks.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "AWSBatchPolicyStatement4",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "iam:AWSServiceName": [
                "spot.amazonaws.com",
                "spotfleet.amazonaws.com",
                "autoscaling.amazonaws.com",
                "ecs.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "AWSBatchPolicyStatement5",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTags"
          ],
          "Resource": [
            "*"
          ],
          "Condition": {
            "StringEquals": {
              "ec2:CreateAction": "RunInstances"
            }
          }
        }
      ]
    },
    "VersionId": "v14",
    "IsDefaultVersion": true,
    "CreateDate": "2026-08-25T22:27:28+00:00"
  }
}

Version History (14 recorded)

Raw history
v14updated

1 action added

b336309

AWSBatchServiceRole - Policy Version v13

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

Mar 12, 2026

f5304ab

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.

Dec 5, 2023

037356e

Update detected

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

Dec 7, 2021

7ef6dbc

Update detected

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

Nov 23, 2020

f791070

Update detected

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

Oct 8, 2019

c49c345

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