

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cross-service prevención de diputados confusos
<a name="cross-service-confused-deputy-prevention"></a>

El problema de la sustitución confusa 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 de identidad entre servicios puede provocar el confuso problema de un diputado. Cross-service *la suplantación de identidad puede producirse cuando un servicio (el servicio de 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 lo 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 Comprehend concede a otro servicio para el recurso. Si se utilizan ambas claves contextuales de condición global, el valor `aws:SourceAccount` y la cuenta del valor `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utilicen en la misma declaración de política.

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 especifica varios recursos, utiliza la clave de condición de contexto global `aws:SourceArn` con comodines (`*`) para las partes desconocidas del ARN. Por ejemplo, `arn:aws:{{servicename}}::{{123456789012}}:*`. 

## Uso de la cuenta de origen
<a name="confused-deputy-prevention-ex1"></a>

En el siguiente ejemplo, se muestra cómo puede utilizar la clave de contexto de condición global `aws:SourceAccount` en Amazon Comprehend. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
          "Service": "comprehend.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
             "aws:SourceAccount":"{{111122223333}}"
        }
    }
  }
}
```

------

## Política de confianza para los puntos de conexión de los modelos cifrados
<a name="confused-deputy-prevention-ex2"></a>

Debe crear una política de confianza para crear o actualizar un punto de conexión para un modelo cifrado. Configure el valor `aws:SourceAccount` en el ID de su cuenta. Si usa la condición `ArnEquals`, configure el valor `aws:SourceArn` en el ARN del punto de conexión. 

------
#### [ JSON ]

****  

```
{
 "Version":"2012-10-17",		 	 	 
 "Statement": [
    {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
            "Service": "comprehend.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "StringEquals": {
               "aws:SourceAccount": "{{111122223333}}"
            },
            "ArnEquals": {
               "aws:SourceArn": "arn:aws:comprehend:{{us-west-2:111122223333}}:document-classifier-endpoint/{{endpoint-name}}"
            }
        }
    }
  ]
}
```

------

## Cómo crear modelos personalizados
<a name="confused-deputy-prevention-ex3"></a>

Debe crear una política de confianza para crear un modelo personalizado. Configure el valor `aws:SourceAccount` en el ID de su cuenta. Si usa la condición `ArnEquals`, configure el valor `aws:SourceArn` en el ARN de la versión del modelo personalizado. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "comprehend.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{111122223333}}"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:comprehend:{{us-west-2:111122223333}}:document-classifier/smallest-classifier-test/version/{{version-name}}"
                }
            }
        }
    ]
}
```

------