Caricare il file del firmware in un bucket S3 e aggiungere un ruolo IAM
Puoi utilizzare Amazon S3 per creare un bucket, che è un container in grado di archiviare il file di aggiornamento del firmware. È possibile caricare il file nel bucket S3 e aggiungere un ruolo IAM che permette al server CUPS di leggere il file di aggiornamento dal bucket. Per ulteriori informazioni su Amazon S3, consulta Nozioni di base su Amazon S3.
Il file di aggiornamento del firmware che si desidera caricare dipende dal gateway in uso. Se è stata eseguita una procedura simile a quella descritta in Genera il file di aggiornamento del firmware e la firma, caricherai il fwstation
generato eseguendo gli script.
Questa procedura dura circa 20 minuti.
Per caricare il file del firmware:
Crea un bucket Amazon S3 e carica il file di aggiornamento
Creerai un bucket Amazon S3 utilizzando la AWS Management Console, quindi caricherai il file di aggiornamento del firmware nel bucket.
Creare un bucket S3
Per creare un bucket S3, apri la Amazon S3 console
-
Seleziona Crea bucket.
-
Inserisci un nome univoco e significativo per il Nome bucket, (ad esempio,
iotwirelessfwupdate
). Per la convenzione di denominazione consigliata per il bucket, consulta https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html. -
Assicurati di aver selezionato Regione AWS come quello usato per creare il gateway e il dispositivo LoRaWAN, e che l’impostazione Block all public access (Blocca tutti gli accessi pubblici) sia selezionata in modo che il bucket utilizzi le autorizzazioni predefinite.
-
Scegli Enable (Abilita) per Bucket versioning (Controllo delle versioni bucket) che ti aiuterà a mantenere più versioni del file di aggiornamento firmware nello stesso bucket.
-
Conferma che Server-side encryption (Crittografia lato server) è impostato su Disable (Disabilita) e scegli Create bucket (Crea bucket).
Carica il file di aggiornamento del firmware
Ora puoi visualizzare il bucket nell'elenco dei bucket visualizzato nella AWS Management Console. Scegli il tuo bucket e completa i seguenti passaggi per caricare il file.
-
Scegli il bucket e poi Upload (Carica).
-
Scegli Add file (Aggiungi file) e carica il file di aggiornamento del firmware. Se hai seguito la procedura descritta in Genera il file di aggiornamento del firmware e la firma, caricherai il
fwstation
, altrimenti carica il file fornito dal produttore del gateway. -
Assicurati che tutte le impostazioni siano impostate sul valore predefinito. Assicurati che Predefined ACLs (ACL predefiniti) sia impostato su private (privato) e scegli Upload (Caricamento) per caricare il file.
-
Copia l'URI S3 del file caricato. Scegli il tuo bucket e vedrai il file che hai caricato visualizzato nell'elenco di Objects (Oggetti). Scegli il file e poi Copy S3 URI (Copiare URI S3). L'URI sarà:
s3://iotwirelessfwupdate/fwstation
se hai chiamato il tuo bucket in modo simile all'esempio descritto in precedenza (fwstation
). Utilizza l'URI S3 durante la creazione del ruolo IAM.
Crea un ruolo IAM con autorizzazioni per leggere il bucket S3
Verrà ora creato un ruolo e una policy IAM che darà a CUPS l'autorizzazione a leggere il file di aggiornamento del firmware dal bucket S3.
Creare una policy IAM per il tuo ruolo
Per creare una policy IAM per il tuo ruolo di destinazione AWS IoT Core per LoRaWAN, apri Hub policy della console IAM)
-
Scegli Create policy (Crea policy), quindi scegli la scheda JSON.
-
Elimina qualsiasi contenuto dall'editor e incolla il documento relativo alla policy. La policy fornisce le autorizzazioni per accedere al bucket
iotwireless
e il file di aggiornamento del firmwarefwstation
memorizzato all'interno di un oggetto.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListBucketVersions", "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::iotwirelessfwupdate/fwstation", "arn:aws:s3:::iotwirelessfwupdate" ] } ] }
-
Scegli Review policy (Rivedi la policy) e in Name (Nome), inserisci un nome per questa policy (ad esempio,
IoTWirelessFwUpdatePolicy
). Dovrai utilizzare questo nome nella procedura successiva. -
Scegli Crea policy.
Creare un ruolo IAM e collegarvi la policy
Ora creerai un ruolo IAM e lo collegherai alla policy creata in precedenza per accedere al bucket S3. Apri Roles hub of the IAM console (Hub ruoli della console IAM)
-
Scegli Crea ruolo.
-
In Seleziona tipo di entità attendibile, scegli Altro Account AWS.
-
In Account ID (ID account), inserisci il tuo account Account AWS ID, quindi scegli Next: Permissions (Successivo: autorizzazioni).
-
Nella casella di ricerca, immetti il nome della policy IAM creata nella procedura precedente. Controlla la policy IAM (ad esempio,
IoTWirelessFwUpdatePolicy
) creata in precedenza nei risultati della ricerca e sceglila. -
Scegliere Next: Tags (Successivo: Tag), quindi Next: Review (Successivo: Verifica).
-
Per Role Name (Nome ruolo), immetti un nome per il ruolo, ad esempio
IoTWirelessFwUpdateRole
, quindi scegli Create role (Crea ruolo).
Modifica la relazione di fiducia per il ruolo IAM
Nel messaggio di conferma visualizzato dopo avere eseguito il passaggio precedente, scegli il nome del ruolo creato per modificarlo. Modificherai il ruolo per aggiungere la seguente relazione di trust.
-
Nella sezione Summary (Riepilogo) del ruolo creato in precedenza, scegli la scheda Trust Relationships (Relazioni di trust), quindi scegli Edit Trust Relationship (Modifica relazione di trust).
-
In Policy Document (Documento policy), modifica la proprietà di
Principal
affinché appaia come il seguente esempio."Principal": { "Service": "iotwireless.amazonaws.com" },
Dopo aver modificato la proprietà
Principal
, il documento completo di policy dovrebbe essere simile al seguente.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotwireless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
-
Per salvare le modifiche e uscire, scegli Update Trust Policy (Aggiorna policy di attendibilità).
-
Ottieni l'ARN per il tuo ruolo. Scegli il tuo ruolo IAM e nella sezione Riepilogo vedrai un ARN ruolo, ad esempio
arn:aws:iam::123456789012:role/IoTWirelessFwUpdateRole
. Copia questo ARN Ruolo.
Esamina i passaggi successivi
Dopo aver creato il bucket S3 e un ruolo IAM che consente al server CUPS di leggere il bucket S3, passa all'argomento successivo per pianificare ed eseguire l'aggiornamento del firmware. Mantieni S3 URI e ARN ruolo che hai copiato in precedenza, in modo da poterli immettere per creare una definizione di attività che verrà eseguita per eseguire l'aggiornamento del firmware.