Tabel di halaman ini mencantumkan semua izin yang digunakan dalam membuat peran IAM AWS 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 IAM AWS ini untuk mengelola resource menggunakan AWS API. Peran ini digunakan oleh agen layanan.
- Peran IAM AWS bidang kontrol
- Bidang kontrol cluster Anda menggunakan peran ini untuk mengontrol kumpulan node.
- Peran IAM AWS kumpulan node
- Bidang kontrol menggunakan peran ini untuk membuat VM kumpulan node.
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, terapkan kebijakan ini ke peran IAM AWS dan berikan kebijakan tersebut 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 diinginkan 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
Resource Type | 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 kumpulan node | |||
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 masuk 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 masuk bidang kontrol | ||
Load Balancer Jaringan | 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 (Membuat, Memperbarui, Menghapus)elasticloadbalancing:DescribeTargetHealth (Membuat, Memperbarui)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 untuk agen konektivitas | |||
Pemroses | arn:aws:elasticloadbalancing:*:*:listener/net/gke-* |
elasticloadbalancing:CreateListener (Buat)elasticloadbalancing:DeleteListener (Hapus)
elasticloadbalancing:DescribeListeners (Hapus)elasticloadbalancing:DeleteListener (Hapus) |
Pemroses untuk https | |
Pemroses | Pemroses untuk https untuk agen konektivitas | |||
Volume | arn:aws:ec2:*:*:volume/vol-* |
ec2:CreateVolume (Buat)ec2:CreateTags (Buat)ec2:DeleteVolume (Hapus) |
volume dll | |
Antarmuka Jaringan | arn:aws:ec2:*:*:network-interface/eni-* |
ec2:DescribeNetworkInterfaces Pembaruanec2:CreateNetworkInterface (Buat)ec2:CreateTags (Buat)ec2:ModifyNetworkInterfaceAttribute (Pembaruan)ec2:DeleteNetworkInterface (Hapus) |
NIC {i>etcd<i} | |
Template Peluncuran | arn:aws:ec2:*:*:launch-template/lt-* |
ec2:CreateLaunchTemplate (Membuat, Memperbarui)ec2:CreateTags (Membuat, Memperbarui)ec2:DeleteLaunchTemplate (Hapus) |
Template peluncuran untuk instance bidang kontrol | |
Template Peluncuran | Template peluncuran untuk instance kumpulan node | |||
Grup Penskalaan Otomatis | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
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 Penskalaan Otomatis Amazon EC2 |
Grup Penskalaan Otomatis | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
grup penskalaan otomatis untuk instance kumpulan node | Izin yang diperlukan untuk membuat peran terkait layanan | |
Pasangan kunci EC2 | ec2:DescribeKeyPairs (Buat) |
Untuk memastikan adanya pasangan kunci EC2 yang digunakan untuk login ke mesin cluster. | ||
Subnet | ec2:DescribeSubnets (Buat) |
Akses ke subnet tambahan di VPC Anda | ||
VPC | ec2:DescribeVpcs (Buat) |
Informasi di VPC AWS Anda | ||
Output Konsol EC2 | ec2:GetConsoleOutput (Membuat, Mengupdate) |
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 (Membuat, Mengupdate)autoscaling:DescribeAutoScalingInstances (Membuat, Mengupdate)autoscaling:DescribeLaunchConfigurations (Membuat, Mengupdate)autoscaling:DescribeTags (Membuat, Mengupdate)ec2:DescribeInstanceTypes (Membuat, Mengupdate)ec2:DescribeLaunchTemplateVersions (Membuat, Mengupdate)autoscaling:SetDesiredCapacity autoscaling:TerminateInstanceInAutoScalingGroup |
https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md |
cloud-provider-aws | autoscaling:DescribeAutoScalingGroups
/2/20/20/20 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:AuthorizeSecurityGroupIngress autoscaling:DescribeLaunchConfigurations autoscaling:DescribeTags ec2:DeleteRoute ec2:DeleteSecurityGroup ec2:DeleteVolume ec2:DetachVolume ec2:RevokeSecurityGroupIngress ec2:DescribeVpcs elasticloadbalancing:AddTags 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: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:DescriptionAvailabilityZones |
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 |
GKE di agen node AWS Memasang NIC ke dlld |
ec2:AttachNetworkInterface (Membuat, Mengupdate) |
|
Membaca konfigurasi proxy dari Secret Manager | secretsmanager:GetSecretValue (Membuat, Mengupdate) |
|
Berinteraksi dengan kunci KMS | kms:Encrypt (Membuat, Memperbarui)kms:Decrypt (Membuat, Memperbarui)kms:CreateGrant (Membuat, Memperbarui) |
Kebijakan IAM untuk peran node pool
Tujuan | Perlu Izin | Referensi |
---|---|---|
Membaca konfigurasi proxy dari secret manager | secretsmanager:GetSecretValue (Membuat, Mengupdate) |
|
Kunci KMS untuk mendekripsi enkripsi konfigurasi kumpulan node | kms:Decrypt (Membuat, Mengupdate) |
Membuat kunci AWS KMS |