As tabelas nesta página listam todas as permissões usadas para criar os papéis padrão do IAM da AWS. Para criar essas políticas com permissões padrão, consulte Criar papéis do IAM da AWS.
- Papel de agente de serviço da API GKE Multi-Cloud
- A API GKE Multi-Cloud usa esse papel do IAM da AWS para gerenciar recursos usando as APIs da AWS. Esse papel é usado por um agente de serviço.
- Papel do IAM do AWS no plano de controle
- O plano de controle do cluster usa esse papel para controlar os pools de nós.
- Papel do IAM do AWS do pool de nós
- O plano de controle usa esse papel para criar VMs do pool de nós.
Dependendo dos requisitos da sua organização, é possível optar por criar políticas personalizadas do IAM da AWS para o GKE na AWS a fim de gerenciar os clusters. Essas políticas substituirão as versões padrão. Em seguida, você aplica essas políticas aos papéis do IAM da AWS e as fornece ao criar um cluster.
Para mais informações sobre a finalidade de cada papel, consulte Papéis do IAM da AWS para o GKE na AWS.
Para criar essas políticas, escolha o nível em que você quer restringir os recursos. Por exemplo, é possível restringir uma política a uma VPC específica da AWS usando o nome de recurso da Amazon (ARN, na sigla em inglês) da VPC. Para mais informações, consulte Como controlar o acesso aos recursos da AWS usando políticas.
Políticas do IAM para agentes de serviço de várias nuvens do GKE
Tipo de recurso | ARN | Permissão necessária | Finalidade | Referência |
---|---|---|---|---|
Grupo de segurança | arn:aws:ec2:*:*:security-group/sg-* |
ec2:DescribeSecurityGroups (Criar, Atualizar, Excluir)ec2:CreateSecurityGroup (Criar)ec2:CreateTags (Criar)ec2:RevokeSecurityGroupEgress (Criar)ec2:DeleteSecurityGroup (Excluir) |
Grupo de segurança do plano de controle | |
Grupo de segurança | Grupo de segurança do pool de nós | |||
Regra de grupo de segurança | arn:aws:ec2:*:*:security-group-rule/sgr-* |
ec2:AuthorizeSecurityGroupEgress (Criar)ec2:RevokeSecurityGroupEgress (Excluir)ec2:CreateTags (Criar) |
Regra do grupo de segurança de saída do plano de controle | |
Regra de grupo de segurança | ec2:AuthorizeSecurityGroupIngress (Criar)ec2:RevokeSecurityGroupIngress (Excluir)ec2:CreateTags (Criar) |
Regra do grupo de segurança de entrada do plano de controle | ||
Regra de grupo de segurança | ec2:AuthorizeSecurityGroupEgress (Criar)ec2:RevokeSecurityGroupEgress (Excluir)ec2:CreateTags (Criar) |
Regra do grupo de segurança de saída do plano de controle | ||
Regra de grupo de segurança | ec2:AuthorizeSecurityGroupIngress (Criar)ec2:RevokeSecurityGroupIngress (Excluir)ec2:CreateTags (Criar) |
Regra do grupo de segurança de entrada do plano de controle | ||
Balanceador de carga de rede | arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* |
elasticloadbalancing:DescribeLoadBalancers (Criar, Excluir) 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 (Excluir) |
Balanceador de carga do servidor de API do Kubernetes | Permissões da API do balanceador de carga Elastic |
Grupo de destino | arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* |
elasticloadbalancing:DescribeTargetGroups (Criar, Atualizar, Excluir)elasticloadbalancing:DescribeTargetHealth (Criar, Atualizar)elasticloadbalancing:CreateTargetGroup (Criar)elasticloadbalancing:ModifyTargetGroupAttributes (Criar)ec2:DescribeInternetGateways (Criar)ec2:DescribeVpcs (Criar)elasticloadbalancing:DeleteTargetGroup (Excluir) |
Grupo de destino para https | Permissões da API do balanceador de carga Elastic |
Grupo de destino | Grupo de destino para HTTPS para o agente da Konnectivity | |||
Listener | arn:aws:elasticloadbalancing:*:*:listener/net/gke-* |
elasticloadbalancing:CreateListener (Criar)elasticloadbalancing:DeleteListener (Excluir)
elasticloadbalancing:DescribeListeners (Excluir)elasticloadbalancing:DeleteListener (Excluir) |
Listener para https | |
Listener | Listener de https para agente konnectivity | |||
Volume | arn:aws:ec2:*:*:volume/vol-* |
ec2:CreateVolume (Criar)ec2:CreateTags (Criar)ec2:DeleteVolume (Excluir) |
Volumes do etcd | |
Interface de rede | arn:aws:ec2:*:*:network-interface/eni-* |
ec2:DescribeNetworkInterfaces Atualizarec2:CreateNetworkInterface (Criar)ec2:CreateTags (Criar)ec2:ModifyNetworkInterfaceAttribute (Atualizar)ec2:DeleteNetworkInterface (Excluir) |
NICs do etcd | |
Abrir modelo | arn:aws:ec2:*:*:launch-template/lt-* |
ec2:CreateLaunchTemplate (Criar, Atualizar)ec2:CreateTags (Criar, Atualizar)ec2:DeleteLaunchTemplate (Excluir) |
Modelo de lançamento para instâncias do plano de controle | |
Abrir modelo | Modelo de lançamento para instâncias de pool de nós | |||
Grupo de escalonamento automático | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
autoscaling:DescribeAutoScalingGroups (Criar, Atualizar, Excluir)autoscaling:CreateAutoScalingGroup (Criar)autoscaling:CreateOrUpdateTags (Atualizar)autoscaling:UpdateAutoScalingGroup (Atualizar, Excluir)autoscaling:TerminateInstanceInAutoScalingGroup (Atualizar)autoscaling:DeleteTags Atualizar, (Excluir)autoscaling:DeleteAutoScalingGroup (Excluir)iam:CreateServiceLinkedRole (Criar)ec2:RunInstances (Criar)iam:PassRole (Criar) |
grupos de escalonamento automático para instâncias de plano de controle | Permissões de API necessárias para o escalonamento automático do Amazon EC2 |
Grupo de escalonamento automático | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
grupos de escalonamento automático para instâncias de pools de nós | Permissões necessárias para criar um papel vinculado ao serviço | |
Pares de chaves EC2 | ec2:DescribeKeyPairs (Criar) |
Para garantir que o par de chaves EC2 usado para fazer login nas máquinas do cluster exista. | ||
Sub-redes | ec2:DescribeSubnets (Criar) |
Acesso a sub-redes adicionais na VPC | ||
VPC | ec2:DescribeVpcs (Criar) |
Informações sobre a VPC da AWS | ||
Saída do console do EC2 | ec2:GetConsoleOutput (Criar, Atualizar) |
Verificar se há erros nos registros do console | ||
Chave KMS | For more information on KMS key policies for GKE on AWS
Creating KMS keys with specific permissions
|
Política do IAM para o papel do plano de controle
Finalidade | Permissão necessária | Referência |
---|---|---|
Escalonador 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 |
Criador de snapshot do CSI | Criador de Snapshot do Kubernetes externo |
Agente de nó do GKE na AWS Anexar a placa de rede ao etcd |
ec2:AttachNetworkInterface (Criar, Atualizar) |
|
Ler a configuração de proxy do Secret Manager | secretsmanager:GetSecretValue (Criar, Atualizar) |
|
Interagir com chaves KMS | kms:Encrypt (Criar, Atualizar)kms:Decrypt (Criar, Atualizar)kms:CreateGrant (Criar, Atualizar) |
Política do IAM para do papel do pool de nós
Objetivo | Permissão necessária | Referência |
---|---|---|
Ler configuração de proxy do gerenciador de secrets | secretsmanager:GetSecretValue (Criar, Atualizar) |
|
Chave KMS para descriptografar a criptografia da configuração do pool de nós | kms:Decrypt (Criar, Atualizar) |
Criar uma chave KMS da AWS |