Lista de funções do AWS IAM

As tabelas nesta página listam todas as autorizações usadas na criação das funções de IAM do AWS predefinidas. Para criar estas políticas com autorizações predefinidas, consulte o artigo Crie funções de IAM do AWS.

Função de agente do serviço da API GKE Multi-Cloud
A API GKE Multi-Cloud usa esta função de IAM do AWS para gerir recursos através das APIs AWS. Esta função é usada por uma conta de serviço gerida pela Google conhecida como um agente de serviço.
Função do AWS IAM do plano de controlo
O plano de controlo do cluster usa esta função para controlar os conjuntos de nós.
Função de IAM do AWS do node pool
O plano de controlo usa esta função para criar VMs do node pool.

Consoante os requisitos da sua organização, pode optar por criar políticas de IAM (gestão de identidade e de acesso) da AWS personalizadas para o GKE na AWS para gerir os seus clusters. Estas políticas substituem as versões predefinidas. Em seguida, aplica estas políticas às funções do IAM da AWS e faculta-as quando cria um cluster.

Para mais informações sobre a finalidade de cada função, consulte o artigo Funções de IAM da AWS para o GKE na AWS.

Para criar estas políticas, escolha o nível no qual quer restringir os seus recursos. Por exemplo, pode restringir uma política a uma VPC da AWS específica através do nome de recurso da Amazon (ARN) da VPC. Para mais informações, consulte o artigo Controlar o acesso aos recursos da AWS através de políticas.

Políticas IAM para agentes de serviço do GKE Multi-Cloud

Tipo de recurso ARN Autorização necessária Finalidade Referência
Grupo de segurança arn:aws:ec2:*:*:security-group/sg-* ec2:DescribeSecurityGroups (Criar, atualizar, eliminar)
ec2:CreateSecurityGroup (Criar)
ec2:CreateTags (Criar)
ec2:RevokeSecurityGroupEgress (Criar)
ec2:DeleteSecurityGroup (Eliminar)
Grupo de segurança do plano de controlo
Grupo de segurança Grupo de segurança do node pool
Regra do grupo de segurança arn:aws:ec2:*:*:security-group-rule/sgr-* ec2:AuthorizeSecurityGroupEgress (Criar)
ec2:RevokeSecurityGroupEgress (Eliminar)
ec2:CreateTags (Criar)
Regra do grupo de segurança de saída do plano de controlo
Regra do grupo de segurança ec2:AuthorizeSecurityGroupIngress (Criar)
ec2:RevokeSecurityGroupIngress (Eliminar)
ec2:CreateTags (Criar)
Regra do grupo de segurança de entrada do plano de controlo
Regra do grupo de segurança ec2:AuthorizeSecurityGroupEgress (Criar)
ec2:RevokeSecurityGroupEgress (Eliminar)
ec2:CreateTags (Criar)
Regra do grupo de segurança de saída do plano de controlo
Regra do grupo de segurança ec2:AuthorizeSecurityGroupIngress (Criar)
ec2:RevokeSecurityGroupIngress (Eliminar)
ec2:CreateTags (Criar)
Regra do grupo de segurança de entrada do plano de controlo
Balanceador de carga de rede arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* elasticloadbalancing:DescribeLoadBalancers (Criar, eliminar)
elasticloadbalancing:CreateLoadBalancer (Criar)
ec2:CreateSecurityGroup (Criar)
ec2:DescribeAccountAttributes (Criar)
ec2:DescribeInternetGateways (Criar)
ec2:DescribeSecurityGroups (Criar)
ec2:DescribeSubnets (Criar)
ec2:DescribeVpcs (Criar)
iam:CreateServiceLinkedRole (Criar)
elasticloadbalancing:DeleteLoadBalancer (Eliminar)
Balanceador de carga do servidor de API do Kubernetes Autorizações da API Elastic Load Balancing
Grupo de destino arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* elasticloadbalancing:DescribeTargetGroups (Criar, atualizar, eliminar)
elasticloadbalancing:DescribeTargetHealth (Criar, atualizar)
elasticloadbalancing:CreateTargetGroup (Criar)
elasticloadbalancing:ModifyTargetGroupAttributes (Criar)
ec2:DescribeInternetGateways (Criar)
ec2:DescribeVpcs (Criar)
elasticloadbalancing:DeleteTargetGroup (Eliminar)
Grupo de destino para https Autorizações da API Elastic Load Balancing
Grupo de destino Grupo de destino para https para o agente de conetividade
Ouvinte arn:aws:elasticloadbalancing:*:*:listener/net/gke-* elasticloadbalancing:CreateListener (Criar)
elasticloadbalancing:DeleteListener (Eliminar) elasticloadbalancing:DescribeListeners (Eliminar)
elasticloadbalancing:DeleteListener (Eliminar)
Ouvinte para https
Ouvinte Ouvinte de https para o agente de conetividade
Volume arn:aws:ec2:*:*:volume/vol-* ec2:CreateVolume (Criar)
ec2:CreateTags (Criar)
ec2:DeleteVolume (Eliminar)
Volumes etcd
Interface de rede arn:aws:ec2:*:*:network-interface/eni-* ec2:DescribeNetworkInterfaces Atualizar
ec2:CreateNetworkInterface (Criar)
ec2:CreateTags (Criar)
ec2:ModifyNetworkInterfaceAttribute (Atualizar)
ec2:DeleteNetworkInterface (Eliminar)
NICs etcd
Modelo de lançamento arn:aws:ec2:*:*:launch-template/lt-* ec2:CreateLaunchTemplate (Criar, atualizar)
ec2:CreateTags (Criar, atualizar)
ec2:DeleteLaunchTemplate (Eliminar)
Modelo de lançamento para instâncias do plano de controlo
Modelo de lançamento Modelo de lançamento para instâncias do conjunto de nós
Grupo de escala automática arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* autoscaling:DescribeAutoScalingGroups (Criar, atualizar, eliminar)
autoscaling:CreateAutoScalingGroup (Criar)
autoscaling:CreateOrUpdateTags (Atualizar)
autoscaling:UpdateAutoScalingGroup (Atualizar, eliminar)
autoscaling:TerminateInstanceInAutoScalingGroup (Atualizar)
autoscaling:DeleteTags Atualizar, (eliminar)
autoscaling:DeleteAutoScalingGroup (Eliminar)
iam:CreateServiceLinkedRole (Criar)
ec2:RunInstances (Criar)
iam:PassRole (Criar)
grupos de dimensionamento automático para instâncias do plano de controlo Autorizações da API necessárias para o Amazon EC2 Auto Scaling
Grupo de escala automática arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* Grupos de escala automática para instâncias do node pool Autorizações necessárias para criar uma função associada ao serviço
Pares de chaves do EC2 ec2:DescribeKeyPairs (Criar) Para garantir que o par de chaves do EC2 usado para iniciar sessão nas máquinas do cluster existe.
Sub-redes ec2:DescribeSubnets (Criar) Acesso a sub-redes adicionais na sua VPC
VPC ec2:DescribeVpcs (Criar) Informações sobre a sua VPC da AWS
Saída da consola EC2 ec2:GetConsoleOutput (criar, atualizar) Verifique se existem erros nos registos da consola
Chave do KMS For more information on KMS key policies for GKE on AWS Creating KMS keys with specific permissions

