ROSANodePoolManagementPolicy - AWS Managed Policy

ROSANodePoolManagementPolicy

Description: Allows Red Hat OpenShift Service on AWS (ROSA) to manage cluster EC2 instances as worker nodes, including permission to configure security groups and tag instances and volumes. This policy also allows for the use of EC2 instances with disk encryption provided by AWS Key Management Service (KMS) keys.

ROSANodePoolManagementPolicy is an AWS managed policy.

Using this policy

You can attach ROSANodePoolManagementPolicy to your users, groups, and roles.

Policy details

  • Type: Service role policy

  • Creation time: June 08, 2023, 20:48 UTC

  • Edited time: May 02, 2024, 14:01 UTC

  • ARN: arn:aws:iam::aws:policy/service-role/ROSANodePoolManagementPolicy

Policy version

Policy version: v2 (default)

The policy's default version is the version that defines the permissions for the policy. When a user or role with the policy makes a request to access an AWS resource, AWS checks the default version of the policy to determine whether to allow the request.

JSON policy document

{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "ReadPermissions", "Effect" : "Allow", "Action" : [ "ec2:DescribeDhcpOptions", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkInterfaces", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource" : [ "*" ] }, { "Sid" : "CreateServiceLinkedRole", "Effect" : "Allow", "Action" : [ "iam:CreateServiceLinkedRole" ], "Resource" : [ "arn:*:iam::*:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing" ], "Condition" : { "StringLike" : { "iam:AWSServiceName" : "elasticloadbalancing.amazonaws.com" } } }, { "Sid" : "PassWorkerRole", "Effect" : "Allow", "Action" : [ "iam:PassRole" ], "Resource" : [ "arn:*:iam::*:role/*-ROSA-Worker-Role" ], "Condition" : { "StringEquals" : { "iam:PassedToService" : [ "ec2.amazonaws.com" ] } } }, { "Sid" : "AuthorizeSecurityGroupIngressRestrictedResourceTag", "Effect" : "Allow", "Action" : [ "ec2:AuthorizeSecurityGroupIngress" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:security-group-rule/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/red-hat-managed" : "true" } } }, { "Sid" : "NetworkInterfaces", "Effect" : "Allow", "Action" : [ "ec2:ModifyNetworkInterfaceAttribute" ], "Resource" : [ "arn:aws:ec2:*:*:instance/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/red-hat-managed" : "true" } } }, { "Sid" : "NetworkInterfacesNoCondition", "Effect" : "Allow", "Action" : [ "ec2:ModifyNetworkInterfaceAttribute" ], "Resource" : [ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:vpc/*" ] }, { "Sid" : "TerminateInstances", "Effect" : "Allow", "Action" : [ "ec2:TerminateInstances" ], "Resource" : [ "arn:aws:ec2:*:*:instance/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/red-hat-managed" : "true" } } }, { "Sid" : "CreateTags", "Effect" : "Allow", "Action" : [ "ec2:CreateTags" ], "Resource" : [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ], "Condition" : { "StringEquals" : { "ec2:CreateAction" : [ "RunInstances" ] } } }, { "Sid" : "CreateTagsCAPAControllerReconcileInstance", "Effect" : "Allow", "Action" : [ "ec2:CreateTags" ], "Resource" : [ "arn:aws:ec2:*:*:instance/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/red-hat-managed" : "true" } } }, { "Sid" : "CreateTagsCAPAControllerReconcileVolume", "Effect" : "Allow", "Action" : [ "ec2:CreateTags" ], "Resource" : [ "arn:aws:ec2:*:*:volume/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/red-hat-managed" : "true" } } }, { "Sid" : "RunInstancesRequest", "Effect" : "Allow", "Action" : [ "ec2:RunInstances" ], "Resource" : [ "arn:aws:ec2:*:*:instance/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/red-hat-managed" : "true" } } }, { "Sid" : "RunInstancesNoCondition", "Effect" : "Allow", "Action" : [ "ec2:RunInstances" ], "Resource" : [ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid" : "RunInstancesRedHatAMI", "Effect" : "Allow", "Action" : [ "ec2:RunInstances" ], "Resource" : [ "arn:aws:ec2:*:*:image/*" ], "Condition" : { "StringEquals" : { "ec2:Owner" : [ "531415883065", "251351625822" ] } } }, { "Sid" : "ManagedKMSRestrictedResourceTag", "Effect" : "Allow", "Action" : [ "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource" : "*", "Condition" : { "StringLike" : { "aws:ResourceTag/red-hat" : "true" } } }, { "Sid" : "CreateGrantRestricted", "Effect" : "Allow", "Action" : [ "kms:CreateGrant" ], "Resource" : "*", "Condition" : { "Bool" : { "kms:GrantIsForAWSResource" : true }, "StringEquals" : { "aws:ResourceTag/red-hat" : "true" }, "StringLike" : { "kms:ViaService" : "ec2.*.amazonaws.com" } } } ] }

Learn more