Autorizar sus dispositivos para que utilicen AWS IoT Jobs de forma segura en el plano de datos - 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.

Autorizar sus dispositivos para que utilicen AWS IoT Jobs de forma segura en el plano de datos

Para autorizar que tus dispositivos interactúen de forma segura con AWS IoT Jobs en el plano de datos, debes usar AWS IoT Core políticas. AWS IoT Core las políticas de empleo son JSON documentos que contienen declaraciones de políticas. Estas políticas también utilizan elementos de efecto, acción y recurso, y siguen una convención similar a la de IAM las políticas. Para obtener más información sobre los elementos, consulte la referencia a los elementos de IAM JSON política en la guía del IAM usuario.

Las políticas se pueden usar con ambos HTTPS protocolos MQTT y deben usar TCP una autenticación TLS mutua para autenticar los dispositivos. A continuación, se muestra cómo utilizar estas políticas en los distintos protocolos de comunicación.

aviso

Le recomendamos que no utilice permisos comodín, como "Action": ["iot:*"] en sus IAM políticas o AWS IoT Core políticas. El uso de permisos comodín no es una práctica recomendada de seguridad. Para obtener más información, consulta la AWS IoT política excesivamente permisiva.

AWS IoT Core políticas de protocolo MQTT

AWS IoT Core las políticas de MQTT protocolo le otorgan permisos para usar las MQTT API acciones del dispositivo de tareas. Las MQTT API operaciones se utilizan para trabajar con MQTT temas que están reservados para los comandos de jobs. Para obtener más información sobre estas API operaciones, consulteOperaciones de la API MQTT de dispositivos de Jobs.

MQTTlas políticas utilizan acciones políticas comoiot:Connect, iot:Publishiot:Subscribe, y iot:Receieve para trabajar con los temas relacionados con los puestos de trabajo. Estas políticas le permiten conectarse al intermediario de mensajes, suscribirse a los MQTT temas de empleo y enviar y recibir MQTT mensajes entre sus dispositivos y la nube. Para obtener más información sobre estas acciones, consulte AWS IoT Core acciones políticas.

Para obtener información sobre los temas de AWS IoT Jobs, consulteTemas de trabajos.

El siguiente ejemplo muestra cómo puede utilizar iot:Publish y iot:Subscribe para publicar trabajos y ejecuciones de trabajos y suscribirse a ellos.

En el ejemplo, sustituya:

  • region con tu Región de AWS, comous-east-1.

  • account-id con tu Cuenta de AWS número, como57EXAMPLE833.

  • thing-name con el nombre de tu negocio de IoT al que te diriges a los trabajos, por ejemploMyIoTThing.

{ "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe" ], "Resource": [ "arn:aws:iot:region:account-id:topic/$aws/events/job/*", "arn:aws:iot:region:account-id:topic/$aws/events/jobExecution/*", "arn:aws:iot:region:account-id:topic/$aws/things/thing-name/jobs/*" ] } ], "Version": "2012-10-17" }

AWS IoT Core políticas de HTTPS protocolo

AWS IoT Core las políticas del plano de datos también pueden utilizar el HTTPS protocolo con el mecanismo de TLS autenticación para autorizar sus dispositivos. En el plano de los datos, las políticas utilizan el iotjobsdata: prefijo para autorizar API las tareas y operaciones que pueden realizar sus dispositivos. Por ejemplo, la acción iotjobsdata:DescribeJobExecution política otorga al usuario permiso para usar el DescribeJobExecutionAPI.

nota

Las acciones de política del plano de datos deben usar el prefijo iotjobsdata:. En el plano de control, las acciones deben usar el prefijo iot:. Para ver un ejemplo IAM de política en el que se utilizan acciones de política tanto del plano de control como del plano de datos, consulteIAMejemplo de política tanto para el plano de control como para el plano de datos.

En la siguiente tabla se muestra una lista de acciones AWS IoT Core políticas y permisos para autorizar a los dispositivos a utilizar las API acciones. Para obtener una lista de API las operaciones que puede realizar en el plano de datos, consulteAPI HTTP de dispositivos de Jobs.

nota

Estas acciones de política de ejecución de tareas se aplican solo al HTTP TLS punto final. Si usa el MQTT punto final, debe usar las acciones MQTT de política definidas anteriormente.

AWS IoT Core acciones políticas en el plano de datos
Acción de política APIoperación Tipos de recurso Descripción
iotjobsdata:DescribeJobExecution DescribeJobExecution
  • job

  • thing

Representa el permiso para recuperar una ejecución de trabajo. El permiso iotjobsdata:DescribeJobExecution se comprueba cada vez que se presenta una solicitud para recuperar la ejecución de un trabajo.
iotjobsdata:GetPendingJobExecutions GetPendingJobExecutions thing Representa el permiso para recuperar la lista de trabajos que no están en un estado final para un objeto. El permiso iotjobsdata:GetPendingJobExecutions se comprueba cada vez que se presenta una solicitud para recuperar la lista.
iotjobsdata:StartNextPendingJobExecution StartNextPendingJobExecution thing Representa el permiso para obtener e iniciar la próxima ejecución de trabajo pendiente para un objeto, es decir, para actualizar una ejecución de trabajo con un estado QUEUED a IN_PROGRESS. El permiso iotjobsdata:StartNextPendingJobExecution se comprueba cada vez que se presenta una solicitud para iniciar la siguiente ejecución de trabajo pendiente.
iotjobsdata:UpdateJobExecution UpdateJobExecution thing Representa el permiso para actualizar una ejecución de trabajo. El permiso iotjobsdata:UpdateJobExecution se comprueba cada vez que se presenta una solicitud para actualizar el estado de una ejecución de trabajo.

A continuación se muestra un ejemplo de una AWS IoT Core política que otorga permiso para realizar las acciones en las API operaciones del plano de datos para cualquier recurso. Puede limitar la política a un recurso específico, como un objeto de IoT. En el ejemplo, sustituya:

  • region con tus Región de AWS , comous-east-1.

  • account-id con tu Cuenta de AWS número, como57EXAMPLE833.

  • thing-name con el nombre del IoT, comoMyIoTthing.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iotjobsdata:GetPendingJobExecutions", "iotjobsdata:StartNextPendingJobExecution", "iotjobsdata:DescribeJobExecution", "iotjobsdata:UpdateJobExecution" ], "Effect": "Allow", "Resource": "arn:aws:iot:region:account-id:thing/thing-name" } ] }

Un ejemplo de cuándo debe usar estas políticas puede ser cuando sus dispositivos de IoT usan una AWS IoT Core política para acceder a una de estas API operaciones, como el siguiente ejemplo de DescribeJobExecutionAPI:

GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument&namespaceId=namespaceId HTTP/1.1