AWS IAM ロールのリスト

このページの表は、デフォルトの AWS IAM ロールの作成に使用されるすべての権限を示しています。デフォルトの権限でこれらのポリシーを作成するには、AWS IAM ロールを作成するをご覧ください。

Anthos Multi-Cloud API サービス エージェント ロール
GKE Multi-Cloud API では、この AWS IAM ロールを使用して、AWS API でリソースを管理します。このロールは、サービス エージェントと呼ばれる Google 管理のサービス アカウントで使用されます。
コントロール プレーンの AWS IAM ロール
クラスタ コントロール プレーンは、このロールを使用してノードプールを制御します。
ノードプールの AWS IAM ロール
コントロール プレーンは、このロールを使用して、ノードプール VM を作成します。

組織の要件に応じて、GKE on AWS のカスタム AWS IAM ポリシーを作成してクラスタを管理できます。これらのポリシーにより、デフォルト バージョンが置き換わります。これらのポリシーを AWS IAM ロールに適用し、クラスタの作成時に指定します。

各ロールの目的の詳細については、GKE on AWS の AWS IAM ロールをご覧ください。

これらのポリシーを作成するには、リソースを制限するレベルを選択します。たとえば、VPC の Amazon Resource Name(ARN)を使用してポリシーを特定の AWS VPC に制限できます。詳細については、ポリシーを使用した AWS リソースへのアクセスの制御をご覧ください。

GKE Multi-cloud サービス エージェントの IAM ポリシー

