AWSPCSServiceRolePolicy

Last Modified

Sep 30, 2026

September 30, 2026 at 07:02 PM UTC

Version

v10

Total Versions

5

Created

Sep 30, 2026

Actions

36

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 1 documented escalation path, 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, on arn:aws:iam::*:role/*/AWSPCS*, arn:aws:iam::*:role/AWSPCS*, arn:aws:iam::*:role/aws-pcs/*

    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": "PermissionsToCreatePCSNetworkInterfaces",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateNetworkInterface"
          ],
          "Resource": "arn:aws:ec2:*:*:network-interface/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSPCSManaged": "false"
            }
          }
        },
        {
          "Sid": "PermissionsToCreatePCSNetworkInterfacesInSubnet",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateNetworkInterface"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:subnet/*",
            "arn:aws:ec2:*:*:security-group/*"
          ]
        },
        {
          "Sid": "PermissionsToManagePCSNetworkInterfaces",
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteNetworkInterface",
            "ec2:CreateNetworkInterfacePermission"
          ],
          "Resource": "arn:aws:ec2:*:*:network-interface/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSPCSManaged": "false"
            }
          }
        },
        {
          "Sid": "PermissionsToDescribePCSResources",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcs",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeLaunchTemplates",
            "ec2:DescribeLaunchTemplateVersions",
            "ec2:DescribeInstances",
            "ec2:DescribeInstanceTypes",
            "ec2:DescribeInstanceStatus",
            "ec2:DescribeInstanceAttribute",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeKeyPairs",
            "ec2:DescribeImages",
            "ec2:DescribeImageAttribute",
            "ec2:DescribeCapacityReservations",
            "ec2:DescribeTags"
          ],
          "Resource": "*"
        },
        {
          "Sid": "PermissionsToCreatePCSLaunchTemplates",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateLaunchTemplate"
          ],
          "Resource": "arn:aws:ec2:*:*:launch-template/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSPCSManaged": "false"
            }
          }
        },
        {
          "Sid": "PermissionsToManagePCSLaunchTemplates",
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteLaunchTemplate",
            "ec2:DeleteLaunchTemplateVersions",
            "ec2:CreateLaunchTemplateVersion"
          ],
          "Resource": "arn:aws:ec2:*:*:launch-template/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSPCSManaged": "false"
            }
          }
        },
        {
          "Sid": "PermissionsToTerminatePCSManagedInstances",
          "Effect": "Allow",
          "Action": [
            "ec2:TerminateInstances"
          ],
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSPCSManaged": "false"
            }
          }
        },
        {
          "Sid": "PermissionsToPassRoleToEC2",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": [
            "arn:aws:iam::*:role/*/AWSPCS*",
            "arn:aws:iam::*:role/AWSPCS*",
            "arn:aws:iam::*:role/aws-pcs/*",
            "arn:aws:iam::*:role/*/aws-pcs/*"
          ],
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": [
                "ec2.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "PermissionsToControlClusterInstanceAttributes",
          "Effect": "Allow",
          "Action": [
            "ec2:RunInstances",
            "ec2:CreateFleet"
          ],
          "Resource": [
            "arn:aws:ec2:*::image/*",
            "arn:aws:ec2:*::snapshot/*",
            "arn:aws:ec2:*:*:subnet/*",
            "arn:aws:ec2:*:*:network-interface/*",
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:volume/*",
            "arn:aws:ec2:*:*:key-pair/*",
            "arn:aws:ec2:*:*:launch-template/*",
            "arn:aws:ec2:*:*:placement-group/*",
            "arn:aws:ec2:*:*:capacity-reservation/*",
            "arn:aws:resource-groups:*:*:group/*",
            "arn:aws:ec2:*:*:fleet/*",
            "arn:aws:ec2:*:*:spot-instances-request/*",
            "arn:aws:ec2:*:*:secondary-interface/*",
            "arn:aws:ec2:*:*:secondary-subnet/*"
          ]
        },
        {
          "Sid": "PermissionsToProvisionClusterInstances",
          "Effect": "Allow",
          "Action": [
            "ec2:RunInstances",
            "ec2:CreateFleet"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:instance/*"
          ],
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSPCSManaged": "false"
            }
          }
        },
        {
          "Sid": "PermissionsToTagPCSResources",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTags"
          ],
          "Resource": [
            "*"
          ],
          "Condition": {
            "StringEquals": {
              "ec2:CreateAction": [
                "RunInstances",
                "CreateLaunchTemplate",
                "CreateFleet",
                "CreateNetworkInterface"
              ]
            }
          }
        },
        {
          "Sid": "PermissionsToPublishMetrics",
          "Effect": "Allow",
          "Action": "cloudwatch:PutMetricData",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "cloudwatch:namespace": "AWS/PCS"
            }
          }
        },
        {
          "Sid": "PermissionsToManageSecret",
          "Effect": "Allow",
          "Action": [
            "secretsmanager:DescribeSecret",
            "secretsmanager:GetSecretValue",
            "secretsmanager:PutSecretValue",
            "secretsmanager:UpdateSecretVersionStage",
            "secretsmanager:DeleteSecret"
          ],
          "Resource": "arn:aws:secretsmanager:*:*:secret:pcs!*",
          "Condition": {
            "StringEquals": {
              "secretsmanager:ResourceTag/aws:secretsmanager:owningService": "pcs",
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            }
          }
        }
      ]
    },
    "VersionId": "v10",
    "IsDefaultVersion": true,
    "CreateDate": "2026-09-30T18:07:08+00:00"
  }
}

Version History (9 recorded)

Raw history
v10updated

scope changed, no action added or removed

84f53ea

AWSPCSServiceRolePolicy - Policy Version v9

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

Mar 12, 2026

2637a50

AWSPCSServiceRolePolicy - Policy Version v9

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

Feb 12, 2026

a68109f

AWSPCSServiceRolePolicy - Policy Version v6

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

Feb 12, 2026

9b4c6f5

AWSPCSServiceRolePolicy - Policy Version v3

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

Feb 5, 2026

d7daea3

AWSPCSServiceRolePolicy - Policy Version v2

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

Feb 4, 2026

846b82a

AWSPCSServiceRolePolicy - Policy Version v2

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

Sep 11, 2025

5386511

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.

Aug 27, 2024

928fcbb