Lista de funções do AWS IAM

As tabelas nesta página listam todas as permissões usadas na criação das funções padrão do AWS IAM. Para criar essas políticas com permissões padrão, consulte Criar funções do AWS IAM .

Função de agente de serviço da API Multi-Cloud do GKE
A API Multi-Cloud do GKE usa esta função do AWS IAM para gerenciar recursos usando APIs da AWS. Essa função é usada por uma conta de serviço gerenciada pelo Google, conhecida como agente de serviço .
Função AWS IAM do plano de controle
O plano de controle do cluster usa essa função para controlar pools de nós.
Função AWS IAM do pool de nós
O plano de controle usa essa função para criar VMs de pool de nós.

Dependendo dos requisitos da sua organização, você pode optar por criar políticas personalizadas do AWS IAM para o GKE na AWS para gerenciar seus clusters. Essas políticas substituirão as versões padrão. Em seguida, você as aplica às funções do AWS IAM e as fornece ao criar um cluster.

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

Para criar essas políticas, escolha o nível em que deseja restringir seus recursos. Por exemplo, você pode restringir uma política a uma VPC específica da AWS usando o Nome de Recurso da Amazon (ARN) da VPC. Para obter mais informações, consulte Controlando o acesso a recursos da AWS usando políticas .

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

Tipo de recurso ARN Permissão necessária Propósito 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 avião de controle
Grupo de Segurança Grupo de segurança do pool de nós
Regra do 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 do Grupo de Segurança ec2:AuthorizeSecurityGroupIngress (Criar)
ec2:RevokeSecurityGroupIngress (Excluir)
ec2:CreateTags (Criar)
Regra de grupo de segurança de entrada do plano de controle
Regra do 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 do Grupo de Segurança ec2:AuthorizeSecurityGroupIngress (Criar)
ec2:RevokeSecurityGroupIngress (Excluir)
ec2:CreateTags (Criar)
Regra de 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 de balanceamento de carga elástica
Grupo-alvo 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-alvo para https Permissões da API de balanceamento de carga elástica
Grupo-alvo Grupo-alvo para https para agente de conectividade
Ouvinte arn:aws:elasticloadbalancing:*:*:listener/net/gke-* elasticloadbalancing:CreateListener (Criar)
elasticloadbalancing:DeleteListener (Excluir) elasticloadbalancing:DescribeListeners (Excluir)
elasticloadbalancing:DeleteListener (Excluir)
Ouvinte para https
Ouvinte Ouvinte para https para agente de conectividade
Volume arn:aws:ec2:*:*:volume/vol-* ec2:CreateVolume (Criar)
ec2:CreateTags (Criar)
ec2:DeleteVolume (Excluir)
volumes etcd
Interface de rede arn:aws:ec2:*:*:network-interface/eni-* ec2:DescribeNetworkInterfaces
ec2:CreateNetworkInterface (Criar)
ec2:CreateTags (Criar)
ec2:ModifyNetworkInterfaceAttribute (Atualização)
ec2:DeleteNetworkInterface (Excluir)
NICs etcd
Modelo de lançamento arn:aws:ec2:*:*:launch-template/lt-* ec2:CreateLaunchTemplate (Criar, Atualizar)
ec2:CreateTags (Criar, Atualizar)
ec2:DeleteLaunchTemplate (Excluir)
Modelo de inicialização para instâncias do plano de controle
Modelo de lançamento Modelo de inicialização para instâncias de pool de nós
Grupo de dimensionamento automático arn:aws:autoscaling:*:*:autoScalingGroup:*: autoScalingGroupName/gke-* autoscaling:DescribeAutoScalingGroups (Criar, Atualizar, Excluir)
autoscaling:CreateAutoScalingGroup (Criar)
autoscaling:CreateOrUpdateTags (Atualização)
autoscaling:UpdateAutoScalingGroup (Atualizar, Excluir)
autoscaling:TerminateInstanceInAutoScalingGroup (atualização)
autoscaling:DeleteTags , (Excluir)
autoscaling:DeleteAutoScalingGroup (Excluir)
iam:CreateServiceLinkedRole (Criar)
ec2:RunInstances (Criar)
iam:PassRole (Criar)
grupos de dimensionamento automático para instâncias do plano de controle Permissões de API necessárias para o dimensionamento automático do Amazon EC2
Grupo de dimensionamento automático arn:aws:autoscaling:*:*:autoScalingGroup:*: autoScalingGroupName/gke-* grupos de dimensionamento automático para instâncias de pool de nós Permissões necessárias para criar uma função vinculada 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 em sua VPC
VPC ec2:DescribeVpcs (Criar) Informações sobre sua VPC AWS
Saída do console EC2 ec2:GetConsoleOutput (Criar, Atualizar) Verifique os logs do console em busca de erros
Chave KMS For more information on KMS key policies for GKE on AWS Creating KMS keys with specific permissions

Política de IAM para função de plano de controle

Propósito Permissão necessária Referência
autoescalador de cluster 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
provedor de nuvem 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
Criar 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
driver aws-ebs-csi 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
Snapshotter CSI Snapshotter externo do Kubernetes
Agente de nó do GKE na AWS
Anexar NIC ao etcd
ec2:AttachNetworkInterface (Criar, Atualizar)
Ler a configuração do proxy do Secrets Manager secretsmanager:GetSecretValue (Criar, Atualizar)
Interaja com chaves KMS kms:Encrypt (Criar, Atualizar)
kms:Decrypt (Criar, Atualizar)
kms:CreateGrant (Criar, Atualizar)

Política do IAM para função de pool de nós

Propósito Permissão necessária Referência
Ler a configuração do proxy do gerenciador de segredos 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 AWS KMS