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 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: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: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 |