Daftar peran IAM AWS

Tabel di halaman ini mencantumkan semua izin yang digunakan dalam pembuatan peran AWS IAM default. Untuk membuat kebijakan ini dengan izin default, lihat Membuat peran IAM AWS.

Peran agen layanan GKE Multi-Cloud API
GKE Multi-Cloud API menggunakan peran AWS IAM ini untuk mengelola resource menggunakan AWS API. Peran ini digunakan oleh akun layanan yang dikelola Google yang dikenal sebagai agen layanan.
Peran IAM AWS bidang kontrol
Bidang kontrol cluster Anda menggunakan peran ini untuk mengontrol node pool.
Peran IAM AWS node pool
Bidang kontrol menggunakan peran ini untuk membuat VM node pool.

Bergantung pada persyaratan organisasi Anda, Anda dapat memilih untuk membuat kebijakan IAM AWS kustom untuk GKE di AWS guna mengelola cluster Anda. Kebijakan ini akan menggantikan versi default. Kemudian, Anda menerapkan kebijakan ini ke peran IAM AWS dan memberikannya saat membuat cluster.

Untuk mengetahui informasi selengkapnya tentang tujuan setiap peran, lihat Peran IAM AWS untuk GKE di AWS.

Untuk membuat kebijakan ini, pilih tingkat yang ingin Anda gunakan untuk membatasi resource. Misalnya, Anda dapat membatasi kebijakan ke VPC AWS tertentu menggunakan Amazon Resource Name (ARN) VPC. Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke resource AWS menggunakan kebijakan.

Kebijakan IAM untuk agen layanan GKE Multi-Cloud

Jenis Resource ARN Perlu Izin Tujuan Referensi
Grup Keamanan arn:aws:ec2:*:*:security-group/sg-* ec2:DescribeSecurityGroups (Buat, Perbarui, Hapus)
ec2:CreateSecurityGroup (Buat)
ec2:CreateTags (Buat)
ec2:RevokeSecurityGroupEgress (Buat)
ec2:DeleteSecurityGroup (Hapus)
Grup keamanan bidang kontrol
Grup Keamanan Grup keamanan node pool
Aturan Grup Keamanan arn:aws:ec2:*:*:security-group-rule/sgr-* ec2:AuthorizeSecurityGroupEgress (Buat)
ec2:RevokeSecurityGroupEgress (Hapus)
ec2:CreateTags (Buat)
Aturan grup keamanan keluar bidang kontrol
Aturan Grup Keamanan ec2:AuthorizeSecurityGroupIngress (Buat)
ec2:RevokeSecurityGroupIngress (Hapus)
ec2:CreateTags (Buat)
Aturan grup keamanan ingress bidang kontrol
Aturan Grup Keamanan ec2:AuthorizeSecurityGroupEgress (Buat)
ec2:RevokeSecurityGroupEgress (Hapus)
ec2:CreateTags (Buat)
Aturan grup keamanan keluar bidang kontrol
Aturan Grup Keamanan ec2:AuthorizeSecurityGroupIngress (Buat)
ec2:RevokeSecurityGroupIngress (Hapus)
ec2:CreateTags (Buat)
Aturan grup keamanan ingress bidang kontrol
Network Load Balancer arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* elasticloadbalancing:DescribeLoadBalancers (Buat, Hapus)
elasticloadbalancing:CreateLoadBalancer (Buat)
ec2:CreateSecurityGroup (Buat)
ec2:DescribeAccountAttributes (Buat)
ec2:DescribeInternetGateways (Buat)
ec2:DescribeSecurityGroups (Buat)
ec2:DescribeSubnets (Buat)
ec2:DescribeVpcs (Buat)
iam:CreateServiceLinkedRole (Buat)
elasticloadbalancing:DeleteLoadBalancer (Hapus)
Load balancer server API Kubernetes Izin Elastic Load Balancing API
Grup Target arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* elasticloadbalancing:DescribeTargetGroups (Buat, Perbarui, Hapus)
elasticloadbalancing:DescribeTargetHealth (Buat, Perbarui)
elasticloadbalancing:CreateTargetGroup (Buat)
elasticloadbalancing:ModifyTargetGroupAttributes (Buat)
ec2:DescribeInternetGateways (Buat)
ec2:DescribeVpcs (Buat)
elasticloadbalancing:DeleteTargetGroup (Hapus)
Grup target untuk https Izin Elastic Load Balancing API
Grup Target Grup target untuk https bagi agen konnectivity
Listener arn:aws:elasticloadbalancing:*:*:listener/net/gke-* elasticloadbalancing:CreateListener (Buat)
elasticloadbalancing:DeleteListener (Hapus) elasticloadbalancing:DescribeListeners (Hapus)
elasticloadbalancing:DeleteListener (Hapus)
Pemroses untuk https
Listener Pemroses untuk https untuk agen konnectivity
Volume arn:aws:ec2:*:*:volume/vol-* ec2:CreateVolume (Buat)
ec2:CreateTags (Buat)
ec2:DeleteVolume (Hapus)
Volume etcd
Antarmuka Jaringan arn:aws:ec2:*:*:network-interface/eni-* ec2:DescribeNetworkInterfaces Perbarui
ec2:CreateNetworkInterface (Buat)
ec2:CreateTags (Buat)
ec2:ModifyNetworkInterfaceAttribute (Perbarui)
ec2:DeleteNetworkInterface (Hapus)
NIC etcd
Template Peluncuran arn:aws:ec2:*:*:launch-template/lt-* ec2:CreateLaunchTemplate (Buat, Perbarui)
ec2:CreateTags (Buat, Perbarui)
ec2:DeleteLaunchTemplate (Hapus)
Template peluncuran untuk instance bidang kontrol
Template Peluncuran Template peluncuran untuk instance node pool
Grup Penskalaan Otomatis arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* autoscaling:DescribeAutoScalingGroups (Buat, Perbarui, Hapus)
autoscaling:CreateAutoScalingGroup (Buat)
autoscaling:CreateOrUpdateTags (Perbarui)
autoscaling:UpdateAutoScalingGroup (Perbarui, Hapus)
autoscaling:TerminateInstanceInAutoScalingGroup (Perbarui)
autoscaling:DeleteTags Perbarui, (Hapus)
autoscaling:DeleteAutoScalingGroup (Hapus)
iam:CreateServiceLinkedRole (Buat)
ec2:RunInstances (Buat)
iam:PassRole (Buat)
grup penskalaan otomatis untuk instance bidang kontrol Izin API yang diperlukan untuk Amazon EC2 Auto Scaling
Grup Penskalaan Otomatis arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* grup penskalaan otomatis untuk instance node pool Izin yang diperlukan untuk membuat peran terkait layanan
Pasangan kunci EC2 ec2:DescribeKeyPairs (Buat) Untuk memastikan pasangan kunci EC2 yang digunakan untuk login ke mesin cluster ada.
Subnet ec2:DescribeSubnets (Buat) Akses ke subnet tambahan di VPC Anda
VPC ec2:DescribeVpcs (Buat) Informasi tentang AWS VPC Anda
Output Konsol EC2 ec2:GetConsoleOutput (Buat, Perbarui) Periksa log konsol untuk mengetahui error
Kunci KMS For more information on KMS key policies for GKE on AWS Creating KMS keys with specific permissions

