AWS managed policies for AWS Parallel Computing Service - AWS PCS

AWS managed policies for AWS Parallel Computing Service

An AWS managed policy is a standalone policy that is created and administered by AWS. AWS managed policies are designed to provide permissions for many common use cases so that you can start assigning permissions to users, groups, and roles.

Keep in mind that AWS managed policies might not grant least-privilege permissions for your specific use cases because they're available for all AWS customers to use. We recommend that you reduce permissions further by defining customer managed policies that are specific to your use cases.

You cannot change the permissions defined in AWS managed policies. If AWS updates the permissions defined in an AWS managed policy, the update affects all principal identities (users, groups, and roles) that the policy is attached to. AWS is most likely to update an AWS managed policy when a new AWS service is launched or new API operations become available for existing services.

For more information, see AWS managed policies in the IAM User Guide.

AWS managed policy: AWSPCSServiceRolePolicy

You can't attach AWSPCSServiceRolePolicy to your IAM entities. This policy is attached to a service-linked role that allows AWS PCS to perform actions on your behalf. For more information, see Service-linked roles for AWS PCS.

Permissions details

This policy includes the following permissions.

  • ec2 – Allows AWS PCS to create and manage Amazon EC2 resources.

  • iam – Allows AWS PCS to create a service-linked role for the Amazon EC2 fleet and to pass the role to Amazon EC2.

  • cloudwatch – Allows AWS PCS to publish service metrics to Amazon CloudWatch.

  • secretsmanager – Allows AWS PCS to manage secrets for AWS PCS cluster resources.

{ "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" ], "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/*" ] }, { "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}" } } } ] }

AWS PCS updates to AWS managed policies

View details about updates to AWS managed policies for AWS PCS since this service began tracking these changes. For automatic alerts about changes to this page, subscribe to the RSS feed on the AWS PCS Document history page.

Change Description Date

Updated the JSON in this document

Corrected the JSON in this document to include "arn:aws:ec2:*:*:spot-instances-request/*".

September 5, 2024

AWS PCS started tracking changes

AWS PCS started tracking changes for its AWS managed policies.

August 28, 2024