Autorizzazione dei dispositivi a utilizzare AWS IoT Jobs in modo sicuro sul piano dati - AWS IoT Core

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 documenti JSON contenenti dichiarazioni di policy. Queste policy utilizzano anche gli elementi Effect (Effetto), Action (Operazione) e Resource (Risorsa) e seguono una convenzione simile a quella delle policy IAM. Per ulteriori informazioni su questi elementi, consulta Documentazione di riferimento degli elementi delle policy JSON IAM nella Guida per l'utente di IAM.

Le policy possono essere utilizzate con i protocolli MQTT e HTTPS e devono usare l'autenticazione reciproca TCP o TLS 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 policy o policy IAM. AWS IoT Core L'utilizzo di autorizzazioni con caratteri jolly non è una best practice consigliata per la sicurezza. Per ulteriori informazioni, consulta AWS IoT policy overly permissive.

AWS IoT Core politiche per il protocollo MQTT

AWS IoT Core le politiche per il protocollo MQTT ti concedono le autorizzazioni per utilizzare le azioni dell'API MQTT del dispositivo jobs. Le operazioni API MQTT vengono utilizzate con argomenti MQTT riservati ai comandi dei processi. Per ulteriori informazioni su queste operazioni API, consulta Operazioni API MQTT del dispositivo dei processi.

Le policy MQTT utilizzano le operazioni di policy come iot:Connect, iot:Publish, iot:Subscribe e iot:Receievecon gli argomenti dei processi. Queste policy ti permettono di connetterti al broker di messaggi, sottoscrivere gli argomenti MQTT dei processi e inviare e ricevere messaggi MQTT tra i dispositivi e il cloud. Per ulteriori informazioni su queste operazioni consulta AWS IoT Core azioni politiche.

Per informazioni sugli argomenti relativi ai AWS IoT lavori, vedere. Argomenti 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:

  • regioncon i tuoi Regione AWS, ad esempious-east-1.

  • account-idcon il tuo Account AWS numero, ad esempio57EXAMPLE833.

  • thing-namecon il nome dell'oggetto IoT a cui stai indirizzando lavori, ad esempioMyIoTThing.

JSON
{ "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/$aws/events/job/*", "arn:aws:iot:us-east-1:123456789012:topic/$aws/events/jobExecution/*", "arn:aws:iot:us-east-1:123456789012: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 protocollo HTTPS con il meccanismo di autenticazione TLS per autorizzare i dispositivi. Le policy utilizzano il prefisso iotjobsdata: sul piano dati per autorizzare le operazioni API dei processi che i tuoi dispositivi possono eseguire. Ad esempio, l'operazione di policy iotjobsdata:DescribeJobExecution concede all'utente l'autorizzazione per utilizzare l'API DescribeJobExecution.

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 policy IAM quando vengono utilizzate le operazioni di policy del piano di controllo e del piano dati, consulta Esempio di policy IAM per il piano di controllo e 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 azioni API. Per un elenco di operazioni API che puoi eseguire nel piano dati, consultaAPI HTTP del dispositivo di processi.

Nota

Le operazioni di policy di esecuzione del processo si applicano solo all'endpoint TLS HTTP. Se utilizzi l'endpoint MQTT devi utilizzare le operazioni di policy MQTT definite in precedenza.

AWS IoT Core azioni politiche sul piano dati
Operazione di policy Operazione API Tipi di risorsa Descrizione
iotjobsdata:DescribeJobExecution DescribeJobExecution
  • job

  • thing

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 mostrato un esempio di AWS IoT Core policy che concede l'autorizzazione a eseguire le azioni sulle operazioni dell'API del piano dati per qualsiasi risorsa. Puoi assegnare la policy a una risorsa specifica, ad esempio un oggetto IoT. Nell'esempio, sostituisci:

  • regioncon i tuoi Regione AWS ad esempious-east-1.

  • account-idcon il tuo Account AWS numero, ad esempio57EXAMPLE833.

  • thing-namecon il nome di IoT, ad esempioMyIoTthing.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iotjobsdata:GetPendingJobExecutions", "iotjobsdata:StartNextPendingJobExecution", "iotjobsdata:DescribeJobExecution", "iotjobsdata:UpdateJobExecution" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456789012:thing/thing-name" } ] }

È necessario utilizzare queste policy quando i dispositivi IoT utilizzano una policy AWS IoT Core per accedere a una di queste operazioni API, come nel seguente esempio di API DescribeJobExecution:

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