Base AWS IoT Core variabili politiche - 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à.

Base AWS IoT Core variabili politiche

AWS IoT Core definisce le seguenti variabili politiche di base:

  • iot:ClientId: l'ID client utilizzato per connettersi al AWS IoT Core broker di messaggi.

  • aws:SourceIp: L'indirizzo IP del client connesso al AWS IoT Core broker di messaggi.

I seguenti AWS IoT Core policy mostra una politica che utilizza variabili di policy. aws:SourceIppuò essere utilizzato nell'elemento Condizione della politica per consentire ai responsabili di effettuare API richieste solo all'interno di un intervallo di indirizzi specifico. Per alcuni esempi, consulta Autorizzazione di utenti e servizi cloud all'utilizzo di AWS IoT Jobs.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientid1" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/my/topic/${iot:ClientId}" ], "Condition": { "IpAddress": { "aws:SourceIp": "123.45.167.89" } } } ] }

In questi esempi, ${iot:ClientId} viene sostituito dall'ID del client connesso al AWS IoT Core message broker quando viene valutata la politica. Quando usi variabili delle policy come ${iot:ClientId}, puoi aprire inavvertitamente l'accesso ad argomenti indesiderati. Ad esempio, se usi una policy che usa ${iot:ClientId} per specificare un filtro di argomenti:

{ "Effect": "Allow", "Action": ["iot:Subscribe"], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/my/${iot:ClientId}/topic" ] }

Un client può connettersi usando + come ID client. Questo permette all'utente di sottoscrivere qualsiasi argomento corrispondente al filtro di argomenti my/+/topic. Per proteggerti da tali lacune di sicurezza, utilizza l'azione iot:Connect politica per controllare quale client IDs può connettersi. Ad esempio, questa policy permette di connettersi solo a quei client il cui ID client è clientid1:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iot:Connect"], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientid1" ] } ] }
Nota

L'utilizzo della variabile di policy ${iot:ClientId} con Connect non è consigliato. Non esiste alcun controllo sul valore di ClientId, quindi un collegamento con un ID client diverso può superare la convalida ma causare la disconnessione. Poiché qualsiasi ClientId è consentito, l'impostazione di un ID client casuale può aggirare le policy del gruppo di oggetti.