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. Después, 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 del 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 Actualizarec2: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:*: |
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:*: |
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:SetDesiredCapacityautoscaling:TerminateInstanceInAutoScalingGroup |
https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md |
| cloud-provider-aws | autoscaling:DescribeAutoScalingGroupsautoscaling:DescribeLaunchConfigurationsautoscaling:DescribeTags (Crear)ec2:DescribeInstances (Crear)ec2:DescribeRegionsec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVolumesec2:CreateSecurityGroupec2:CreateTagsec2:CreateVolumeec2:ModifyInstanceAttributeec2:ModifyVolumeec2:AttachVolume (Crear)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 |
| Crear 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 |
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 |