AWS IoT - Guida per gli sviluppatori · AWS IoT Guida per gli sviluppatori Che cos'è AWS IoT? AWS...

815
AWS IoT Guida per gli sviluppatori

Transcript of AWS IoT - Guida per gli sviluppatori · AWS IoT Guida per gli sviluppatori Che cos'è AWS IoT? AWS...

  • AWS IoTGuida per gli sviluppatori

  • AWS IoT Guida per gli sviluppatori

    AWS IoT: Guida per gli sviluppatoriCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

  • AWS IoT Guida per gli sviluppatori

    Table of ContentsChe cosa è AWS IoT? ........................................................................................................................ 1

    Componenti di AWS IoT .............................................................................................................. 1Nozioni di base su AWS IoT ........................................................................................................ 3Accesso a AWS IoT ................................................................................................................... 3Servizi correlati .......................................................................................................................... 3Funzionamento di AWS IoT ......................................................................................................... 3

    Nozioni di base su AWS IoT Core ........................................................................................................ 5Configurazione ........................................................................................................................... 5

    Registrati ad AWS .............................................................................................................. 5Creazione di un utente IAM ................................................................................................. 5

    Accedere alla console AWS IoT ................................................................................................... 6Crea un oggetto ......................................................................................................................... 7Come registrare un dispositivo ..................................................................................................... 7

    Creazione e attivazione di un certificato del dispositivo ............................................................. 7Creazione di una policy AWS IoT Core .................................................................................. 9Collegamento di una policy AWS IoT Core a un certificato del dispositivo ................................... 13Collegamento di un certificato a un oggetto .......................................................................... 14

    Configurazione del dispositivo ..................................................................................................... 15Visualizzazione di messaggi MQTT con il client MQTT AWS IoT ...................................................... 15

    Visualizzazione dei messaggi MQTT nel client MQTT ............................................................. 16Pubblicazione di messaggi MQTT dal client MQTT ................................................................. 17

    Configurazione e test delle regole ............................................................................................... 18Crea un argomento SNS. ................................................................................................... 19Sottoscrizione di un argomento Amazon SNS ....................................................................... 21Creazione di una regola ..................................................................................................... 22Test della regola Amazon SNS ........................................................................................... 29Fasi successive ................................................................................................................ 29

    Creazione e monitoraggio di un processo AWS IoT Core ................................................................ 29Connessione del dispositivo ad AWS IoT ............................................................................. 29Esecuzione del processo di esempio ................................................................................... 30Creazione di un documento del processo ............................................................................. 30Crea un processo. ............................................................................................................ 30Esecuzione del processo in un dispositivo ............................................................................ 38Monitoraggio dello stato del processo con eventi di processo e di esecuzione di processi .............. 39

    Tutorial sulle regole AWS IoT ............................................................................................................. 43Creazione di una regola con un'operazione DynamoDB .................................................................. 43

    Testare una regola con un'operazione DynamoDB ................................................................. 53Creazione di una regola con un'operazione AWS Lambda ............................................................... 54

    Creazione di una funzione Lambda ..................................................................................... 55Test della funzione Lambda ................................................................................................ 59Creare una regola con un'operazione Lambda ....................................................................... 61Prova la regola con un'operazione Lambda ........................................................................... 71Risoluzione dei problemi di una regola con un'operazione Lambda ........................................... 72

    Creazione di una regola Amazon SNS ......................................................................................... 73Utilizzo degli SDK di dispositivo AWS IoT su un Raspberry Pi ................................................................. 82

    Prerequisiti ............................................................................................................................... 82Creazione di un oggetto AWS IoT per Raspberry Pi ....................................................................... 82Utilizzo di SDK di dispositivo AWS IoT per Embedded C ................................................................. 83

    Installare SDK di dispositivo AWS IoT per Embedded C .......................................................... 83Configurazione delle app di esempio ................................................................................... 84Creare ed eseguire l'applicazione di esempio ........................................................................ 85

    Uso dell'SDK dispositivo AWS IoT per JavaScript e Node ............................................................... 86Installare la versione più recente di Node.js .......................................................................... 87Installazione dell'SDK dispositivo AWS IoT per JavaScript ....................................................... 87

    iii

  • AWS IoT Guida per gli sviluppatori

    Preparazione dell'esecuzione delle applicazioni di esempio ..................................................... 87Esecuzione delle applicazioni di esempio ............................................................................. 88

    Altri tutorial di AWS IoT ..................................................................................................................... 91Monitoraggio dell'umidità del terreno con AWS IoT e Raspberry Pi ................................................... 91

    Prerequisiti ....................................................................................................................... 91Configurazione di AWS IoT ................................................................................................ 92Configurazione del Raspberry Pi e del sensore di umidità ....................................................... 96

    Gestione di dispositivi con AWS IoT .................................................................................................. 101Come gestire gli oggetti con il registro ........................................................................................ 101

    Crea un oggetto .............................................................................................................. 101Visualizzazione dell'elenco di oggetti .................................................................................. 102Ricerca di oggetti ............................................................................................................ 102Aggiornamento di un oggetto ............................................................................................ 104Eliminazione di un oggetto ................................................................................................ 104Collegamento di un'entità principale a un oggetto ................................................................. 104Scollegamento di un'entità principale da un oggetto .............................................................. 104

    Tipi di oggetti ......................................................................................................................... 105Creazione di un tipo di oggetto ......................................................................................... 105Visualizzazione dell'elenco di tipi di oggetti .......................................................................... 105Descrizione di un tipo di oggetto ....................................................................................... 106Associazione di un tipo di oggetto a un oggetto ................................................................... 106Dichiarazione di un tipo di oggetto come obsoleto ................................................................ 106Eliminazione di un tipo di oggetto ...................................................................................... 107

    Gruppi di oggetti statici ............................................................................................................ 108Creazione di un gruppo di oggetti statico ............................................................................ 109Descrizione di un gruppo di oggetti .................................................................................... 109Aggiunta di un oggetto a un gruppo di oggetti statico ............................................................ 110Rimozione di un oggetto da un gruppo di oggetti statico ........................................................ 110Elenco di oggetti in un gruppo di oggetti ............................................................................. 111Visualizzazione dell'elenco di gruppi di oggetti ..................................................................... 111Elenco dei gruppi per un oggetto ....................................................................................... 113Aggiornamento di un gruppo di oggetti statico ..................................................................... 113Eliminazione di un gruppo di oggetti .................................................................................. 113Collegamento di una policy a un gruppo di oggetti statico ...................................................... 114Scollegamento di una policy da un gruppo di oggetti statico ................................................... 114Elenco di policy collegate a un gruppo di oggetti statico ........................................................ 114Visualizzazione dell'elenco di gruppi per una policy .............................................................. 115Recupero delle policy valide per un oggetto ........................................................................ 115Test dell'autorizzazione per le operazioni MQTT .................................................................. 116

    Gruppo di oggetti dinamici ........................................................................................................ 117Creazione di un gruppo di oggetti dinamico ......................................................................... 118Descrizione di un gruppo di oggetti dinamico ....................................................................... 118Aggiornamento di un gruppo di oggetti dinamico .................................................................. 119Eliminazione di un gruppo di oggetti dinamico ..................................................................... 119Restrizioni e conflitti ........................................................................................................ 120

    Tagging delle risorse AWS IoT .......................................................................................................... 123Nozioni di base sui tag ............................................................................................................ 123

    Restrizioni e limitazioni di tag ............................................................................................ 124Utilizzo dei tag con policy IAM .................................................................................................. 124Gruppi di fatturazione .............................................................................................................. 125

    Visualizzazione dell'allocazione dei costi e dei dati di utilizzo .................................................. 126Sicurezza ....................................................................................................................................... 128

    Sicurezza in AWS IoT .............................................................................................................. 128Autenticazione ........................................................................................................................ 129

    Formazione e certificazione AWS ...................................................................................... 129Panoramica sui certificati X.509 ......................................................................................... 129Autenticazione del server ................................................................................................. 130

    iv

  • AWS IoT Guida per gli sviluppatori

    Autenticazione client ........................................................................................................ 132Autenticazione personalizzata ........................................................................................... 149

    Gestione dei certificati dei dispositivi .......................................................................................... 157Autenticazione del server ................................................................................................. 157

    Autorizzazione ........................................................................................................................ 157Formazione e certificazione AWS ...................................................................................... 159Policy AWS IoT Core ....................................................................................................... 159Autorizzazione di chiamate dirette a servizi AWS ................................................................. 188Accesso tra account ........................................................................................................ 192

    Protezione dei dati .................................................................................................................. 193Sicurezza del trasporto in AWS IoT. ................................................................................... 194Crittografia dei dati .......................................................................................................... 195

    Identity and Access Management .............................................................................................. 196Destinatari ...................................................................................................................... 196Autenticazione con identità IAM ......................................................................................... 196Gestione dell'accesso tramite policy ................................................................................... 198Funzionamento di AWS IoT con IAM .................................................................................. 200Esempi di policy basate su identità .................................................................................... 215Risoluzione dei problemi .................................................................................................. 217

    Logging e monitoraggio ............................................................................................................ 219Strumenti di monitoraggio ................................................................................................. 219

    Convalida della conformità ........................................................................................................ 221Resilienza .............................................................................................................................. 221Sicurezza dell'infrastruttura ....................................................................................................... 221Analisi delle vulnerabilità .......................................................................................................... 222Best practice relative alla sicurezza ........................................................................................... 222

    Protezione delle connessioni MQTT in AWS IoT .................................................................. 222Tieni sincronizzato l'orologio del dispositivo ......................................................................... 224Convalidare il certificato server .......................................................................................... 225Utilizzare una singola identità per dispositivo ....................................................................... 225Utilizzare il provisioning Just In Time .................................................................................. 225

    Formazione e certificazione AWS .............................................................................................. 225Monitoraggio AWS IoT ..................................................................................................................... 226

    Configurazione della registrazione AWS IoT ................................................................................ 227Configurare il ruolo e il criterio di registrazione .................................................................... 227Configurare la registrazione predefinita in AWS IoT (console) ................................................. 228Configurare la registrazione predefinita in AWS IoT (CLI) ...................................................... 229Configurare la registrazione specifica delle risorse in AWS IoT (CLI) ....................................... 231Livelli di log .................................................................................................................... 232

    Monitorare allarmi e parametri AWS IoT utilizzando Amazon CloudWatch ........................................ 233Utilizzo dei parametri AWS IoT .......................................................................................... 233Creazione di allarmi CloudWatch in AWS IoT ...................................................................... 234Parametri e dimensioni di AWS IoT ................................................................................... 237

    Monitorare AWS IoT utilizzando CloudWatch Logs ....................................................................... 245Visualizzazione dei log AWS IoT nella console CloudWatch ................................................... 246Voci di registro CloudWatch AWS IoT ................................................................................ 246

    Registra chiamate API AWS IoT con AWS CloudTrail. .................................................................. 263Informazioni su AWS IoT in CloudTrail ............................................................................... 264Comprensione delle voci dei file di log di AWS IoT ............................................................... 264

    Collegamento di dispositivi ............................................................................................................... 266Endpoint configurabili (Beta) ..................................................................................................... 267

    Creazione e configurazione di domini gestiti da AWS ............................................................ 267Creazione e configurazione di domini personalizzati ............................................................. 268Gestione delle configurazioni di dominio ............................................................................. 270

    Broker di messaggi ......................................................................................................................... 272Argomenti .............................................................................................................................. 272

    Nomi argomento ............................................................................................................. 272

    v

  • AWS IoT Guida per gli sviluppatori

    Filtri argomento ............................................................................................................... 273Argomenti riservati .......................................................................................................... 273

    Protocolli ................................................................................................................................ 287Protocolli, mappature di porte e autenticazione .................................................................... 287MQTT ............................................................................................................................ 287HTTP ............................................................................................................................ 292

    Regole ........................................................................................................................................... 295Concessione dell'accesso richiesto ad AWS IoT .......................................................................... 296Passaggio delle autorizzazioni di un ruolo ................................................................................... 297Creazione di una regola AWS IoT ............................................................................................. 298Visualizzazione delle regole ...................................................................................................... 302Eliminazione di una regola ....................................................................................................... 302Azioni delle regole AWS IoT ..................................................................................................... 302

    Operazione per gli allarmi CloudWatch ............................................................................... 303Operazione CloudWatch Logs ........................................................................................... 304Operazione per i parametri CloudWatch ............................................................................. 305Operazione DynamoDB .................................................................................................... 307Operazione DynamoDBv2 ................................................................................................ 309Operazione Elasticsearch ................................................................................................. 310Operazione Firehose ....................................................................................................... 312Operazione HTTP ........................................................................................................... 313Operazione IoT Analytics .................................................................................................. 315Operazione IoT Events .................................................................................................... 316Operazione SiteWise IoT .................................................................................................. 317Operazione Kinesis ......................................................................................................... 320Operazione Lambda ........................................................................................................ 322Operazione Republish ...................................................................................................... 324Operazione S3 ................................................................................................................ 325Operazione Salesforce ..................................................................................................... 327Operazione SNS ............................................................................................................. 327Operazione SQS ............................................................................................................. 329Operazione Step Functions ............................................................................................... 330

    Risoluzione dei problemi relativi a una regola .............................................................................. 331Gestione degli errori (operazione in caso di errore) ...................................................................... 331

    Formato del messaggio dell'operazione da eseguire in caso di errore ...................................... 331Esempio di operazione in caso di errore ............................................................................. 332

    Utilizzo delle destinazioni delle regole degli argomenti ................................................................. 333Creazione di una destinazione della regola dell'argomento ..................................................... 334Conferma della destinazione di una regola dell'argomento ..................................................... 334Disattivazione di una destinazione di una regola dell'argomento .............................................. 335Abilitazione della destinazione di una regola dell'argomento ................................................... 335Invio di un nuovo messaggio di conferma ........................................................................... 335Eliminazione di una destinazione della regola dell'argomento ................................................. 335

    Riduzione dei costi di messaggistica con il Basic Ingest ................................................................ 335Utilizzo di Basic Ingest ..................................................................................................... 336

    Documentazione di riferimento a SQL AWS IoT ........................................................................... 336Clausola SELECT ........................................................................................................... 337Clausola FROM .............................................................................................................. 339Clausola WHERE ............................................................................................................ 340Tipi di dati ...................................................................................................................... 341Operatori ........................................................................................................................ 344Funzioni ......................................................................................................................... 350Valori letterali ................................................................................................................. 389Istruzioni case ................................................................................................................ 389Estensioni JSON ............................................................................................................. 390Modelli di sostituzione ...................................................................................................... 390Query di oggetti nidificati .................................................................................................. 392

    vi

  • AWS IoT Guida per gli sviluppatori

    Versioni SQL .................................................................................................................. 393Servizio Device Shadow ................................................................................................................... 395

    Uso delle copie shadow ........................................................................................................... 395Scelta di utilizzare copie shadow con nome o senza nome .................................................... 396Accesso alle copie shadow ............................................................................................... 396Utilizzo delle copie shadow in dispositivi, app e altri servizi cloud ............................................ 397Ordine dei messaggi ........................................................................................................ 397Taglio dei messaggi delle copie shadow ............................................................................. 398

    Utilizzo delle copie shadow nei dispositivi ................................................................................... 399Inizializzazione del dispositivo alla prima connessione a AWS IoT ........................................... 400Elaborazione dei messaggi mentre il dispositivo è connesso a AWS IoT ................................... 401Elaborazione dei messaggi quando il dispositivo si riconnette a AWS IoT ................................. 402

    Utilizzo delle copie shadow in app e servizi ................................................................................. 402Inizializzazione dell'app o del servizio al momento della connessione a AWS IoT ....................... 403Lo stato di elaborazione cambia mentre l'app o il servizio è connesso a AWS IoT ...................... 403Rilevamento di un dispositivo connesso .............................................................................. 403

    Simulazione delle comunicazioni del servizio Device Shadow ......................................................... 405Impostazione della simulazione ......................................................................................... 405Inizializzare il dispositivo .................................................................................................. 405Inviare un aggiornamento dall'app ..................................................................................... 408Rispondere all'aggiornamento nel dispositivo ....................................................................... 409Osservare l'aggiornamento nell'app .................................................................................... 413Andare oltre la simulazione .............................................................................................. 414

    Interazione con le copia shadow ............................................................................................... 414Supporto dei protocolli ..................................................................................................... 414Stato di richiesta e segnalazione ....................................................................................... 414Aggiornamento di una copia shadow .................................................................................. 415Recupero di un documento di una copia shadow ................................................................. 418Eliminazione di dati shadow .............................................................................................. 418

    API REST dei dispositivi ombra ................................................................................................. 420GetThingShadow ............................................................................................................. 421UpdateThingShadow ........................................................................................................ 422DeleteThingShadow ......................................................................................................... 422ListNamedShadowsForThing ............................................................................................. 423

    Argomenti MQTT di Device Shadow .......................................................................................... 424/get ............................................................................................................................... 425/get/accepted .................................................................................................................. 426/get/rejected .................................................................................................................... 426/update .......................................................................................................................... 427/update/delta ................................................................................................................... 428/update/accepted ............................................................................................................. 429/update/documents .......................................................................................................... 430/update/rejected .............................................................................................................. 430/delete ........................................................................................................................... 431/delete/accepted .............................................................................................................. 431/delete/rejected ............................................................................................................... 432

    Documenti del servizio Device Shadow ...................................................................................... 433Esempi di documenti shadow ............................................................................................ 433Proprietà del documento .................................................................................................. 437Stato delta ..................................................................................................................... 438Controllo delle versioni documenti shadow .......................................................................... 440I token client nei documenti shadow .................................................................................. 440Proprietà documento shadow vuote ................................................................................... 440Valori di array nei documenti shadow ................................................................................. 441

    Messaggi di errore Device Shadow ............................................................................................ 441Jobs .............................................................................................................................................. 443

    Concetti chiave dei processi ..................................................................................................... 443

    vii

  • AWS IoT Guida per gli sviluppatori

    Gestione dei processi .............................................................................................................. 445Creazione e gestione di processi (Console) ......................................................................... 447Creazione e gestione di processi (CLI) ............................................................................... 448

    Dispositivi e processi ............................................................................................................... 456Programmazione dei dispositivi per l'uso di Jobs .................................................................. 458

    Uso delle API di processi AWS IoT ............................................................................................ 468API di gestione e controllo dei processi .............................................................................. 468API MQTT e HTTPS per i dispositivi per i processi ............................................................... 526

    Configurazione dei rollout e delle interruzioni di processo .............................................................. 552Utilizzo delle velocità di rollout di un processo ..................................................................... 552Utilizzo delle configurazioni dei rollout e delle interruzioni di processo ...................................... 553

    Limiti dei processi ................................................................................................................... 554Tunneling AWS IoT sicuro ................................................................................................................ 555

    Concetti di tunneling sicuri ........................................................................................................ 555Tutorial sul tunneling sicuro ...................................................................................................... 556

    Demo sul tunneling AWS IoT sicuro ................................................................................... 556Tutorial sul tunneling AWS IoT sicuro ................................................................................. 556

    Ciclo di vita sicuro del tunnel .................................................................................................... 557Controllo dell'accesso ai tunnel ................................................................................................. 558

    Prerequisiti di accesso al tunnel ........................................................................................ 558IoT:OpenTunnel .............................................................................................................. 558iot:DescribeTunnel ........................................................................................................... 559iot:ListTunnels ................................................................................................................. 560iot:ListTagsForResource ................................................................................................... 560iot:CloseTunnel ............................................................................................................... 560iot:TagResource .............................................................................................................. 561iot:UntagResource ........................................................................................................... 561

    Proxy locale ........................................................................................................................... 561Best practice per la protezione dei proxy locali .................................................................... 562

    Snippet dell'agente IoT ............................................................................................................ 562Configurazione di un dispositivo remoto ...................................................................................... 564

    Provisioning dei dispositivi ................................................................................................................ 565API di Provisioning del parco istanze dispositivi ........................................................................... 565Provisioning di dispositivi che non dispongono di certificati dispositivo mediante il provisioning delparco istanze dispositivi ........................................................................................................... 566

    Provisioning per reclamo .................................................................................................. 566Provisioning per utente attendibile ..................................................................................... 568Utilizzo degli hook di pre-provisioning con l'interfaccia a riga di comando AWS .......................... 569

    Provisioning dei dispositivi che dispongono di certificati dispositivo .................................................. 572Provisioning di un singolo oggetto ..................................................................................... 572Provisioning Just-in-Time .................................................................................................. 572Registrazione in blocco .................................................................................................... 575

    Modelli di provisioning .............................................................................................................. 576Sezione Parametri ........................................................................................................... 576Sezione Risorse .............................................................................................................. 577Esempio di modello per la registrazione JITP e in blocco ...................................................... 580Provisioning del parco istanze ........................................................................................... 582

    Hook di pre-provisioning ........................................................................................................... 584Input dell’hook di pre-provisioning ...................................................................................... 584Valore restituito dall’hook di pre-provisioning ....................................................................... 585

    API MQTT di provisioning del dispositivo .................................................................................... 585CreateCertificateFromCsr ................................................................................................. 586CreateKeysAndCertificate ................................................................................................. 587RegisterThing ................................................................................................................. 588

    Servizio Fleet Indexing ..................................................................................................................... 591Gestione dell'indicizzazione degli oggetti ..................................................................................... 591

    Abilitazione dell'indicizzazione degli oggetti ......................................................................... 591

    viii

  • AWS IoT Guida per gli sviluppatori

    Descrizione di un indice dell'oggetto ................................................................................... 597Esecuzione di query su un indice di oggetti ......................................................................... 598Restrizioni e limitazioni ..................................................................................................... 599Autorizzazione ................................................................................................................ 601

    Gestione dell'indicizzazione di gruppi di oggetti ............................................................................ 601Abilitazione dell'indicizzazione di gruppi di oggetti ................................................................ 601Descrizione degli indici di gruppi ....................................................................................... 602Esecuzione di query su un indice di gruppi di oggetti ............................................................ 602Autorizzazione ................................................................................................................ 602

    Interrogazione di dati aggregati ................................................................................................. 603GetStatistics ................................................................................................................... 603GetCardinality ................................................................................................................. 605GetPercentiles ................................................................................................................ 606Autorizzazione ................................................................................................................ 607

    Sintassi delle query ................................................................................................................. 607Esempio di query per oggetti .................................................................................................... 608Esempio di query per gruppi di oggetti ....................................................................................... 610

    AWS IoT Device Defender ............................................................................................................... 612Formazione e certificazione AWS .............................................................................................. 612Audit ..................................................................................................................................... 612

    Gravità del problema ....................................................................................................... 612Fasi successive .............................................................................................................. 613Controlli di auditing .......................................................................................................... 613Come eseguire gli audit ................................................................................................... 638

    Comandi di auditing ................................................................................................................. 645Gestione delle impostazioni di auditing ............................................................................... 645Pianificazione di audit ...................................................................................................... 650Esecuzione di un audit on demand .................................................................................... 658Gestione di istanze di audit .............................................................................................. 660Controllo dei risultati dell'audit ........................................................................................... 666

    Operazioni di mitigazione ......................................................................................................... 672Come definire e gestire le operazioni di mitigazione ............................................................. 674Applicare le operazioni di mitigazione ................................................................................. 678Autorizzazioni ................................................................................................................. 683

    Comandi delle operazioni di mitigazione ..................................................................................... 686CreateMitigationAction ...................................................................................................... 687UpdateMitigationAction ..................................................................................................... 691ListMitigationActions ........................................................................................................ 694DescribeMitigationAction ................................................................................................... 696DeleteMitigationAction ...................................................................................................... 701StartAuditMitigationActionsTask ......................................................................................... 701CancelAuditMitigationActionsTask ...................................................................................... 704ListAuditMitigationActionsExecutions .................................................................................. 705ListAuditMitigationActionsTasks ......................................................................................... 708DescribeAuditMitigationActionsTask ................................................................................... 711

    Rilevamento ........................................................................................................................... 716Concetti ......................................................................................................................... 717Comportamenti ............................................................................................................... 718Parametri ....................................................................................................................... 719Parametri di ambito nei profili di sicurezza utilizzando le dimensioni ........................................ 730Come utilizzare le dimensioni in AWS CLI .......................................................................... 731Come utilizzare le dimensioni nella console ......................................................................... 734Monitoraggio del comportamento dei dispositivi non registrati ................................................. 738Come utilizzare AWS IoT Device Defender Detect ................................................................ 739Autorizzazioni ................................................................................................................. 741Invio di parametri dai dispositivi ......................................................................................... 742

    Comandi di rilevamento ............................................................................................................ 747

    ix

  • AWS IoT Guida per gli sviluppatori

    AttachSecurityProfile ........................................................................................................ 748CreateDimension ............................................................................................................. 749CreateSecurityProfile ....................................................................................................... 751DeleteDimension ............................................................................................................. 752DeleteSecurityProfile ........................................................................................................ 753DescribeDimension .......................................................................................................... 753DescribeSecurityProfile ..................................................................................................... 755DetachSecurityProfile ....................................................................................................... 756ListActiveViolations .......................................................................................................... 756ListDimensions ................................................................................................................ 757ListSecurityProfiles .......................................................................................................... 758ListSecurityProfilesForTarget ............................................................................................. 759ListTargetsForSecurityProfile ............................................................................................. 760ListViolationEvents .......................................................................................................... 760UpdateDimension ............................................................................................................ 762UpdateSecurityProfile ....................................................................................................... 763ValidateSecurityProfileBehaviors ........................................................................................ 764

    Integrazione dell'agente dei dispositivi con AWS IoT Greengrass ................................................... 765Best practice per la sicurezza degli agenti dei dispositivi .............................................................. 767

    Messaggi di eventi .......................................................................................................................... 770Eventi del registro ................................................................................................................... 771Eventi del servizio Jobs ........................................................................................................... 777Eventi del ciclo di vita .............................................................................................................. 780

    Eventi di connessione/disconnessione ................................................................................ 780Eventi di sottoscrizione/annullamento della sottoscrizione ...................................................... 783

    Integrazione di Alexa Voice Service (AVS) per AWS IoT ....................................................................... 785Nozioni di base su Integrazione di Alexa Voice Service (AVS) per AWS IoT su un dispositivo NXP ........ 786

    Anteprima di Integrazione di Alexa Voice Service (AVS) per AWS IoT con un account NXPpreconfigurato ................................................................................................................. 787Utilizzare gli account sviluppatore del servizio AWS e Alexa Voice per configurare AVS per AWSIoT ................................................................................................................................ 790

    SDK di dispositivo e mobile AWS IoT ................................................................................................ 793SDK AWS Mobile per Android .................................................................................................. 793SDK Arduino Yún .................................................................................................................... 793SDK di dispositivo AWS IoT per Embedded C ............................................................................. 793SDK di dispositivo AWS IoT per C++ ......................................................................................... 794SDK AWS Mobile per iOS ........................................................................................................ 794SDK dispositivo AWS IoT per Java ............................................................................................ 794SDK di dispositivo AWS IoT per JavaScript ................................................................................. 795SDK dispositivo AWS IoT per Python ......................................................................................... 795

    Risoluzione dei problemi .................................................................................................................. 796Diagnosi dei problemi di connettività .......................................................................................... 796

    Autenticazione ................................................................................................................ 796Autorizzazione ................................................................................................................ 796

    Diagnosi dei problemi relativi alle regole ..................................................................................... 796Diagnosi dei problemi relativi a Shadows .................................................................................... 797Diagnosi dei problemi relativi alle operazioni di Salesforce ............................................................. 799

    Traccia di esecuzione ...................................................................................................... 799Esito dell'operazione ........................................................................................................ 799

    Risoluzione dei problemi delle query di aggregazione per il servizio di indicizzazione del parco istanze ... 800Risoluzione dei problemi di AWS IoT Device Defender .................................................................. 801Errori AWS IoT ....................................................................................................................... 803

    Quote di AWS IoT ........................................................................................................................... 805

    x

  • AWS IoT Guida per gli sviluppatoriComponenti di AWS IoT

    Che cosa è AWS IoT?AWS IoT offre una comunicazione bidirezionale e sicura tra i dispositivi connessi a Internet (come sensori,attuatori, microcontroller integrati o smart appliance) e il cloud AWS. In questo modo, puoi raccoglieredati di telemetria da più dispositivi e quindi archiviarli e analizzarli. Puoi anche creare applicazioni chepermettono agli utenti di controllare questi dispositivi dai propri telefoni o tablet.

    Componenti di AWS IoTAWS IoT è costituito dai componenti seguenti:

    Integrazione di Alexa Voice Service (AVS) per AWS IoT

    Porta Alexa Voice su qualsiasi dispositivo connesso. AVS per AWS IoT riduce il costo e la complessitàdell'integrazione di Alexa. Questa funzione sfrutta AWS IoT per scaricare le attività di calcolo e audio dimemoria intensive dal dispositivo al cloud. A causa della conseguente riduzione del costo dei materialidi ingegneria (eBoM), i produttori di dispositivi possono portare Alexa in modo conveniente in terminidi costo sui dispositivi IoT con risorse limitate e consentire ai consumatori di parlare direttamente conAlexa in parti della propria casa, ufficio o camera d'albergo per un'esperienza ambientale.

    AVS per AWS IoT abilita la funzionalità incorporata di Alexa sugli MCU, ad esempio la classe ARMCortex M con meno di 1 MB di RAM incorporata. A tale scopo, AVS scarica le attività di memoriae calcolo su un dispositivo virtuale Alexa incorporato nel cloud. Questo riduce i costi di eBoM finoal 50%. Per ulteriori informazioni, consulta Integrazione di Alexa Voice Service (AVS) per AWSIoT (p. 785).

    Servizio di autenticazione personalizzata

    Puoi definire autorizzazioni ad hoc che ti permettono di gestire la tua strategia di autenticazionee autorizzazione tramite un servizio di autenticazione personalizzato e una funzione Lambda. Leautorizzazioni ad hoc permettono a AWS IoT di autenticare i dispositivi e autorizzare le operazionitramite strategie di autenticazione e autorizzazione con token di connessione.

    Le autorizzazioni ad hoc possono implementare diverse strategie di autenticazione, ad esempio laverifica Web Token JSON, la chiamata del provider OAuth e così via, e devono restituire documenti dipolicy che vengono usati dal gateway dei dispositivi per autorizzare le operazioni MQTT. Per ulterioriinformazioni, consulta Autenticazione personalizzata (p. 149).

    Gateway dei dispositivi

    Permette ai dispositivi di comunicare in modo sicuro ed efficiente con AWS IoT.Servizio di provisioning dei dispositivi

    Permette di effettuare il provisioning dei dispositivi tramite un modello che descrive le risorsenecessarie per il dispositivo: un oggetto, un certificato e una o più policy. Un oggetto è una voce nelregistro che contiene attributi che descrivono un dispositivo. I dispositivi usano certificati per eseguirel'autenticazione con AWS IoT. Le policy determinano le operazioni che un dispositivo può eseguire inAWS IoT.

    I modelli contengono variabili che vengono sostituite da valori in un dizionario (mappa). Puoi usarelo stesso modello per effettuare il provisioning di più dispositivi semplicemente passando valoridiversi per le variabili del modello nel dizionario. Per ulteriori informazioni, consulta Provisioning deidispositivi (p. 565).

    1

  • AWS IoT Guida per gli sviluppatoriComponenti di AWS IoT

    Shadow dei dispositivi

    Documento JSON usato per archiviare e recuperare informazioni sullo stato corrente per undispositivo.

    Servizio Device Shadow

    Fornisce rappresentazioni persistenti dei dispositivi nel cloud AWS. Puoi pubblicare informazioni sullostato aggiornate in una copia shadow di un dispositivo perché questo possa sincronizzare il propriostato quando si connette. I dispositivi possono anche pubblicare il proprio stato corrente in una copiashadow, usata da applicazioni o altri dispositivi. Per ulteriori informazioni, consulta Servizio DeviceShadow AWS IoT (p. 395).

    Registro di gruppi

    I gruppi ti permettono di gestire diversi dispositivi contemporaneamente classificandoli in gruppi.I gruppi possono contenere anche altri gruppi — puoi creare una gerarchia di gruppi. Qualsiasioperazione eseguita su un gruppo padre si applica anche ai rispettivi gruppi figlio e a tutti i dispositivial suo interno e all'interno di tutti i gruppi figlio. Le autorizzazioni concesse a un gruppo vengonoapplicate a tutti i dispositivi nel gruppo e in tutti i rispettivi gruppi figlio. Per ulteriori informazioni,consulta Gestione di dispositivi con AWS IoT (p. 101).

    Servizio Jobs

    Ti permette di definire un set di operazioni remote inviate a ed eseguite in uno o più dispositiviconnessi a AWS IoT. Puoi ad esempio definire un processo che indichi a un set di dispositivi discaricare e installare aggiornamenti per le applicazioni o il firmware, eseguire il riavvio, ruotare icertificati o eseguire operazioni di risoluzione dei problemi in remoto.

    Per creare un processo, devi specificare una descrizione delle operazioni remote da eseguire e unelenco di target che devono eseguirle. I target possono essere singoli dispositivi, gruppi o entrambi.Per ulteriori informazioni, consulta Processi (p. 443).

    Broker di messaggi

    Offre ai dispositivi e alle applicazioni di AWS IoT un sistema sicuro per la pubblicazione e laricezione di messaggi. Puoi usare il protocollo MQTT direttamente o MQTT tramite WebSocket per lapubblicazione e la sottoscrizione. Puoi usare l'interfaccia HTTP REST per la pubblicazione. Per ulterioriinformazioni, consulta Broker di messaggi per AWS IoT (p. 272).

    Registry

    Organizza le risorse associate a ogni dispositivo nel cloud AWS. Puoi registrare i dispositivi eassociare fino a tre attributi personalizzati a ognuno. Puoi anche associare certificati e ID clientMQTT a ogni dispositivo per migliorare la tua capacità di gestirli e di risolverne i problemi. Per ulterioriinformazioni, consulta Gestione di dispositivi con AWS IoT (p. 101).

    Motore di regole

    Fornisce elaborazione dei messaggi e integrazione con altri servizi AWS. Puoi usare un linguaggiobasato su SQL per selezionare i dati dai payload dei messaggi e quindi elaborare e inviare i dati adaltri servizi, come Amazon S3, Amazon DynamoDB e AWS Lambda. Puoi usare il broker di messaggianche per ripubblicare messaggi per altri sottoscrittori. Per ulteriori informazioni, consulta Regole perAWS IoT (p. 295).

    Servizio di sicurezza e identità

    Garantisce una responsabilità condivisa per la sicurezza nel cloud AWS. I dispositivi devonomantenere protette le proprie credenziali per poter inviare dati al broker di messaggi in tuttasicurezza. Il broker di messaggi e il motore di regole usano le funzionalità di sicurezza di AWS perinviare dati in modo sicuro ai dispositivi o ad altri servizi AWS. Per ulteriori informazioni, consultaAutenticazione (p. 129).

    Per informazioni sui limiti di AWS IoT, consulta la sezione Limiti per AWS IoT.

    2

    https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iot

  • AWS IoT Guida per gli sviluppatoriNozioni di base su AWS IoT

    Nozioni di base su AWS IoT• Per ulteriori informazioni su AWS IoT, consulta Funzionamento di AWS IoT (p. 3).• Per informazioni sulla connessione di un dispositivo a AWS IoT, consulta Nozioni di base su AWS IoT

    Core (p. 5).

    Accesso a AWS IoTIn AWS IoT sono disponibili le interfacce seguenti per creare e interagire con i dispositivi:

    • AWS Command Line Interface (AWS CLI)—Per eseguire i comandi di AWS IoT su Windows, macOS eLinux. Con questi comandi puoi creare e gestire oggetti, certificati, regole e policy. Per iniziare, consultaGuida per l'utente di AWS Command Line Interface. Per ulteriori informazioni sui comandi di AWS IoT,consulta la sezione relativa a iot della AWS CLI Command Reference.

    • API di AWS IoT—Per compilare applicazioni IoT tramite richieste HTTP o HTTPS. Con queste operazionidell'API puoi creare e gestire in modo programmatico oggetti, certificati, regole e policy. Per ulterioriinformazioni sulle operazioni dell'API per AWS IoT, consulta la sezione relativa alle operazioni delladocumentazione di riferimento sull'API di AWS IoT.

    • SDK AWS—Per creare applicazioni IoT tramite API specifiche del linguaggio. Questi SDK includonol'API HTTP/HTTPS e ti permettono di programmare in qualsiasi linguaggio supportato. Per ulterioriinformazioni, consulta la sezione SDK e strumenti di AWS.

    • SDK di AWS IoT per dispositivi—Per creare applicazioni da eseguire sui dispositivi che inviano ericevono messaggi da e verso AWS IoT. Per ulteriori informazioni, consulta la sezione relativa agli SDKdi AWS IoT.

    Servizi correlatiAWS IoT si integra direttamente con i servizi AWS seguenti:

    • Amazon Simple Storage Service—Fornisce storage scalabile nel cloud AWS. Per ulteriori informazioni,consulta Amazon S3.

    • Amazon DynamoDB—Fornisce database NoSQL gestiti. Per ulteriori informazioni, consulta AmazonDynamoDB.

    • Amazon Kinesis—Permette l'elaborazione in tempo reale dei dati di streaming su vasta scala. Perulteriori informazioni, consulta Amazon Kinesis.

    • AWS Lambda—Esegue il codice su server virtuali da Amazon EC2 in risposta a eventi. Per ulterioriinformazioni, consulta AWS Lambda.

    • Amazon Simple Notification Service—Invia o riceve notifiche. Per ulteriori informazioni, consulta AmazonSNS.

    • Amazon Simple Queue Service—Archivia i dati in una coda per consentirne il recupero dalle applicazioni.Per ulteriori informazioni, consulta Amazon SQS.

    Funzionamento di AWS IoTAWS IoT consente ai dispositivi connessi a Internet di connettersi al cloud AWS e alle applicazioni nelcloud di interagire con tali dispositivi. Le comuni applicazioni IoT raccolgono ed elaborano dati di telemetriadai dispositivi oppure permettono agli utenti di controllare un dispositivo in remoto.

    3

    https://docs.aws.amazon.com/cli/latest/userguide/https://docs.aws.amazon.com/cli/latest/reference/iot/index.htmlhttps://docs.aws.amazon.com/iot/latest/apireference/API_Operations.htmlhttp://aws.amazon.com/tools/#sdkhttps://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.htmlhttps://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.htmlhttps://aws.amazon.com/s3/https://aws.amazon.com/dynamodb/https://aws.amazon.com/dynamodb/https://aws.amazon.com/kinesis/https://aws.amazon.com/lambda/https://aws.amazon.com/sns/https://aws.amazon.com/sns/https://aws.amazon.com/sqs/

  • AWS IoT Guida per gli sviluppatoriFunzionamento di AWS IoT

    Lo stato di ogni dispositivo connesso ad AWS IoT viene memorizzato in una copia shadow del dispositivo.Il servizio Device Shadow gestisce le copie shadow dei dispositivi rispondendo alle richieste di recuperoo aggiornamento dei dati sullo stato del dispositivo. Il servizio Device Shadow consente ai dispositivi dicomunicare con le applicazioni e alle applicazioni di comunicare con i dispositivi.

    La comunicazione tra un dispositivo e AWS IoT è protetta dai certificati X.509. AWS IoT è in grado digenerare un certificato per tuo conto oppure puoi scegliere di utilizzarne uno creato da te. In entrambi icasi, il certificato deve essere registrato e attivato su AWS IoT e quindi copiato nel dispositivo. Quando ildispositivo comunica con AWS IoT, presenta il certificato a AWS IoT come credenziale.

    Consigliamo che per tutti i dispositivi che si connettono a AWS IoT sia presente una voce nel registro dioggetti. Nel registro vengono archiviate le informazioni sui dispositivi e sui certificati usati da questi ultimiper proteggere la comunicazione con AWS IoT.

    Puoi creare regole che definiscono una o più operazioni da eseguire in base ai dati contenuti in unmessaggio. Ad esempio, puoi inserire, aggiornare o interrogare una tabella di DynamoDB o richiamare unafunzione Lambda. Le regole usano espressioni per filtrare i messaggi. Quando una regola corrisponde a unmessaggio, il motore di regole attiva l'operazione usando le proprietà selezionate. Le regole contengonoinoltre un ruolo IAM che concede a AWS IoT l'autorizzazione per le risorse AWS usate per eseguirel'operazione.

    4

  • AWS IoT Guida per gli sviluppatoriConfigurazione

    Nozioni di base su AWS IoT CoreQuesto tutorial mostra come creare le risorse necessarie per inviare, ricevere ed elaborare messaggiMQTT da dispositivi tramite AWS IoT Core. Viene usato un client MQTT per emulare un dispositivo IoT.

    Per ulteriori informazioni su AWS IoT Core consulta Che cos'è AWS IoT Core (p. 1).

    Argomenti• Configurazione (p. 5)• Accedere alla console AWS IoT (p. 6)• Crea un oggetto (p. 7)• Come registrare un dispositivo (p. 7)• Configurazione del dispositivo (p. 15)• Visualizzazione di messaggi MQTT con il client MQTT AWS IoT (p. 15)• Configurazione e test delle regole (p. 18)• Creazione e monitoraggio di un processo AWS IoT Core (p. 29)

    ConfigurazionePrima di utilizzare AWS IoT Core per la prima volta, è necessario completare alcune attività:

    • Registrati ad AWS (p. 5)• Creazione di un utente IAM (p. 5)

    Registrati ad AWSQuando effettui la registrazione ad AWS, il tuo account viene automaticamente registrato per tutti i serviziin AWS, incluso AWS IoT Device Defender. Se disponi già di un account AWS, passa all'operazionesuccessiva. Se non disponi di un account AWS, utilizza la seguente procedura per crearne uno.

    Se non disponi di un account AWS, segui la procedura seguente per crearne uno.

    Per registrarti per creare un AWS

    1. Aprire la pagina https://aws.amazon.com/ e seleziona Create an AWS Account (Crea un accountAWS).

    2. Seguire le istruzioni online.

    Annota il numero del tuo account AWS, perché sarà necessario per eseguire l'operazione successiva.

    Creazione di un utente IAMQuesta procedura descrive come creare un utente IAM per se stessi e aggiungerlo a un gruppo chedispone di autorizzazioni a livello amministrativo da una policy gestita collegata.

    Per creare un utente amministratore per se stessi e aggiungere l'utente a un gruppo diamministratori (console)

    1. Utilizza l'indirizzo e-mail e la password del tuo account AWS per accedere come Utente rootdell'account AWS alla console IAM su https://console.aws.amazon.com/iam/.

    5

    https://aws.amazon.com/https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.htmlhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.htmlhttps://console.aws.amazon.com/iam/

  • AWS IoT Guida per gli sviluppatoriAccedere alla console AWS IoT

    Note

    È fortemente consigliato rispettare la best practice di utilizzare l'utente Administrator IAMdi seguito e conservare in un luogo sicuro le credenziali dell'utente root. Accedi come utenteroot solo per eseguire alcune attività di gestione dell'account e del servizio.

    2. Nel riquadro di navigazione selezionare Users (Utenti), quindi selezionare Add user (Aggiungi utente).3. In User name (Nome utente), immettere Administrator.4. Selezionare la casella di controllo accanto a Console di gestione AWS access (Accesso Console di

    gestione AWS). Quindi, selezionare Custom password (Password personalizzata)e immettere la nuovapassword nella casella di testo.

    5. Per impostazione predefinita, AWS richiede che nuovo utente crei una nuova password al primoaccesso. Puoi deselezionare la casella di controllo accanto a User must create a new password at nextsign-in (L'utente deve creare una nuova password al prossimo accesso) per consentire al nuovo utentedi reimpostare la propria password dopo aver effettuato l'accesso.

    6. Scegliere Next: Permissions (Successivo: Autorizzazioni).7. In Set permissions (Imposta autorizzazioni), selezionare Add user to group (Aggiungi l'utente al

    gruppo).8. Selezionare Create group (Crea gruppo).9. Nella finestra di dialogo Create group (Crea gruppo), per Group name (Nome gruppo) immettere

    Administrators.10. Scegliere Filter policies (Filtra policy), quindi selezionare AWS managed -job function (Funzione -job

    gestita da AWS) per filtrare i contenuti della tabella.11. Nell'elenco delle policy, selezionare la casella di controllo accanto ad AdministratorAccess. Seleziona

    quindi Create group (Crea gruppo).

    Note

    È necessario attivare l'accesso dell'utente o del ruolo IAM alla fatturazione prima di poterutilizzare le autorizzazioni AdministratorAccess per accedere alla console AWS Billingand Cost Management. A tale scopo, seguire le istruzioni nella fase 1 del tutorial sulla delegadell'accesso alla console di fatturazione.

    12. Nell'elenco dei gruppi seleziona la casella di controllo per il tuo nuovo gruppo. Se necessario,selezionare Refresh (Aggiorna) per visualizzare il gruppo nell'elenco.

    13. Scegliere Next: Tags (Successivo: Tag).14. (Facoltativo) Aggiungere metadati all'utente collegando i tag come coppie chiave-valore. Per ulteriori

    informazioni sull'utilizzo dei tag in IAM, consulta Tagging di entità IAM nella Guida per l'utente di IAM.15. Selezionare Next: Review (Successivo: Rivedi) per visualizzare l'elenco dei membri del gruppo da

    aggiungere al nuovo utente. Quando sei pronto per continuare, seleziona Create user (Crea utente).

    Puoi utilizzare questo stessa procedura per creare altri gruppi e utenti e per concedere agli utentil'accesso alle risorse del tuo account AWS. Per ulteriori informazioni sull'utilizzo delle policy per limitare leautorizzazioni degli utenti a risorse AWS specifiche, consulta Gestione degli accessi ed Esempi di policy.

    Accedere alla console AWS IoTPer accedere alla console AWS IoT

    1. Se non si dispone di un account AWS, crearne uno come descritto in Configurazione (p. 5).2. Accedere alla Console di gestione AWS e aprire la console AWS IoT.

    6

    https://docs.aws.amazon.com/general/latest/gr/aws_tasks-that-require-root.htmlhttps://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_billing.htmlhttps://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_billing.htmlhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.htmlhttps://docs.aws.amazon.com/IAM/latest/UserGuide/access.htmlhttps://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.htmlhttps://console.aws.amazon.com/iot/home

  • AWS IoT Guida per gli sviluppatoriCrea un oggetto

    Crea un oggettoI dispositivi connessi a AWS IoT sono rappresentati da oggetti nel registro AWS IoT. Un oggettorappresenta un dispositivo specifico o un'entità logica. Può trattarsi di un dispositivo fisico o un sensore, adesempio una lampadina o un interruttore su un muro. Può anche trattarsi di un'entità logica, ad esempioun'istanza di un'applicazione, o un'entità fisica che non si connette ad AWS IoT ma che è correlata ad altridispositivi che si connettono, ad esempio un'auto con sensori per il motore o un pannello di controllo.

    Per creare un oggetto

    1. Nella pagina Benvenuto nella console AWS IoT del riquadro di navigazione, scegliere Gestisci.2. Nella pagina You don't have any things yet (Non hai ancora oggetti), scegliere Register a thing

    (Registra un oggetto).3. Nella pagina Creating AWS IoT things (Creazione di oggetti AWS IoT), scegliere Create a single thing

    (Crea un singolo oggetto).4. Nel campo Name (Nome) della pagina Create a thing (Crea un oggetto), immettere un nome per

    l'oggetto, ad esempio MyIotThing. Seleziona Successivo. Per cambiare il nome di un oggetto, devicreare un nuovo oggetto, dargli il nuovo nome e quindi eliminare il vecchio oggetto.

    Note

    Non è consigliabile utilizzare informazioni personali identificabili nei nomi degli oggetti.

    Come registrare un dispositivoIl registro permette di tenere traccia di un record di tutti i dispositivi registrati nell'account AWS IoT Core. Ilprocesso di registrazione del dispositivo include questi passaggi:

    Argomenti• Creazione e attivazione di un certificato del dispositivo (p. 7)• Creazione di una policy AWS IoT Core (p. 9)• Collegamento di una policy AWS IoT Core a un certificato del dispositivo (p. 13)• Collegamento di un certificato a un oggetto (p. 14)

    Creazione e attivazione di un certificato del dispositivoLa comunicazione tra il dispositivo e AWS IoT Core è protetta tramite certificati X.509. AWS IoT Core puògenerare un certificato per conto tuo oppure puoi scegliere di usare il tuo certificato X.509. In questo tutorialil certificato X.509 viene generato per te da AWS IoT Core. I certificati devono essere attivati prima dell'uso.

    1. Scegli Crea certificato.

    7

  • AWS IoT Guida per gli sviluppatoriCreazione e attivazione di un certificato del dispositivo

    2. Sulla pagina Certificate created (Certificato creato), selezionare i collegamenti Download per scaricareil certificato, la chiave privata e la CA root per AWS IoT Core. Non è necessario scaricare la chiavepubblica. Salva ognuno di questi elementi nel computer e quindi scegli Activate (Attiva) per continuare.

    Note

    Il certificato CA root per il collegamento Download (Scarica) di AWS IoT consente di andarealla pagina di autenticazione del server in cui è possibile scegliere un certificato CA. Adifferenza degli altri link Scarica della pagina, il file non viene scaricato direttamente.

    8

    server-authentication.html#server-authentication-certs

  • AWS IoT Guida per gli sviluppatoriCreazione di una policy AWS IoT Core

    Tieni presente che i nomi di file scaricati potrebbero essere diversi da quelli indicati nella paginaCertificato creato. Ad esempio:

    • 2a540e2346-certificate.pem.crt• 2a540e2346-private.pem.key• 2a540e2346-public.pem.key

    Note

    Anche se improbabile, i certificati CA root sono soggetti a scadenza e revoca. Qualoraciò accadesse, dovrai copiare un nuovo certificato dell'autorità di certificazione root neldispositivo.

    3. Scegliere Done (Fatto) per tornare alla pagina principale della console AWS IoT.

    Quando si utilizza un dispositivo, è necessario copiare la chiave privata e il certificato CA root suldispositivo. Le istruzioni contenute in questa guida presuppongono che non si utilizzi un dispositivo ma sistia semplicemente acquisendo familiarità con la console AWS IoT.

    Creazione di una policy AWS IoT CoreI certificati X.509 vengono usati per l'autenticazione del dispositivo con AWS IoT Core. Le policy AWSIoT Core vengono usate per autorizzare il dispositivo a eseguire operazioni AWS IoT Core, come lasottoscrizione o la pubblicazione di argomenti MQTT. Il dispositivo presenta il proprio certificato durantel'invio di messaggi a AWS IoT Core. Per permettere al dispositivo di eseguire operazioni AWS IoT Core,devi creare una policy AWS IoT Core e collegarla al certificato del dispositivo.

    Per creare una policy AWS IoT Core

    1. Nel riquadro di navigazione a sinistra scegli Secure (Sicurezza) e quindi Policies (Policy). Nella paginaYou don't have a policy yet (Al momento non sono disponibili policy) scegli Create a policy (Crea unapolicy).

    9

  • AWS IoT Guida per gli sviluppatoriCreazione di una policy AWS IoT Core

    2. Nella pagina Create a policy (Crea una policy):

    1. Nel campo Nome immettere un nome per la policy, ad esempio My_Iot_Policy). Non utilizzaredati personali identificabili nei nomi delle policy.

    2. Nel campo Action (Operazione) immetti iot:Connect.3. Nel campo Resource ARN (ARN risorsa) immetti *.

    Note

    È possibile limitare i client (dispositivi) che possono connettersi specificando un ARN clientcome risorsa. Gli ARN client hanno il formato seguente:arn:aws:iot:your-region:your-aws-account:client/

    4. Seleziona la casella di controllo Consenti. In questo modo, tutti i client potranno connettersi a AWSIoT Core.

    10

  • AWS IoT Guida per gli sviluppatoriCreazione di una policy AWS IoT Core

    3. Fai clic sul pulsante Add Statement (Aggiungi istruzione) per aggiungere un'altra istruzione della policy.4. Nei nuovi campi visualizzati:

    1. Nel campo Action (Operazione) immetti iot:Publish.2. Nel campo Resource ARN (ARN risorsa) immettere l'ARN dell'argomento in cui il dispositivo

    eseguirà la pubblicazione.

    Note

    L'ARN dell'argomento ha il formato seguente:arn:aws:iot:your-region:your-aws-account:topic/Ad esempio:arn:aws:iot:us-west-2:571032923833:topic/ATopic

    11

  • AWS IoT Guida per gli sviluppatoriCreazione di una policy AWS IoT Core

    3. Seleziona la casella di controllo Consenti. Ciò consente alle risorse con questa policy di pubblicaremessaggi con l'argomento descritto dall'ARN in AWS IoT Core.

    5. Dopo avere immesso le informazioni per la policy, scegli Create (Crea).

    12

  • AWS IoT Guida per gli sviluppatoriCollegamento di una policy AWS IoTCore a un certificato del dispositivo

    Per ulteriori informazioni, consulta Policy IAM (p. 200).

    Collegamento di una policy AWS IoT Core a uncertificato del dispositivoDopo avere creato una policy, è necessario collegarla al certificato del dispositivo. Collegando una policyAWS IoT Core a un certificato, concedere al dispositivo le autorizzazioni specificate nella policy.

    1. Nel riquadro di navigazione a sinistra scegli Secure (Sicurezza) e quindi Certificates (Certificati).2. Nella casella per il certificato creato scegli ... per aprire un menu a discesa e quindi scegli Attach policy

    (Collega policy).

    3. In Attach policies to certificate(s) (Collega policy ai certificati) seleziona la casella di controllo accantoalla policy creata nella fase precedente e quindi scegli Attach (Collega).

    13

  • AWS IoT Guida per gli sviluppatoriCollegamento di un certificato a un oggetto

    Collegamento di un certificato a un oggettoUn dispositivo deve avere un certificato, una chiave privata e un certificato CA root per l'autenticazione conAWS IoT Core. È consigliabile anche collegare il certificato del dispositivo all'oggetto IoT che rappresentail dispositivo in AWS IoT Core. In questo modo, puoi creare policy AWS IoT Core per concedere leautorizzazioni in base ai certificati collegati agli oggetti. Per ulteriori informazioni, consulta Variabili dellepolicy di oggetto (p. 163).

    Per collegare un certificato all'oggetto che rappresenta il dispositivo nel registro

    1. Nella casella per il certificato creato scegli ... per aprire un menu a discesa e quindi scegliere Attachthing (Collega oggetto).

    2. In Attach things to certificate(s) (Collega oggetti ai certificati) seleziona la casella di controllo accantoall'oggetto registrato e quindi scegli Attach (Collega).

    3. Per verificare che l'oggetto sia collegato, seleziona la casella relativa al certificato.

    14

  • AWS IoT Guida per gli sviluppatoriConfigurazione del dispositivo

    4. Nel riquadro di navigazione a sinistra della pagina Details (Dettagli) per il certificato scegli Things(Oggetti).

    5. Per verificare che la policy sia collegata, nel riquadro di navigazione a sinistra della pagina Details(Dettagli) per il certificato scegli Policies (Policy).

    Configurazione del dispositivoPer comunicare con AWS IoT Core, in tutti i dispositivi devono essere installati un certificato del dispositivo,una chiave privata e un certificato CA root. Consulta la documentazione del dispositivo per connetterloe copiare il certificato del dispositivo, la chiave privata e il certificato dell'autorità di certificazione root neldispositivo.

    Se non disponi di un dispositivo IoT, puoi utilizzare il client MQTT, gli SDK del dispositivo AWS IoT ol'interfaccia a riga di comando di AWS. Per maggiori informazioni, vedi la sezione Utilizzo degli SDK didispositivo AWS IoT su un Raspberry Pi (p. 82). In questo caso i tutorial utilizzano un Raspberry Pi, mapossono essere facilmente adattati per l'utilizzo con altri tipi di computer.

    Visualizzazione di messaggi MQTT con il clientMQTT AWS IoT

    È possibile utilizzare il client MQTT AWS IoT nella console AWS IoT per controllare i messaggi MQTTinviati e ricevuti da AWS IoT.

    I dispositivi pubblicano i messaggi MQTT sugli argomenti per comunicare il loro stato a AWS IoT e AWSIoT pubblica i messaggi MQTT per informare i dispositivi e le app su modifiche ed eventi. È possibileutilizzare il client MQTT per sottoscrivere questi argomenti e controllare i messaggi mentre si verificano.

    15

    https://console.aws.amazon.com/iot/home

  • AWS IoT Guida per gli sviluppatoriVisualizzazione dei messaggi MQTT nel client MQTT

    È inoltre possibile utilizzare il client MQTT per pubblicare messaggi MQTT su altri dispositivi e servizi nelproprio account AWS.

    Visualizzazione dei messaggi MQTT nel client MQTTPer visualizzare i messaggi MQTT nel client MQTT

    1. Nel riquadro di navigazione a sinistra della console AWS IoT scegli Test.

    2. Effettua la sottoscrizione all'argomento in cui l'oggetto IoT pubblica. Proseguendo con l'esempio,nel campo Subscription topic (Argomento sottoscrizione) in Subscribe to a topic (Sottoscrizionea un argomento), immetti my/topic e quindi scegli Subscribe to topic (Effettua sottoscrizioneall'argomento).

    Si apre la pagina Pubblica e l'argomento my/topic viene visualizzato nella colonna Sottoscrizioni.

    16

    https://console.aws.amazon.com/iot/home

  • AWS IoT Guida per gli sviluppatoriPubblicazione di messaggi MQTT dal client MQTT

    3. Dalla pagina Pubblica è possibile pubblicare i messaggi nell'argomento sottoscritto e i messaggipubblicati in tale argomento vengono visualizzati sotto la finestra del corpo del messaggio man manoche vengono ricevuti.

    Risoluzione dei problemi

    Se i messaggi non vengono visualizzati come previsto, provare a sottoscrivere un argomento con caratterijolly come descritto in Filtri argomento (p. 273). Nell'esempio illustrato di seguito, è possibile effettuarela sottoscrizione a my/# per visualizzare i messaggi inviati a tutti gli argomenti che iniziano con my/. Gliargomenti MQTT fanno distinzione tra maiuscole e minuscole, quindi se il dispositivo pubblica messaggi sumy/Topic invece di my/topic, a cui hai effettuato la sottoscrizione, i relativi messaggi non apparirannonel client MQTT. Con il filtro argomento con caratteri jolly di my/#, verrà visualizzato il messaggio e ilnome dell'argomento non corretto utilizzato. Se continua a non funzionare, puoi effettuare la sottoscrizioneall'argomento #, che esegue la sottoscrizione a ogni argomento.

    Pubblicazione di messaggi MQTT dal client MQTTPer pubblicare