Política IAM para a função do plano de controlo

Finalidade Autorização necessária Referência
redimensionador automático de clusters autoscaling:DescribeAutoScalingGroups (Criar, atualizar)
autoscaling:DescribeAutoScalingInstances (Criar, atualizar)
autoscaling:DescribeLaunchConfigurations (Criar, atualizar)
autoscaling:DescribeTags (Criar, atualizar)
ec2:DescribeInstanceTypes (Criar, atualizar)
ec2:DescribeLaunchTemplateVersions (Criar, atualizar)
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 (Criar)
ec2:DescribeInstances (Criar)
ec2:DescribeRegions
ec2:DescribeRouteTables
ec2:DescribeSecurityGroups
ec2:DescribeSubnets
ec2:DescribeVolumes
ec2:CreateSecurityGroup
ec2:CreateTags
ec2:CreateVolume
ec2:ModifyInstanceAttribute
ec2:ModifyVolume
ec2:AttachVolume (Criar)
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
Crie balanceadores de carga 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 snapshotter Kubernetes external snapshotter
Agente de nó do GKE no AWS
Anexe a NIC ao etcd
ec2:AttachNetworkInterface (criar, atualizar)
Ler a configuração do proxy a partir do Secrets Manager secretsmanager:GetSecretValue (criar, atualizar)
Interaja com chaves do KMS kms:Encrypt (Criar, atualizar)
kms:Decrypt (Criar, atualizar)
kms:CreateGrant (Criar, atualizar)

Política IAM para a função do node pool

Finalidade Autorização necessária Referência
Ler a configuração do proxy a partir do gestor de segredos secretsmanager:GetSecretValue (criar, atualizar)
Chave do KMS para desencriptar a encriptação da configuração do node pool kms:Decrypt (criar, atualizar) Crie uma chave do AWS KMS