Autorizando seus dispositivos a usar AWS IoT Jobs com segurança no plano de dados - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Autorizando seus dispositivos a usar AWS IoT Jobs com segurança no plano de dados

Para autorizar seus dispositivos a interagir de forma segura com AWS IoT Jobs no plano de dados, você deve usar políticas. AWS IoT Core AWS IoT Core políticas para empregos são JSON documentos que contêm declarações de políticas. Essas políticas também usam elementos de efeito, ação e recurso e seguem uma convenção semelhante às IAM políticas. Para obter mais informações sobre os elementos, consulte Referência IAM JSON de elementos de política no Guia IAM do usuário.

As políticas podem ser usadas com HTTPS protocolos MQTT e devem usar TCP autenticação TLS mútua para autenticar os dispositivos. Veja a seguir como usar essas políticas nos diferentes protocolos de comunicação.

Atenção

Recomendamos que você não use permissões curinga, como "Action": ["iot:*"] em suas IAM políticas ou AWS IoT Core políticas. Usar permissões curinga não é uma prática recomendada de segurança. Para obter mais informações, consulte a AWS IoT política excessivamente permissiva.

AWS IoT Core políticas para MQTT protocolo

AWS IoT Core as políticas de MQTT protocolo concedem a você permissões para usar as MQTT API ações do dispositivo de tarefas. As MQTT API operações são usadas para trabalhar com MQTT tópicos reservados para comandos de tarefas. Para obter mais informações sobre essas API operações, consulteOperações da API MQTT do dispositivo de trabalhos.

MQTTas políticas usam ações políticas comoiot:Connect,iot:Publish,iot:Subscribe, e iot:Receieve para trabalhar com os tópicos de empregos. Essas políticas permitem que você se conecte ao agente de mensagens, assine os MQTT tópicos de trabalhos e envie e receba MQTT mensagens entre seus dispositivos e a nuvem. Para obter mais informações sobre essas ações, consulte AWS IoT Core ações políticas.

Para obter informações sobre tópicos para AWS IoT trabalhos, consulteTópicos de trabalhos.

O exemplo a seguir mostra como você pode usar iot:Publish e iot:Subscribe para publicar e assinar trabalhos e execuções de trabalhos.

No exemplo, substitua:

  • region com o seu Região da AWS, comous-east-1.

  • account-id com seu Conta da AWS número, como57EXAMPLE833.

  • thing-name com o nome da sua coisa de IoT para a qual você está segmentando trabalhos, como. MyIoTThing

{ "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 para HTTPS protocolo

AWS IoT Core as políticas no plano de dados também podem usar o HTTPS protocolo com o mecanismo de TLS autenticação para autorizar seus dispositivos. No plano de dados, as políticas usam o iotjobsdata: prefixo para autorizar API as operações de trabalhos que seus dispositivos podem realizar. Por exemplo, a ação iotjobsdata:DescribeJobExecution política concede ao usuário permissão para usar DescribeJobExecutionAPIo.

nota

As ações da política do plano de dados devem usar o prefixo iotjobsdata:. No ambiente de gerenciamento, as ações devem usar o prefixo iot:. Para obter um exemplo IAM de política quando as ações de política do plano de controle e do plano de dados são usadas, consulteIAMexemplo de política para plano de controle e plano de dados.

A tabela a seguir mostra uma lista de ações de AWS IoT Core políticas e permissões para autorizar dispositivos a usar as API ações. Para obter uma lista das API operações que você pode realizar no plano de dados, consulteAPI HTTP do dispositivo do Jobs.

nota

Essas ações de política de execução de tarefas se aplicam somente ao HTTP TLS endpoint. Se você usar o MQTT endpoint, deverá usar as ações MQTT de política definidas anteriormente.

AWS IoT Core ações políticas no plano de dados
Ação de política APIoperação Tipos de recursos Descrição
iotjobsdata:DescribeJobExecution DescribeJobExecution
  • trabalho

  • objeto

Representa a permissão para recuperar uma execução de trabalho. A permissão iotjobsdata:DescribeJobExecution é verificada sempre que é feita uma solicitação para recuperar uma execução de trabalho.
iotjobsdata:GetPendingJobExecutions GetPendingJobExecutions objeto Representa a permissão para recuperar a lista de trabalhos que não estão em status terminal para um objeto. A permissão iotjobsdata:GetPendingJobExecutions é verificada sempre que é feita uma solicitação para recuperar a lista.
iotjobsdata:StartNextPendingJobExecution StartNextPendingJobExecution objeto Representa a permissão para obter e iniciar a próxima execução de trabalho pendente para um objeto. Isto é, para atualizar uma execução de trabalho com status QUEUED para IN_PROGRESS. A permissão iotjobsdata:StartNextPendingJobExecution é verificada sempre que é feita uma solicitação para iniciar a próxima execução de trabalho pendente.
iotjobsdata:UpdateJobExecution UpdateJobExecution objeto Representa a permissão para atualizar uma execução de trabalho. A permissão iotjobsdata:UpdateJobExecution é verificada sempre que é feita uma solicitação para atualizar o estado de uma execução de trabalho.

Veja a seguir um exemplo de uma AWS IoT Core política que concede permissão para realizar as ações nas API operações do plano de dados para qualquer recurso. Você pode definir o escopo de sua política para um recurso específico, como um objeto de IoT. No seu exemplo, substitua:

  • region com seus Região da AWS , comous-east-1.

  • account-id com seu Conta da AWS número, como57EXAMPLE833.

  • thing-name com o nome da coisa de IoT, como. MyIoTthing

{ "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" } ] }

Um exemplo de quando você deve usar essas políticas pode ser quando seus dispositivos de IoT usam uma AWS IoT Core política para acessar uma dessas API operações, como o exemplo a seguir do: DescribeJobExecution API

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