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 Perbaruiec2: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:*: |
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:*: |
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:SetDesiredCapacityautoscaling:TerminateInstanceInAutoScalingGroup |
https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md |
| cloud-provider-aws | autoscaling:DescribeAutoScalingGroupsautoscaling:DescribeLaunchConfigurationsautoscaling:DescribeTags (Buat)ec2:DescribeInstances (Buat)ec2:DescribeRegionsec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVolumesec2:CreateSecurityGroupec2:CreateTagsec2:CreateVolumeec2:ModifyInstanceAttributeec2:ModifyVolumeec2:AttachVolume (Buat)ec2:AuthorizeSecurityGroupIngressec2:CreateRouteec2:DeleteRouteec2:DeleteSecurityGroupec2:DeleteVolumeec2:DetachVolumeec2:RevokeSecurityGroupIngressec2:DescribeVpcselasticloadbalancing:AddTagselasticloadbalancing:AttachLoadBalancerToSubnetselasticloadbalancing:ApplySecurityGroupsToLoadBalancerelasticloadbalancing:CreateLoadBalancerelasticloadbalancing:CreateLoadBalancerPolicyelasticloadbalancing:CreateLoadBalancerListenerselasticloadbalancing:ConfigureHealthCheckelasticloadbalancing:DeleteLoadBalancerelasticloadbalancing:DeleteLoadBalancerListenerselasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeLoadBalancerAttributeselasticloadbalancing:DetachLoadBalancerFromSubnetselasticloadbalancing:DeregisterInstancesFromLoadBalancerelasticloadbalancing:ModifyLoadBalancerAttributeselasticloadbalancing:RegisterInstancesWithLoadBalancerelasticloadbalancing:SetLoadBalancerPoliciesForBackendServerelasticloadbalancing:AddTagselasticloadbalancing:CreateListenerelasticloadbalancing:CreateTargetGroupelasticloadbalancing:DeleteListenerelasticloadbalancing:DeleteTargetGroupelasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeLoadBalancerPolicieselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthelasticloadbalancing:ModifyListenerelasticloadbalancing:ModifyTargetGroupelasticloadbalancing:RegisterTargetselasticloadbalancing:DeregisterTargetselasticloadbalancing:SetLoadBalancerPoliciesOfListeneriam:CreateServiceLinkedRolekms:DescribeKey |
https://github.com/kubernetes/cloud-provider-aws/blob/master/docs/prerequisites.md |
| Membuat load balancer | elasticloadbalancing:CreateLoadBalancerec2:DescribeAccountAttributesec2:DescribeInternetGatewaysec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVpcs |
https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elb-api-permissions.html |
| aws-ebs-csi-driver | ec2:DescribeVolumesModifications
ec2:DescribeAvailabilityZones |
https://github.com/kubernetes-sigs/aws-ebs-csi-driver/tree/master/docs#set-up-driver-permission |
| gke-aws-controller-manager | ec2:DescribeDhcpOptionsec2:DescribeInstancesec2:DescribeVpcs |
|
elasticloadbalancing:ModifyTargetGroupAttributes |
||
ec2:DescribeSnapshotsec2:CreateSnapshotec2: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 |