Lista de roles de AWS IAM

En las tablas de esta página se enumeran todos los permisos que se usan para crear los roles de gestión de identidades y accesos de AWS predeterminados. Para crear estas políticas con permisos predeterminados, consulta Crear roles de gestión de identidades y accesos de AWS.

Rol de agente de servicio de la API de GKE Multi-cloud
La API multinube de GKE usa este rol de IAM de AWS para gestionar recursos mediante APIs de AWS. Este rol lo usa una cuenta de servicio gestionada por Google que se conoce como agente de servicio.
Rol de gestión de identidades y accesos de AWS del plano de control
El plano de control de tu clúster usa este rol para controlar los grupos de nodos.
Rol de gestión de identidades y accesos de AWS del grupo de nodos
El plano de control usa este rol para crear VMs de grupos de nodos.

En función de los requisitos de tu organización, puedes crear políticas de AWS IAM personalizadas para GKE en AWS con el fin de gestionar tus clústeres. Estas políticas sustituirán a las versiones predeterminadas. A continuación, aplica estas políticas a los roles de gestión de identidades y accesos de AWS y proporciónalos al crear un clúster.

Para obtener más información sobre la finalidad de cada rol, consulta Roles de gestión de identidades y accesos de AWS para GKE en AWS.

Para crear estas políticas, elija el nivel en el que quiera restringir sus recursos. Por ejemplo, puedes restringir una política a una VPC de AWS concreta mediante el nombre de recurso de Amazon (ARN) de la VPC. Para obtener más información, consulta Controlar el acceso a los recursos de AWS mediante políticas.

Políticas de gestión de identidades y accesos para agentes de servicio multinube de GKE

Tipo de recurso ARN Se necesita permiso Finalidad Referencia
Dentro del grupo de seguridad arn:aws:ec2:*:*:security-group/sg-* ec2:DescribeSecurityGroups (Crear, Actualizar y Eliminar)
ec2:CreateSecurityGroup (Crear)
ec2:CreateTags (Crear)
ec2:RevokeSecurityGroupEgress (Crear)
ec2:DeleteSecurityGroup (Eliminar)
Grupo de seguridad del plano de control
Dentro del grupo de seguridad Grupo de seguridad del grupo de nodos
Regla de grupo de seguridad arn:aws:ec2:*:*:security-group-rule/sgr-* ec2:AuthorizeSecurityGroupEgress (Crear)
ec2:RevokeSecurityGroupEgress (Eliminar)
ec2:CreateTags (Crear)
Regla de grupo de seguridad de salida del plano de control
Regla de grupo de seguridad ec2:AuthorizeSecurityGroupIngress (Crear)
ec2:RevokeSecurityGroupIngress (Eliminar)
ec2:CreateTags (Crear)
Regla de grupo de seguridad de entrada del plano de control
Regla de grupo de seguridad ec2:AuthorizeSecurityGroupEgress (Crear)
ec2:RevokeSecurityGroupEgress (Eliminar)
ec2:CreateTags (Crear)
Regla de grupo de seguridad de salida del plano de control
Regla de grupo de seguridad ec2:AuthorizeSecurityGroupIngress (Crear)
ec2:RevokeSecurityGroupIngress (Eliminar)
ec2:CreateTags (Crear)
Regla de grupo de seguridad de entrada del plano de control
Balanceador de carga de red arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* elasticloadbalancing:DescribeLoadBalancers (Crear, Eliminar)
elasticloadbalancing:CreateLoadBalancer (Crear)
ec2:CreateSecurityGroup (Crear)
ec2:DescribeAccountAttributes (Crear)
ec2:DescribeInternetGateways (Crear)
ec2:DescribeSecurityGroups (Crear)
ec2:DescribeSubnets (Crear)
ec2:DescribeVpcs (Crear)
iam:CreateServiceLinkedRole (Crear)
elasticloadbalancing:DeleteLoadBalancer (Eliminar)
Balanceador de carga del servidor de la API de Kubernetes Permisos de la API Elastic Load Balancing
Grupo objetivo arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* elasticloadbalancing:DescribeTargetGroups (crear, actualizar y eliminar)
elasticloadbalancing:DescribeTargetHealth (crear y actualizar)
elasticloadbalancing:CreateTargetGroup (crear)
elasticloadbalancing:ModifyTargetGroupAttributes (crear)
ec2:DescribeInternetGateways (crear)
ec2:DescribeVpcs (crear)
elasticloadbalancing:DeleteTargetGroup (eliminar)
Grupo de destino de HTTPS Permisos de la API Elastic Load Balancing
Grupo objetivo Grupo de destino de https para el agente de conectividad
Procesador arn:aws:elasticloadbalancing:*:*:listener/net/gke-* elasticloadbalancing:CreateListener (Crear)
elasticloadbalancing:DeleteListener (Eliminar) elasticloadbalancing:DescribeListeners (Eliminar)
elasticloadbalancing:DeleteListener (Eliminar)
Procesador de HTTPS
Procesador Listener para https para el agente de conectividad
Volumen arn:aws:ec2:*:*:volume/vol-* ec2:CreateVolume (Crear)
ec2:CreateTags (Crear)
ec2:DeleteVolume (Eliminar)
Volúmenes de etcd
Interfaz de red arn:aws:ec2:*:*:network-interface/eni-* ec2:DescribeNetworkInterfaces Actualizar
ec2:CreateNetworkInterface (Crear)
ec2:CreateTags (Crear)
ec2:ModifyNetworkInterfaceAttribute (Actualizar)
ec2:DeleteNetworkInterface (Eliminar)
NICs de etcd
Plantilla de lanzamiento arn:aws:ec2:*:*:launch-template/lt-* ec2:CreateLaunchTemplate (crear, actualizar)
ec2:CreateTags (crear, actualizar)
ec2:DeleteLaunchTemplate (eliminar)
Plantilla de lanzamiento de instancias del plano de control
Plantilla de lanzamiento Plantilla de lanzamiento de instancias de un grupo de nodos
Grupo de escalado automático arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* autoscaling:DescribeAutoScalingGroups (Crear, Actualizar, Eliminar)
autoscaling:CreateAutoScalingGroup (Crear)
autoscaling:CreateOrUpdateTags (Actualizar)
autoscaling:UpdateAutoScalingGroup (Actualizar, Eliminar)
autoscaling:TerminateInstanceInAutoScalingGroup (Actualizar)
autoscaling:DeleteTags Actualizar, (Eliminar)
autoscaling:DeleteAutoScalingGroup (Eliminar)
iam:CreateServiceLinkedRole (Crear)
ec2:RunInstances (Crear)
iam:PassRole (Crear)
Grupos de auto escalado de instancias del plano de control Permisos de API necesarios para Amazon EC2 Auto Scaling
Grupo de escalado automático arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/gke-* Grupos de escalado automático de instancias de grupos de nodos Permisos necesarios para crear un rol vinculado a un servicio
Pares de claves de EC2 ec2:DescribeKeyPairs (Crear) Para asegurarse de que existe el par de claves de EC2 que se usa para iniciar sesión en las máquinas del clúster.
Subredes ec2:DescribeSubnets (Crear) Acceso a subredes adicionales en tu VPC
VPC ec2:DescribeVpcs (Crear) Información sobre tu VPC de AWS
Salida de la consola de EC2 ec2:GetConsoleOutput (crear, actualizar) Consultar los registros de la consola para ver si hay errores
Clave KMS For more information on KMS key policies for GKE on AWS Creating KMS keys with specific permissions

