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 a 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 do AWS IAM para o GKE no 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 Atualizarec2: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:*: | 
      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:*: | 
      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:SetDesiredCapacityautoscaling:TerminateInstanceInAutoScalingGroup | 
      https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md | 
    
| cloud-provider-aws | autoscaling:DescribeAutoScalingGroupsautoscaling:DescribeLaunchConfigurationsautoscaling:DescribeTags (Criar)ec2:DescribeInstances (Criar)ec2:DescribeRegionsec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVolumesec2:CreateSecurityGroupec2:CreateTagsec2:CreateVolumeec2:ModifyInstanceAttributeec2:ModifyVolumeec2:AttachVolume (Criar)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 | 
    
| Crie balanceadores de carga | 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 | 
      CSI snapshotter | Kubernetes external snapshotter | 
| Agente de nó do GKE no AWS Associe 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 |