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