リソースの種類 ARN 権限が必要です 目的 リファレンス
セキュリティ グループ arn:aws:ec2:*:*:security-group/sg-* ec2:DescribeSecurityGroups(作成、更新、削除)
ec2:CreateSecurityGroup(作成)
ec2:CreateTags(作成)
ec2:RevokeSecurityGroupEgress(作成)
ec2:DeleteSecurityGroup(削除)
コントロール プレーンのセキュリティ グループ
セキュリティ グループ ノードプールのセキュリティ グループ
セキュリティ グループのルール arn:aws:ec2:*:*:security-group-rule/sgr-* ec2:AuthorizeSecurityGroupEgress(作成)
ec2:RevokeSecurityGroupEgress(削除)
ec2:CreateTags(作成)
コントロール プレーンの下り(外向き)セキュリティ グループ ルール
セキュリティ グループのルール ec2:AuthorizeSecurityGroupIngress(作成)
ec2:RevokeSecurityGroupIngress(削除)
ec2:CreateTags(作成)
コントロール プレーンの上り(内向き)セキュリティ グループ ルール
セキュリティ グループのルール ec2:AuthorizeSecurityGroupEgress(作成)
ec2:RevokeSecurityGroupEgress(削除)
ec2:CreateTags(作成)
コントロール プレーンの下り(外向き)セキュリティ グループ ルール
セキュリティ グループのルール ec2:AuthorizeSecurityGroupIngress(作成)
ec2:RevokeSecurityGroupIngress(削除)
ec2:CreateTags(作成)
コントロール プレーンの上り(内向き)セキュリティ グループ ルール
ネットワーク ロードバランサ arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* elasticloadbalancing:DescribeLoadBalancers(作成、削除)
elasticloadbalancing:CreateLoadBalancer(作成)
ec2:CreateSecurityGroup(作成)
ec2:DescribeAccountAttributes(作成)
ec2:DescribeInternetGateways(作成)
ec2:DescribeSecurityGroups(作成)
ec2:DescribeSubnets(作成)
ec2:DescribeVpcs(作成)
iam:CreateServiceLinkedRole(作成)
elasticloadbalancing:DeleteLoadBalancer(削除)
Kubernetes api-server ロードバランサ Elastic Load Balancing API の権限
ターゲット グループ arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* elasticloadbalancing:DescribeTargetGroups(作成、更新、削除)
elasticloadbalancing:DescribeTargetHealth(作成、更新)
elasticloadbalancing:CreateTargetGroup(作成)
elasticloadbalancing:ModifyTargetGroupAttributes(作成)
ec2:DescribeInternetGateways(作成)
ec2:DescribeVpcs(作成)
elasticloadbalancing:DeleteTargetGroup(削除)
https のターゲット グループ Elastic Load Balancing API の権限
ターゲット グループ konnectivity エージェントの https のターゲット グループ
リスナー arn:aws:elasticloadbalancing:*:*:listener/net/gke-* elasticloadbalancing:CreateListener(作成)
elasticloadbalancing:DeleteListener(削除)elasticloadbalancing:DescribeListeners(削除)
elasticloadbalancing:DeleteListener(削除)
https のリスナー
リスナー konnectivity エージェントの https のリスナー
音量 arn:aws:ec2:*:*:volume/vol-* ec2:CreateVolume(作成)
ec2:CreateTags(作成)
ec2:DeleteVolume(削除)
etcd ボリューム
ネットワーク インターフェース arn:aws:ec2:*:*:network-interface/eni-* ec2:DescribeNetworkInterfaces更新
ec2:CreateNetworkInterface(作成)
ec2:CreateTags(作成)
ec2:ModifyNetworkInterfaceAttribute(更新)
ec2:DeleteNetworkInterface(削除)
etcd NIC
テンプレートを起動する arn:aws:ec2:*:*:launch-template/lt-* ec2:CreateLaunchTemplate(作成、更新)
ec2:CreateTags(作成、更新)
ec2:DeleteLaunchTemplate(削除)
コントロール プレーン インスタンス用のテンプレートを起動する
テンプレートを起動する ノードプール インスタンス用のテンプレートを起動する
自動スケーリング グループ arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* autoscaling:DescribeAutoScalingGroups(作成、更新、削除)
autoscaling:CreateAutoScalingGroup(作成)
autoscaling:CreateOrUpdateTags(更新)
autoscaling:UpdateAutoScalingGroup(更新、削除)
autoscaling:TerminateInstanceInAutoScalingGroup(更新)
autoscaling:DeleteTags(更新、削除)
autoscaling:DeleteAutoScalingGroup(削除)
iam:CreateServiceLinkedRole(作成)
ec2:RunInstances(作成)
iam:PassRole(作成)
コントロール プレーン インスタンスの自動スケーリング グループ Amazon EC2 自動スケーリングに必要な API 権限
自動スケーリング グループ arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* ノードプール インスタンスの自動スケーリング グループ サービスにリンクされるロールを作成するために必要な権限
EC2 鍵ペア ec2:DescribeKeyPairs(作成) クラスタマシンへのログインに使用する EC2 鍵ペアが存在することを確認する。
サブネット ec2:DescribeSubnets(作成) VPC で追加のサブネットにアクセスする
VPC ec2:DescribeVpcs(作成) AWS VPC に関する情報
EC2 コンソール出力 ec2:GetConsoleOutput(作成、更新) コンソールのログでエラーを確認する
KMS 鍵 For more information on KMS key policies for GKE on AWS Creating KMS keys with specific permissions

コントロール プレーンのロールの IAM ポリシー

