Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Autorizzazione dei dispositivi a utilizzare AWS IoT Jobs in modo sicuro sul piano dati
Per autorizzare i dispositivi a interagire in modo sicuro con AWS IoT Jobs sul piano dati, è necessario utilizzare le politiche. AWS IoT Core AWS IoT Core le politiche per le offerte di lavoro sono JSON documenti contenenti dichiarazioni politiche. Queste politiche utilizzano anche gli elementi Effetto, Azione e Risorsa e seguono una convenzione simile alle IAM politiche. Per ulteriori informazioni sugli elementi, vedere IAMJSONPolicy Elements Reference nella Guida IAM per l'utente.
Le policy possono essere utilizzate con entrambi i HTTPS protocolli MQTT e devono utilizzare l'TCPautenticazione TLS reciproca per autenticare i dispositivi. Di seguito viene illustrato come utilizzare queste policy con i diversi protocolli di comunicazione.
avvertimento
Ti consigliamo di non utilizzare autorizzazioni jolly, ad esempio "Action":
["iot:*"]
nelle tue IAM politiche o politiche. AWS IoT Core L'utilizzo di autorizzazioni con caratteri jolly non è una best practice consigliata per la sicurezza. Per ulteriori informazioni, consulta la sezione AWS IoT
policy eccessivamente permissiva.
AWS IoT Core politiche per il protocollo MQTT
AWS IoT Core le politiche per il MQTT protocollo ti concedono le autorizzazioni per utilizzare le MQTT API azioni del dispositivo Jobs. Le MQTT API operazioni vengono utilizzate per lavorare con MQTT argomenti riservati ai comandi jobs. Per ulteriori informazioni su queste API operazioni, vedereOperazioni API MQTT del dispositivo dei processi.
MQTTle politiche utilizzano azioni politiche comeiot:Connect
, iot:Publish
iot:Subscribe
, e iot:Receieve
per lavorare con gli argomenti relativi alle mansioni. Queste politiche consentono di connettersi al broker di messaggi, sottoscrivere MQTT gli argomenti relativi alle offerte di lavoro e inviare e ricevere MQTT messaggi tra i dispositivi e il cloud. Per ulteriori informazioni su queste operazioni consulta AWS IoT Core azioni politiche.
Per informazioni sugli argomenti relativi alle AWS IoT offerte di lavoro, consultaArgomenti di processo.
L'esempio seguente mostra come utilizzare iot:Publish
e iot:Subscribe
per pubblicare e sottoscrivere processi ed esecuzioni di processo.
Nell'esempio, sostituisci:
-
region
con il tuo Regione AWS, ad esempious-east-1
. -
account-id
con il tuo Account AWS numero, ad esempio57EXAMPLE833
. -
thing-name
con il nome dell'oggetto IoT a cui stai indirizzando lavori, ad esempioMyIoTThing
.
{ "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 politiche per il protocollo HTTPS
AWS IoT Core le politiche sul piano dati possono anche utilizzare il HTTPS protocollo con il meccanismo di TLS autenticazione per autorizzare i dispositivi. Sul piano dati, le policy utilizzano il iotjobsdata:
prefisso per autorizzare i lavori, API le operazioni che i dispositivi possono eseguire. Ad esempio, l'azione iotjobsdata:DescribeJobExecution
politica concede all'utente il permesso di utilizzare il. DescribeJobExecution
API
Nota
Le operazioni di policy del piano dati devono utilizzare il prefisso iotjobsdata:
. Sul piano di controllo, le operazioni devono utilizzare il prefisso iot:
. Per un esempio di IAM politica in cui vengono utilizzate sia le azioni di policy del piano di controllo che quelle del piano dati, vedereIAMesempio di policy sia per il piano di controllo che per il piano dati.
La tabella seguente mostra un elenco di azioni AWS IoT Core politiche e autorizzazioni per l'autorizzazione dei dispositivi a utilizzare le API azioni. Per un elenco delle API operazioni che è possibile eseguire nel piano dati, vedere. API HTTP del dispositivo di processi
Nota
Queste azioni relative alla politica di esecuzione del lavoro si applicano solo all'HTTPTLSendpoint. Se si utilizza l'MQTTendpoint, è necessario utilizzare le azioni MQTT politiche definite in precedenza.
Operazione di policy | APIoperazione | Tipi di risorsa | Descrizione |
---|---|---|---|
iotjobsdata:DescribeJobExecution |
DescribeJobExecution |
|
Rappresenta l'autorizzazione per recuperare l'esecuzione di un processo. L'autorizzazione iotjobsdata:DescribeJobExecution viene controllata ogni volta che viene effettuata una richiesta per recuperare l'esecuzione di un processo. |
iotjobsdata:GetPendingJobExecutions |
GetPendingJobExecutions |
thing | Rappresenta l'autorizzazione a recuperare l'elenco dei processi che non si trovano in uno stato terminale per un oggetto. L'autorizzazione iotjobsdata:GetPendingJobExecutions viene controllata ogni volta che viene effettuata una richiesta di recupero dell'elenco. |
iotjobsdata:StartNextPendingJobExecution |
StartNextPendingJobExecution |
thing | Rappresenta l'autorizzazione a ottenere e avviare la successiva esecuzione in sospeso di un processo per un oggetto (ossia, per aggiornare l'esecuzione di un processo con stato da QUEUED a IN_PROGRESS ). L'autorizzazione iotjobsdata:StartNextPendingJobExecution viene controllata ogni volta che viene effettuata una richiesta di avvio della successiva esecuzione in sospeso di un processo. |
iotjobsdata:UpdateJobExecution |
UpdateJobExecution |
thing | Rappresenta l'autorizzazione ad aggiornare l'esecuzione di un processo. L'autorizzazione iotjobsdata:UpdateJobExecution viene controllata ogni volta che viene effettuata una richiesta di aggiornamento dell'esecuzione di un processo. |
Di seguito viene illustrato un esempio di AWS IoT Core politica che concede l'autorizzazione a eseguire le azioni sul piano API dati per qualsiasi risorsa. Puoi assegnare la policy a una risorsa specifica, ad esempio un oggetto IoT. Nell'esempio, sostituisci:
-
region
con i tuoi Regione AWS ad esempious-east-1
. -
account-id
con il tuo Account AWS numero, ad esempio57EXAMPLE833
. -
thing-name
con il nome di IoT, ad esempioMyIoTthing
.
{ "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 esempio di quando è necessario utilizzare queste policy può essere quando i dispositivi IoT utilizzano una AWS IoT Core policy per accedere a una di queste API operazioni, come il seguente esempio di DescribeJobExecution
API:
GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument&namespaceId=namespaceId HTTP/1.1