

Aviso de fin del soporte: el 15 de diciembre de 2025, AWS finalizará el soporte para AWS IoT Analytics. Después del 15 de diciembre de 2025, ya no podrás acceder a la AWS IoT Analytics consola ni a AWS IoT Analytics los recursos. Para obtener más información, consulta [AWS IoT Analytics el fin del soporte](https://docs.aws.amazon.com/iotanalytics/latest/userguide/iotanalytics-end-of-support.html).

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.

# Prevención de la sustitución confusa entre servicios
<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 un confuso problema de diputado. La suplantación entre servicios puedes 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 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. 

Recomendamos utilizar las claves de contexto de condición global de [`aws:SourceArn`](https://docs.aws.amazon.com/ IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [`aws:SourceAccount`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las políticas de recursos. Esto limita los permisos que se AWS IoT Analytics otorgan a otro servicio al 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 del suplente confuso es utilizar la clave de contexto de condición global de `aws:SourceArn` con el nombre de recurso de Amazon (ARN) completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utilice la clave de condición de contexto global `aws:SourceArn` con comodines (`*`) para las partes desconocidas del ARN. Por ejemplo, `arn:aws:{{iotanalytics}}::{{123456789012}}:*`. 

**Topics**
+ [Prevención de los buckets de Amazon S3](#confused-deputy-prevention-with-S3)
+ [Prevención con Amazon CloudWatch Logs](#confused-deputy-prevention-with-cloudwatch-logs)
+ [Prevención confusa de los AWS IoT Analytics recursos gestionados por los clientes](#confused-deputy-prevention-for-resources-with-customer-managed-storage)

## Prevención de los buckets de Amazon S3
<a name="confused-deputy-prevention-with-S3"></a>

Si utiliza el almacenamiento Amazon S3 gestionado por el cliente para su almacén de AWS IoT Analytics datos, el depósito de Amazon S3 que almacena sus datos puede estar expuesto a problemas secundarios confusos.

Por ejemplo, Nikki Wolf usa un bucket de Amazon S3 propiedad de un cliente llamado{{DOC-EXAMPLE-BUCKET}}. El depósito almacena la información de un almacén de AWS IoT Analytics datos que se creó en la región{{us-east-1}}. Especifica una política que permite al director del AWS IoT Analytics servicio realizar consultas {{DOC-EXAMPLE-BUCKET}} en su nombre. La compañera de trabajo de Nikki, Li Juan, consulta {{DOC-EXAMPLE-BUCKET}} desde su propia cuenta y crea un conjunto de datos con los resultados. Como resultado, el director del AWS IoT Analytics servicio consultó el bucket Amazon S3 de Nikki en nombre de Li, a pesar de que Li ejecutó la consulta desde su cuenta. 

Para evitarlo, Nikki puede especificar la `aws:SourceAccount` condición o la `aws:SourceArn` condición de la política. {{DOC-EXAMPLE-BUCKET}}

**Especifique la `aws:SourceAccount` condición**: el siguiente ejemplo de política de bucket especifica que solo pueden acceder los AWS IoT Analytics recursos de la cuenta ({{123456789012}}) de Nikki. {{DOC-EXAMPLE-BUCKET}} 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "MyPolicyID",
    "Statement": [
        {
            "Sid": "ConfusedDeputyPreventionExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "iotanalytics.amazonaws.com"
            },
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:*:*:{{amzn-s3-demo-bucket}}",
                "arn:aws:s3:*:*:{{amzn-s3-demo-bucket}}/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                }
            }
        }
    ]
}
```

------

**Especificar la condición `aws:SourceArn`**: como alternativa, Nikki puede usar la condición `aws:SourceArn`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "MyPolicyID",
    "Statement": [
        {
            "Sid": "ConfusedDeputyPreventionExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "iotanalytics.amazonaws.com"
            },
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:*:*:{{amzn-s3-demo-bucket}}",
                "arn:aws:s3:*:*:{{amzn-s3-demo-bucket}}/*"
            ],
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": [
                        "arn:aws:iotanalytics:{{us-east-1}}:{{123456789012}}:dataset/{{your-dataset}}",
                        "arn:aws:iotanalytics:{{us-east-1}}:{{123456789012}}:datastore/{{your-datastore}}"
                    ]
                }
            }
        }
    ]
}
```

------

## Prevención con Amazon CloudWatch Logs
<a name="confused-deputy-prevention-with-cloudwatch-logs"></a>

Puedes evitar el confuso problema de los diputados mientras monitorizas con Amazon CloudWatch Logs. La siguiente política de recursos muestra cómo evitar el problema de suplente confuso con: 
+ Clave de contexto de condición global, `aws:SourceArn`
+ O `aws:SourceAccount` con tu ID AWS de cuenta
+ El recurso de cliente asociado a la `sts:AssumeRole` solicitud en AWS IoT Analytics

{{123456789012}}Reemplácelo por su ID de AWS cuenta y {{us-east-1}} por la región de su AWS IoT Analytics cuenta en el siguiente ejemplo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "iotanalytics.amazonaws.com"
            },
            "Action": "logs:PutLogEvents",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:iotanalytics:{{us-east-1}}:{{123456789012}}:*/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                }
            }
        }
    ]
}
```

------

Para obtener más información sobre cómo habilitar y configurar Amazon CloudWatch Logs, consulte[Inicio de sesión y supervisión AWS IoT Analytics](monitoring.md).

## Prevención confusa de los AWS IoT Analytics recursos gestionados por los clientes
<a name="confused-deputy-prevention-for-resources-with-customer-managed-storage"></a>

Si concedes AWS IoT Analytics permiso para realizar acciones con tus AWS IoT Analytics recursos, es posible que los recursos se vean expuestos a confusos problemas de administración. Para evitar el confuso problema de los diputados, puedes limitar los permisos que se conceden AWS IoT Analytics con el siguiente ejemplo de políticas de recursos.

**Topics**
+ [Prevención de AWS IoT Analytics canales y almacenes de datos](#confused-deputy-prevention-for-channels-and-datastores)
+ [Normas de distribución de contenido de AWS IoT Analytics conjuntos de datos confusas entre servicios](#confused-deputy-prevention-for-dataset-content-delivery)

### Prevención de AWS IoT Analytics canales y almacenes de datos
<a name="confused-deputy-prevention-for-channels-and-datastores"></a>

Utiliza las funciones de IAM para controlar los AWS recursos a los que AWS IoT Analytics puede acceder en su nombre. Para evitar exponer su función al confuso problema de diputado, puede especificar la AWS cuenta en el `aws:SourceAccount` elemento y el ARN del AWS IoT Analytics recurso en el `aws:SourceArn` elemento de la política de confianza que asocie a una función.

En el siguiente ejemplo, {{123456789012}} sustitúyalo por tu ID de AWS cuenta y {{arn:aws:iotanalytics:{{aws-region}}:123456789012:channel/DOC-EXAMPLE-CHANNEL}} por el ARN de un AWS IoT Analytics canal o almacén de datos.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfusedDeputyPreventionExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "iotanalytics.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:iotanalytics:{{us-east-1}}:{{123456789012}}:{{channel}}/{{your-channel}}"
                }
            }
        }
    ]
}
```