Kebijakan IAM untuk peran bidang kontrol

Tujuan Perlu Izin Referensi
autoscaler cluster autoscaling:DescribeAutoScalingGroups (Buat, Perbarui)
autoscaling:DescribeAutoScalingInstances (Buat, Perbarui)
autoscaling:DescribeLaunchConfigurations (Buat, Perbarui)
autoscaling:DescribeTags (Buat, Perbarui)
ec2:DescribeInstanceTypes (Buat, Perbarui)
ec2:DescribeLaunchTemplateVersions (Buat, Perbarui)
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 (Buat)
ec2:DescribeInstances (Buat)
ec2:DescribeRegions
ec2:DescribeRouteTables
ec2:DescribeSecurityGroups
ec2:DescribeSubnets
ec2:DescribeVolumes
ec2:CreateSecurityGroup
ec2:CreateTags
ec2:CreateVolume
ec2:ModifyInstanceAttribute
ec2:ModifyVolume
ec2:AttachVolume (Buat)
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
Membuat load balancer 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
Snapshotter CSI Snapshotter eksternal Kubernetes
Agen node GKE di AWS
Melampirkan NIC ke etcd
ec2:AttachNetworkInterface (Buat, Perbarui)
Membaca konfigurasi proxy dari Secrets Manager secretsmanager:GetSecretValue (Buat, Perbarui)
Berinteraksi dengan kunci KMS kms:Encrypt (Buat, Perbarui)
kms:Decrypt (Buat, Perbarui)
kms:CreateGrant (Buat, Perbarui)

Kebijakan IAM untuk peran kumpulan node

Tujuan Perlu Izin Referensi
Membaca konfigurasi proxy dari Secret Manager secretsmanager:GetSecretValue (Buat, Perbarui)
Kunci KMS untuk mendekripsi enkripsi konfigurasi node pool kms:Decrypt (Buat, Perbarui) Buat kunci AWS KMS