Política de gestión de identidades y accesos para el rol del plano de control

Finalidad Se necesita permiso Referencia
Herramienta de adaptación dinámica de clústeres autoscaling:DescribeAutoScalingGroups (Crear, Actualizar)
autoscaling:DescribeAutoScalingInstances (Crear, Actualizar)
autoscaling:DescribeLaunchConfigurations (Crear, Actualizar)
autoscaling:DescribeTags (Crear, Actualizar)
ec2:DescribeInstanceTypes (Crear, Actualizar)
ec2:DescribeLaunchTemplateVersions (Crear, Actualizar)
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 (Crear)
ec2:DescribeInstances (Crear)
ec2:DescribeRegions
ec2:DescribeRouteTables
ec2:DescribeSecurityGroups
ec2:DescribeSubnets
ec2:DescribeVolumes
ec2:CreateSecurityGroup
ec2:CreateTags
ec2:CreateVolume
ec2:ModifyInstanceAttribute
ec2:ModifyVolume
ec2:AttachVolume (Crear)
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
Crear 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
Capturador de CSI External Snapshotter de Kubernetes
Agente de nodo de GKE en AWS
Asignar NIC a etcd
ec2:AttachNetworkInterface (crear, actualizar)
Leer la configuración de proxy de Secret Manager secretsmanager:GetSecretValue (crear, actualizar)
Interactuar con claves de KMS kms:Encrypt (Crear, Actualizar)
kms:Decrypt (Crear, Actualizar)
kms:CreateGrant (Crear, Actualizar)

Política de gestión de identidades y accesos para el rol del grupo de nodos

Finalidad Se necesita permiso Referencia
Leer la configuración de proxy del gestor de secretos secretsmanager:GetSecretValue (crear, actualizar)
Clave de KMS para descifrar el cifrado de la configuración del grupo de nodos kms:Decrypt (crear, actualizar) Crear una clave de KMS de AWS