

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Prevención de suplentes confusos entre servicios en Amazon EKS
<a name="cross-service-confused-deputy-prevention"></a>

El problema del suplente confuso es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación entre servicios puede dar lugar al problema de la sustitución confusa. La suplantación entre servicios puede producirse cuando un servicio (el *servicio que lleva a cabo las llamadas*) llama a otro servicio (el *servicio al que se llama*). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que le ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta.

Se recomienda utilizar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las políticas de recursos para limitar los permisos que Amazon Elastic Kubernetes Service (Amazon EKS) concede a otro servicio para el recurso.

 `aws:SourceArn`   
Utilice `aws:SourceArn` para asociar solo un recurso al acceso entre servicios.

 `aws:SourceAccount`   
Utilice `aws:SourceAccount` para permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si está especificando varios recursos, utilice la clave de condición de contexto global `aws:SourceArn` con caracteres comodín (\$1) para las partes desconocidas del ARN. Por ejemplo, ` arn:aws:<servicename>:*:<123456789012>:*`.

Si el valor de `aws:SourceArn` no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, debe utilizar `aws:SourceAccount` y `aws:SourceArn` para limitar los permisos.

## Prevención de suplentes confusos entre servicios para el rol del clúster de Amazon EKS
<a name="cross-service-confused-deputy-cluster-role"></a>

Se requiere un rol de IAM de clúster de Amazon EKS para cada clúster. Los clústeres de Kubernetes administrados por Amazon EKS utilizan este rol para administrar los nodos, y el [proveedor de nube heredado](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/service/annotations/#legacy-cloud-provider) lo usa para crear equilibradores de carga con Elastic Load Balancing para los servicios. Estas acciones de clúster solo pueden afectar a la misma cuenta, por lo que recomendamos que limite cada rol del clúster a ese clúster y esa cuenta. Esta es una aplicación específica de la recomendación de AWS de seguir el *principio de privilegios mínimos* en su cuenta.

 **Formato del ARN de origen** 

El valor de `aws:SourceArn` debe ser el ARN de un clúster de EKS con el formato ` arn:aws:eks:region:account:cluster/cluster-name `. Por ejemplo, ., ` arn:aws:eks:us-west-2:123456789012:cluster/my-cluster` .

 **Formato de la política de confianza para roles de clúster de EKS** 

En el ejemplo siguiente se muestra cómo se pueden utilizar las claves de contexto de condición globales `aws:SourceArn` y `aws:SourceAccount` en Amazon EKS para evitar el problema de suplente confuso.

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster"
          },
        "StringEquals": {
            "aws:SourceAccount": "123456789012"
        }
      }
    }
  ]
}
```