Tabel di halaman ini mencantumkan semua izin yang digunakan dalam membuat 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 kumpulan node.
- Peran IAM AWS kumpulan node
- Bidang kontrol menggunakan peran ini untuk membuat VM node pool.
Bergantung pada persyaratan organisasi, Anda dapat memilih membuat kebijakan IAM AWS kustom untuk GKE di AWS guna mengelola cluster Anda. Kebijakan ini akan menggantikan versi default. Kemudian, Anda akan 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 di tingkat mana Anda ingin membatasi resource Anda. 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 (Membuat, Memperbarui, Menghapus)ec2:CreateSecurityGroup (Membuat)ec2:CreateTags (Membuat)ec2:RevokeSecurityGroupEgress (Buat)ec2:DeleteSecurityGroup (Hapus) |
Grup keamanan pesawat 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 pesawat kontrol | |
Aturan Grup Keamanan | ec2:AuthorizeSecurityGroupIngress (Buat)ec2:RevokeSecurityGroupIngress (Hapus)ec2:CreateTags (Buat) |
Kontrol aturan grup keamanan masuk pesawat | ||
Aturan Grup Keamanan | ec2:AuthorizeSecurityGroupEgress (Buat)ec2:RevokeSecurityGroupEgress (Hapus)ec2:CreateTags (Buat) |
Aturan grup keamanan keluar pesawat kontrol | ||
Aturan Grup Keamanan | ec2:AuthorizeSecurityGroupIngress (Buat)ec2:RevokeSecurityGroupIngress (Hapus)ec2:CreateTags (Buat) |
Kontrol aturan grup keamanan masuk pesawat | ||
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 api-server Kubernetes | Izin Elastic Load Balancing API |
Kelompok Target | arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* |
elasticloadbalancing:DescribeTargetGroups (Membuat, Memperbarui, Menghapus)elasticloadbalancing:DescribeTargetHealth (Membuat, Memperbarui)elasticloadbalancing:CreateTargetGroup (Membuat)elasticloadbalancing:ModifyTargetGroupAttributes (Membuat)ec2:DescribeInternetGateways (Membuat)ec2:DescribeVpcs (Membuat)elasticloadbalancing:DeleteTargetGroup (Hapus) |
Grup target untuk https | Izin Elastic Load Balancing API |
Kelompok Target | Grup target untuk https untuk agen konvensi | |||
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 konvensitivitas | |||
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 Updateec2:CreateNetworkInterface (Buat)ec2:CreateTags (Buat)ec2:ModifyNetworkInterfaceAttribute (Update)ec2:DeleteNetworkInterface (Hapus) |
NIC etcd | |
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 (Membuat, Memperbarui, Menghapus)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:*: |
grup penskalaan otomatis untuk instance kumpulan node | Izin yang diperlukan untuk membuat peran tertaut 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 tentang VPC AWS | ||
Output Konsol EC2 | ec2:GetConsoleOutput (Membuat, Memperbarui) |
Periksa log konsol untuk menemukan 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 |
---|---|---|
penskala otomatis 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 |
penyedia cloud-aw | 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: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:ExplainAvailabilityZones |
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 |
Snapshot CSI | Snapshotter eksternal Kubernetes |
GKE pada agen node AWS Memasang NIC ke etcd |
ec2:AttachNetworkInterface (Membuat, Memperbarui) |
|
Membaca konfigurasi proxy dari Secret Manager | secretsmanager:GetSecretValue (Membuat, Memperbarui) |
|
Berinteraksi dengan kunci KMS | kms:Encrypt (Membuat, Mengupdate)kms:Decrypt (Membuat, Mengupdate)kms:CreateGrant (Membuat, Mengupdate) |
Kebijakan IAM untuk peran kumpulan node
Tujuan | Perlu Izin | Referensi |
---|---|---|
Membaca konfigurasi proxy dari secrets manager | secretsmanager:GetSecretValue (Membuat, Memperbarui) |
|
Kunci KMS untuk mendekripsi enkripsi konfigurasi kumpulan node | kms:Decrypt (Membuat, Memperbarui) |
Membuat kunci AWS KMS |