Esempi di policy per i messaggi conservati - 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à.

Esempi di policy per i messaggi conservati

L'utilizzo di messaggi conservati richiede politiche specifiche. I messaggi conservati sono MQTT messaggi pubblicati con il flag impostato e archiviati RETAIN da AWS IoT Core. Questa sezione presenta esempi di politiche che consentono l'uso comune dei messaggi conservati.

Policy per la connessione e la pubblicazione di messaggi conservati

Affinché un dispositivo possa pubblicare messaggi conservati, deve essere in grado di connettersi, pubblicare (qualsiasi MQTT messaggio) e pubblicare messaggi MQTT conservati. Il seguente criterio concede queste autorizzazioni per l'argomento: device/sample/configuration al client device1. Per un altro esempio che concede l'autorizzazione per connettersi, consultaEsempi di policy di connessione e pubblicazione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/device1" ] }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:RetainPublish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/device/sample/configuration" ] } ] }

Criteri per connettere e pubblicare i messaggi Will conservati

I client possono configurare un messaggio che AWS IoT Core verrà pubblicato quando il client si disconnette in modo imprevisto. MQTTchiama tale messaggio un messaggio di Will. Un client deve disporre di una condizione aggiuntiva aggiunta all'autorizzazione di connessione per includerli.

Il seguente documento di policy concede a tutti i client il permesso di connettersi e pubblicare un messaggio Will, identificato dal relativo argomentowill, che AWS IoT Core conserverà anche.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/device1" ], "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:RetainPublish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/will" ] } ] }

Policy per elencare e ricevere messaggi conservati

I servizi e le applicazioni possono accedere ai messaggi conservati senza la necessità di supportare un MQTT cliente chiamando ListRetainedMessagese GetRetainedMessage. I servizi e le applicazioni che chiamano queste azioni devono essere autorizzati utilizzando una policy come l'esempio seguente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:ListRetainedMessages" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/device1" ], }, { "Effect": "Allow", "Action": [ "iot:GetRetainedMessage" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/foo" ] } ] }