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 DescribeJobExecution
APIo.
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 |
|
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