Variables de política básicas AWS IoT Core - AWS IoT Core

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.

Variables de política básicas AWS IoT Core

AWS IoT Core define las siguientes variables de política básicas:

  • iot:ClientId: el ID de cliente que se utiliza para conectarse con el agente de mensajes de AWS IoT Core .

  • aws:SourceIp: la dirección IP del cliente conectado al agente de AWS IoT Core mensajes.

La siguiente AWS IoT Core política muestra una política que utiliza variables de política. aws:SourceIpse puede usar en el elemento Condición de tu política para permitir que los directores realicen solicitudes a la API solo dentro de un rango de direcciones específico. Para ver ejemplos, consulte Autorización de los usuarios y los servicios en la nube para usar Jobs de AWS IoT.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientid1" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/my/topic/${iot:ClientId}" ], "Condition": { "IpAddress": { "aws:SourceIp": "123.45.167.89" } } } ] }

En estos ejemplos, ${iot:ClientId} se sustituye por el ID del cliente conectado al agente de AWS IoT Core mensajes cuando se evalúa la política. Cuando utiliza variables de la política como ${iot:ClientId}, puede abrir de forma accidental el acceso a temas que no quería incluir. Por ejemplo, si utiliza una política que utiliza ${iot:ClientId} para especificar un filtro de temas:

{ "Effect": "Allow", "Action": ["iot:Subscribe"], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/my/${iot:ClientId}/topic" ] }

Un cliente puede conectarse usando + como ID de cliente. Esto puede permitir al usuario suscribirse a cualquier tema que coincida con el filtro de temas my/+/topic. Como protección contra estas deficiencias de seguridad, utilice la acción de política iot:Connect para controlar los ID de cliente que pueden conectarse. Por ejemplo, esta política permite conectarse únicamente a los clientes cuyo ID de cliente sea clientid1:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iot:Connect"], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientid1" ] } ] }
nota

No se recomienda utilizar la variable de política ${iot:ClientId} con Connect. No se comprueba el valor de ClientId, por lo que un asociador con un identificador de cliente diferente puede superar la validación pero provocar la desconexión. Como cualquier ClientId está permitido, si se establece un ID de cliente aleatorio, se pueden omitir las políticas de los grupos de objetos.