------

Para obtener más información sobre las opciones de almacenamiento S3 administrado por el cliente para canales y almacenes de datos, consulte [`CustomerManagedChannelS3Storage`](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_CustomerManagedChannelS3Storage.html) y [`CustomerManagedDatastoreS3Storage`](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_CustomerManagedDatastoreS3Storage.html) en la *Referencia de la API de AWS IoT Analytics *. 

### Normas de distribución de contenido de AWS IoT Analytics conjuntos de datos confusas entre servicios
<a name="confused-deputy-prevention-for-dataset-content-delivery"></a>

La función de IAM que AWS IoT Analytics asume entregar los resultados de las consultas del conjunto de datos a Amazon S3 o AWS IoT Events puede estar expuesta a problemas secundarios confusos. Para evitar el confuso problema de los diputados, especifique la AWS cuenta en el `aws:SourceAccount` elemento y el ARN del AWS IoT Analytics recurso en el `aws:SourceArn` elemento de la política de confianza que adjunta a su función.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfusedDeputyPreventionExampleTrustPolicyDocument",
            "Effect": "Allow",
            "Principal": {
                "Service": "iotanalytics.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:iotanalytics:{{us-east-1}}:{{123456789012}}:dataset/{{your-dataset}}"
                }
            }
        }
    ]
}
```

------

Para obtener más información sobre la configuración de las reglas de entrega del contenido del conjunto de datos, consulte [`contentDeliveryRules`](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_CreateDataset.html#iotanalytics-CreateDataset-request-contentDeliveryRules) en la *Referencia de la API de AWS IoT Analytics *. 