目的 権限が必要です リファレンス
クラスタ オートスケーラー autoscaling:DescribeAutoScalingGroups(作成、更新)
autoscaling:DescribeAutoScalingInstances(作成、更新)
autoscaling:DescribeLaunchConfigurations(作成、更新)
autoscaling:DescribeTags(作成、更新)
ec2:DescribeInstanceTypes(作成、更新)
ec2:DescribeLaunchTemplateVersions(作成、更新)
autoscaling:SetDesiredCapacity
autoscaling:TerminateInstanceInAutoScalingGroup
https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md
cloud-provider-aws autoscaling:DescribeAutoScalingGroups
autoscaling:DescribeLaunchConfigurations
autoscaling:DescribeTags(作成)
ec2:DescribeInstances(作成)
ec2:DescribeRegions
ec2:DescribeRouteTables
ec2:DescribeSecurityGroups
ec2:DescribeSubnets
ec2:DescribeVolumes
ec2:CreateSecurityGroup
ec2:CreateTags
ec2:CreateVolume
ec2:ModifyInstanceAttribute
ec2:ModifyVolume
ec2:AttachVolume(作成)
ec2:AuthorizeSecurityGroupIngress
ec2:CreateRoute
ec2:DeleteRoute
ec2:DeleteSecurityGroup
ec2:DeleteVolume
ec2:DetachVolume
ec2:RevokeSecurityGroupIngress
ec2:DescribeVpcs
elasticloadbalancing:AddTags
elasticloadbalancing:AttachLoadBalancerToSubnets
elasticloadbalancing:ApplySecurityGroupsToLoadBalancer
elasticloadbalancing:CreateLoadBalancer
elasticloadbalancing:CreateLoadBalancerPolicy
elasticloadbalancing:CreateLoadBalancerListeners
elasticloadbalancing:ConfigureHealthCheck
elasticloadbalancing:DeleteLoadBalancer
elasticloadbalancing:DeleteLoadBalancerListeners
elasticloadbalancing:DescribeLoadBalancers
elasticloadbalancing:DescribeLoadBalancerAttributes
elasticloadbalancing:DetachLoadBalancerFromSubnets
elasticloadbalancing:DeregisterInstancesFromLoadBalancer
elasticloadbalancing:ModifyLoadBalancerAttributes
elasticloadbalancing:RegisterInstancesWithLoadBalancer
elasticloadbalancing:SetLoadBalancerPoliciesForBackendServer
elasticloadbalancing:AddTags
elasticloadbalancing:CreateListener
elasticloadbalancing:CreateTargetGroup
elasticloadbalancing:DeleteListener
elasticloadbalancing:DeleteTargetGroup
elasticloadbalancing:DescribeListeners
elasticloadbalancing:DescribeLoadBalancerPolicies
elasticloadbalancing:DescribeTargetGroups
elasticloadbalancing:DescribeTargetHealth
elasticloadbalancing:ModifyListener
elasticloadbalancing:ModifyTargetGroup
elasticloadbalancing:RegisterTargets
elasticloadbalancing:DeregisterTargets
elasticloadbalancing:SetLoadBalancerPoliciesOfListener
iam:CreateServiceLinkedRole
kms:DescribeKey

https://github.com/kubernetes/cloud-provider-aws/blob/master/docs/prerequisites.md
ロードバランサを作成する elasticloadbalancing:CreateLoadBalancer
ec2:DescribeAccountAttributes
ec2:DescribeInternetGateways
ec2:DescribeSecurityGroups
ec2:DescribeSubnets
ec2:DescribeVpcs
https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elb-api-permissions.html
aws-ebs-csi-driver ec2:DescribeVolumesModifications
ec2:DeleteTags

ec2:DescribeAvailabilityZones

https://github.com/kubernetes-sigs/aws-ebs-csi-driver/tree/master/docs#set-up-driver-permission
gke-aws-controller-manager ec2:DescribeDhcpOptions
ec2:DescribeInstances
ec2:DescribeVpcs
elasticloadbalancing:ModifyTargetGroupAttributes
ec2:DescribeSnapshots
ec2:CreateSnapshot
ec2:DeleteSnapshot
CSI スナップショット Kubernetes 外部スナップショット
GKE on AWS ノード エージェント
etcd に NIC を接続する
ec2:AttachNetworkInterface(作成、更新)
Secret Manager からプロキシ構成を読み取る secretsmanager:GetSecretValue(作成、更新)
KMS 鍵を操作する kms:Encrypt(作成、更新)
kms:Decrypt(作成、更新)
kms:CreateGrant(作成、更新)

ノードプールのロールの IAM ポリシー

目的 権限が必要です リファレンス
Secret Manager からプロキシ構成を読み取る secretsmanager:GetSecretValue(作成、更新)
ノードプール構成の暗号化を復号するための KMS 鍵 kms:Decrypt(作成、更新) AWS KMS 鍵を作成する