Preparazione della sicurezza - 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à.

Preparazione della sicurezza

Questa sezione descrive i principali requisiti di sicurezza per AWS IoT Device Management Software Package Catalog.

Autenticazione basata sulle risorse

Software Package Catalog utilizza l'autorizzazione basata sulle risorse per fornire maggiore sicurezza durante l'aggiornamento del software sul parco istanze. Ciò significa che è necessario creare una politica AWS Identity and Access Management (IAM) che conceda i diritti di esecuzionecreate, read updatedelete, e list azioni per i pacchetti software e le versioni dei pacchetti e fare riferimento ai pacchetti software e alle versioni dei pacchetti specifici che si desidera distribuire nella sezione. Resources Queste autorizzazioni sono necessarie anche per aggiornare la copia shadow con nome riservata. Fai riferimento ai pacchetti software e alle versioni dei pacchetti includendo un Amazon Resource Name (ARN) per ogni entità.

Nota

Se intendi che la policy conceda i diritti per API le chiamate alla versione del pacchetto (ad esempio,, DeletePackageVersion), devi includere sia il pacchetto software che la versione del pacchetto ARNs nella policy. CreatePackageVersionUpdatePackageVersion Se si intende che la politica conceda diritti per API le chiamate ai pacchetti software (ad esempio CreatePackageUpdatePackage, e DeletePackage), è necessario includere solo il pacchetto software ARN nella politica.

Strutturate il pacchetto software e la versione del pacchetto ARNs come segue:

  • Pacchetto software: arn:aws:iot:<region>:<accountID>:package/<packageName>/package

  • Versione del pacchetto: arn:aws:iot:<region>:<accountID>:package/<packageName>/version/<versionName>

Nota

Sono disponibili altri diritti correlati che potrebbe essere necessario includere in questa policy. Ad esempio, è possibile includere un valore ARN per jobthinggroup, ejobtemplate. Per ulteriori informazioni e un elenco completo delle opzioni di policy, consulta Proteggere utenti e dispositivi con AWS IoT Jobs.

Ad esempio, se disponi di un pacchetto software e una versione del pacchetto denominati come segue:

  • AWS IoT cosa: myThing

  • Nome pacchetto: samplePackage

  • Versione 1.0.0

L'aspetto della policy potrebbe essere simile all'esempio seguente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:createPackage", "iot:createPackageVersion", "iot:updatePackage", "iot:updatePackageVersion" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:package/samplePackage", "arn:aws:iot:us-east-1:111122223333:package/samplePackage/version/1.0.0" ] }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": "arn:aws:iot:us-east-1:111122223333:thing/myThing/$package" } ] }

AWS IoT Job rights per distribuire le versioni dei pacchetti

Per motivi di sicurezza, è importante concedere diritti per distribuire pacchetti e versioni dei pacchetti e assegnare un nome ai pacchetti e alle versioni dei pacchetti specifici che sono autorizzati a distribuire. A tale scopo, si creano un IAM ruolo e una politica che concedano l'autorizzazione a distribuire lavori con versioni di pacchetto. La policy deve specificare le versioni dei pacchetti di destinazione come una risorsa.

IAMpolitica

La IAM politica concede il diritto di creare un lavoro che includa il pacchetto e la versione indicati nella Resource sezione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:CreateJob", "iot:CreateJobTemplate" ], "Resource":[ "arn:aws:iot:*:111122223333:job/<jobId>", "arn:aws:iot:*:111122223333:thing/<thingName>/$package", "arn:aws:iot:*:111122223333:thinggroup/<thingGroupName>", "arn:aws:iot:*:111122223333:jobtemplate/<jobTemplateName>", "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
Nota

Se si desidera distribuire un processo che disinstalla un pacchetto software e una versione del pacchetto, è necessario autorizzare un indirizzo ARN in cui si trova la versione del pacchetto$null, ad esempio:

arn:aws:iot:<regionCode>:111122223333:package/<packageName>/version/$null

AWS IoT Diritti di lavoro per aggiornare l'ombra denominata riservata

Per consentire ai job di aggiornare il nome riservato shadow dell'oggetto quando il job viene completato correttamente, è necessario creare un IAM ruolo e una policy. Sono disponibili due modi per eseguire questa operazione nella console  AWS IoT . Il primo è quando crei un pacchetto software nella console. Se viene visualizzata una finestra di dialogo Abilita dipendenze per la gestione dei pacchetti, puoi scegliere di utilizzare un ruolo esistente o crearne uno nuovo. Oppure, nella console  AWS IoT , scegli Impostazioni, seleziona Gestisci indicizzazione, quindi Gestisci indicizzazione per pacchetti e versioni dei dispositivi.

Nota

Se si sceglie di fare in modo che il servizio AWS IoT Job aggiorni lo shadow denominato riservato quando un processo viene completato correttamente, la API chiamata viene conteggiata per le operazioni di Device Shadow e del registro e può comportare un costo. Per ulteriori informazioni, consulta Prezzi di AWS IoT Core.

Quando utilizzi l'opzione Crea ruolo, il nome del ruolo generato inizia con aws-iot-role-update-shadows e contiene le seguenti policy:

Impostazione di un ruolo

Autorizzazioni

La policy delle autorizzazioni concede i diritti per eseguire query sulla shadow oggetto e aggiornarla. Il $package parametro nella risorsa è ARN destinato all'ombra denominata riservata.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DescribeEndpoint", "Resource": "" }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:<regionCode>:111122223333:thing/<thingName>/$package" ] } ] }
Relazione di attendibilità

Oltre alla policy delle autorizzazioni, il ruolo richiede una relazione di attendibilità con AWS IoT Core  in modo che l'entità possa assumere il ruolo e aggiornare la copia shadow con nome riservata.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Impostazione di una policy utente

iam: PassRole autorizzazione

Infine, devi avere il permesso di passare il ruolo a AWS IoT Core quando chiami l' UpdatePackageConfigurationAPIoperazione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageConfiguration" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }

AWS IoT Autorizzazioni per il download di Jobs da Amazon S3

Il documento del processo viene salvato in Amazon S3. Fai riferimento a questo file quando invii un messaggio tramite AWS IoT  Jobs. Devi fornire a AWS IoT Jobs i diritti per scaricare il file ()s3:GetObject. Inoltre, devi impostare una relazione di attendibilità tra Amazon S3 e AWS IoT  Jobs. Per istruzioni su come creare queste politiche, consulta Presigned URLs in Managing Jobs.