ROSAKubeControllerPolicy - AWS Managed Policy

ROSAKubeControllerPolicy

Description: Allows the ROSA Kubernetes controller to manage Amazon EC2, Elastic Load Balancing (ELB), and AWS Key Management Service (KMS) resources for a ROSA cluster.

ROSAKubeControllerPolicy is an AWS managed policy.

Using this policy

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

Policy details

  • Type: Service role policy

  • Creation time: April 27, 2023, 20:09 UTC

  • Edited time: October 16, 2023, 18:17 UTC

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

Policy version

Policy version: v3 (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:DescribeAvailabilityZones", "ec2:DescribeInstances", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeLoadBalancerPolicies" ], "Resource" : [ "*" ] }, { "Sid" : "KMSDescribeKey", "Effect" : "Allow", "Action" : [ "kms:DescribeKey" ], "Resource" : [ "*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/red-hat" : "true" } } }, { "Sid" : "LoadBalanacerManagement", "Effect" : "Allow", "Action" : [ "elasticloadbalancing:AddTags", "elasticloadbalancing:ConfigureHealthCheck", "elasticloadbalancing:CreateLoadBalancerPolicy", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:ModifyLoadBalancerAttributes", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:SetLoadBalancerPoliciesForBackendServer" ], "Resource" : [ "*" ] }, { "Sid" : "CreateTargetGroup", "Effect" : "Allow", "Action" : [ "elasticloadbalancing:CreateTargetGroup" ], "Resource" : [ "*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/red-hat-managed" : "true" } } }, { "Sid" : "LoadBalanacerManagementResourceTag", "Effect" : "Allow", "Action" : [ "elasticloadbalancing:DeleteListener", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:ModifyTargetGroup", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer", "elasticloadbalancing:CreateLoadBalancerListeners", "elasticloadbalancing:DeleteLoadBalancerListeners", "elasticloadbalancing:AttachLoadBalancerToSubnets", "elasticloadbalancing:DetachLoadBalancerFromSubnets", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:SetLoadBalancerPoliciesOfListener" ], "Resource" : [ "*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/red-hat-managed" : "true" } } }, { "Sid" : "CreateListeners", "Effect" : "Allow", "Action" : [ "elasticloadbalancing:CreateListener" ], "Resource" : [ "*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/red-hat-managed" : "true", "aws:ResourceTag/red-hat-managed" : "true" } } }, { "Sid" : "CreateSecurityGroup", "Effect" : "Allow", "Action" : [ "ec2:CreateSecurityGroup" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/red-hat-managed" : "true" } } }, { "Sid" : "CreateSecurityGroupVpc", "Effect" : "Allow", "Action" : [ "ec2:CreateSecurityGroup" ], "Resource" : [ "arn:aws:ec2:*:*:vpc/*" ] }, { "Sid" : "CreateLoadBalancer", "Effect" : "Allow", "Action" : [ "elasticloadbalancing:CreateLoadBalancer" ], "Resource" : [ "arn:aws:elasticloadbalancing:*:*:loadbalancer/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/red-hat-managed" : "true" } } }, { "Sid" : "ModifySecurityGroup", "Effect" : "Allow", "Action" : [ "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress", "ec2:DeleteSecurityGroup" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/red-hat-managed" : "true" } } }, { "Sid" : "CreateTagsSecurityGroups", "Effect" : "Allow", "Action" : [ "ec2:CreateTags" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*" ], "Condition" : { "StringEquals" : { "ec2:CreateAction" : "CreateSecurityGroup" } } } ] }

Learn more