

# Nozioni di base su AWS IoT Device Defender
<a name="dd-tutorials"></a>

Avvaliti dei seguenti tutorial per imparare a utilizzare AWS IoT Device Defender.

**Topics**
+ [

# Configurazione
](dd-setting-up.md)
+ [

# Guida di audit
](audit-tutorial.md)
+ [

# Guida a ML Detect
](dd-detect-ml-getting-started.md)
+ [

# Personalizzare quando e come visualizzare i risultati dell'audit AWS IoT Device Defender
](dd-suppressions-example.md)

# Configurazione
<a name="dd-setting-up"></a>

Prima di usare AWS IoT Device Defender per la prima volta, è necessario completare le seguenti operazioni:

**Topics**
+ [

## Registrati per creare un Account AWS
](#sign-up-for-aws)
+ [

## Crea un utente con accesso amministrativo
](#create-an-admin)

## Registrati per creare un Account AWS
<a name="sign-up-for-aws"></a>

Se non disponi di un Account AWS, completa le fasi seguenti per crearne uno.

**Per registrarsi a un Account AWS**

1. Apri la pagina all'indirizzo [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup).

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Durante la registrazione di un Account AWS, viene creato un *Utente root dell'account AWS*. L'utente root dispone dell'accesso a tutte le risorse e tutti i Servizi AWS nell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente e utilizza solo l'utente root per eseguire [attività che richiedono l'accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWSAl termine del processo di registrazione, riceverai un'e-mail di conferma da . È possibile visualizzare l'attività corrente dell'account e gestire l'account in qualsiasi momento accedendo all'indirizzo [https://aws.amazon.com/](https://aws.amazon.com/) e selezionando **Il mio account**.

## Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo aver effettuato la registrazione di un Account AWS, proteggi Utente root dell'account AWS, abilita AWS IAM Identity Center e crea un utente amministratore in modo da non utilizzare l'utente root per le attività quotidiane.

**Protezione dell'Utente root dell'account AWS**

1.  Accedi alla [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e immettendo l'indirizzo email dell'Account AWS. Nella pagina successiva, inserisci la password.

   Per informazioni sull'accesso utilizzando un utente root, consulta la pagina [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) della *Guida per l'utente di Accedi ad AWS*.

1. Abilita l'autenticazione a più fattori (MFA) per l'utente root.

   Per ricevere istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente root della Account AWS (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella *Guida per l'utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita Centro identità IAM.

   Per istruzioni, consulta [Abilitazione di AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l'utente di AWS IAM Identity Center*.

1. In IAM Identity Center, assegna l'accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come origine di identità, consulta [Configurazione dell'accesso utente con IAM Identity Center directory predefinito](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'utente di AWS IAM Identity Center*.

**Accesso come utente amministratore**
+ Per accedere con l'utente IAM Identity Center, utilizza l'URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l'utente IAM Identity Center.

  Per ricevere assistenza nell'accesso mediante un utente IAM Identity Center, consulta [Accedere al portale di accesso AWS](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)nella *Guida per l'utente Accedi ad AWS*.

**Assegna l'accesso a ulteriori utenti**

1. In IAM Identity Center, crea un set di autorizzazioni conforme alla best practice dell'applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l'utente di AWS IAM Identity Center*.

1. Assegna al gruppo prima gli utenti e poi l'accesso con autenticazione unica (Single Sign-On).

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) nella *Guida per l'utente di AWS IAM Identity Center*.

Queste attività creano un Account AWS e un utente IAM con privilegi di amministratore per l'account.

# Guida di audit
<a name="audit-tutorial"></a>

Questo tutorial fornisce istruzioni su come configurare un audit ricorrente, impostare gli allarmi, esaminare i risultati dell'audit e mitigare i problemi di audit.

**Topics**
+ [

## Prerequisiti
](#audit-tutorial-prerequisites)
+ [

## Abilita i controlli di auditing
](#audit-tutorial-enable-checks)
+ [

## Visualizza i risultati di audit
](#audit-tutorial-view-audit)
+ [

## Creazione di operazioni di mitigazione dell'audit
](#audit-tutorial-mitigation)
+ [

## Applica operazioni di attenuazione ai risultati del controllo audit
](#apply-mitigation-actions)
+ [

## Creazione di un ruolo IAM di verifica AWS IoT Device Defender (facoltativo)
](#audit-iam)
+ [

## Abilita notifiche SNS (facoltativo)
](#audit-tutorial-enable-sns)
+ [

## Configurare le autorizzazioni per le chiavi gestite dal cliente (opzionale)
](#audit-tutorial-cmk-permissions)
+ [

## Abilita la registrazione (facoltativo)
](#enable-logging)

## Prerequisiti
<a name="audit-tutorial-prerequisites"></a>

Per completare questo tutorial, è necessario quanto segue:
+ Un Account AWS. Se non è stato creato, consulta [Configurazione](https://docs.aws.amazon.com/iot/latest/developerguide/dd-setting-up.html).

## Abilita i controlli di auditing
<a name="audit-tutorial-enable-checks"></a>

Nella procedura seguente è possibile abilitare i controlli di audit che analizzano le impostazioni e le policy di account e dispositivi per garantire l'applicazione delle misure di sicurezza. In questo tutorial ti chiediamo di abilitare tutti i controlli di audit, ma sei in grado di selezionare qualsiasi controllo desideri.

I prezzi di controllo auditing sono per numero di dispositivi al mese (dispositivi del parco istanze connessi a AWS IoT). Pertanto, l'aggiunta o la rimozione di controlli di audit non influirebbe sulla fattura mensile quando si utilizza questa funzionalità.

1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot). Nel riquadro di navigazione, apri **Sicurezza** e scegli **Introduzione**.

1. Scegli **Automazione della verifica di sicurezza AWS IoT**. I controlli di verifica vengono attivati automaticamente.

1. Espandi **Verifica** e scegli **Impostazioni** per visualizzare i controlli di verifica. Seleziona il nome del controllo di verifica per conoscere le operazioni eseguite dal controllo di verifica. Per ulteriori informazioni sui controlli di audit, consulta [Controlli di audit](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-audit-checks.html).

1. (Opzionale) Se già disponi di un ruolo che desideri utilizzare, scegli **Gestisci le autorizzazioni del servizio**, scegli il ruolo dall'elenco, quindi scegli **Aggiorna**.

## Visualizza i risultati di audit
<a name="audit-tutorial-view-audit"></a>

La procedura seguente mostra come visualizzare i risultati di audit. In questo tutorial vengono visualizzati i risultati dei di audit impostati nel tutorial [Abilita i controlli di auditing](#audit-tutorial-enable-checks).

**Per visualizzare i risultati di audit**

1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot). Nel riquadro di navigazione, espandi **Sicurezza**, **Verifica** e quindi scegli **Risultati**.

1. Seleziona la casella **Nome** del controllo di verifica che desideri analizzare.

1. In **Controlli non conformi**, sotto **Mitigazione**, seleziona i pulsanti informativi per informazioni sul motivo per cui non c'è conformità. Per le linee guida su come effettuare i controlli di non conformità, consulta [Controlli di audit](device-defender-audit-checks.md).

## Creazione di operazioni di mitigazione dell'audit
<a name="audit-tutorial-mitigation"></a>

Nella procedura seguente, verrà creata un’operazione di mitigazione delle verifiche AWS IoT Device Defender per abilitare la registrazione di AWS IoT. Ogni controllo di audit ha mappato le operazioni di mitigazione che influiranno sul **Tipo di operazione** scelto per il controllo di audit che desideri correggere. Per ulteriori informazioni, consulta [Operazioni di mitigazione](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-mitigation-actions.html#defender-audit-apply-mitigation-actions.html).

**Per utilizzare la console AWS IoT per creare operazioni di mitigazione**

1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot). Nel riquadro di navigazione, espandi **Sicurezza**, **Rileva** e quindi scegli **Operazioni di mitigazione**.

1. Nella pagina **Mitigation actions** (Operazioni di mitigazione) scegli **Create** (Crea).

1. Nella pagina **Crea una nuova operazione di mitigazione**, in **Nome operazione**, immetti un nome univoco per l'operazione di mitigazione come, ad esempio, *EnableErrorLoggingAction*.

1. In **Tipo di operazione**, scegli **Abilita registrazione AWS IoT**.

1. In **Autorizzazioni**, scegli **Crea ruolo**. Per **Nome ruolo**, usa *IoTMitigationActionErrorLoggingRole*. Quindi scegli **Create (Crea)**.

1. In **Parametri**, sotto **Ruolo per la registrazione**, seleziona `IoTMitigationActionErrorLoggingRole`. Per **Log level (Livello di log)**, scegli `Error`.

1. Seleziona **Create** (Crea).

## Applica operazioni di attenuazione ai risultati del controllo audit
<a name="apply-mitigation-actions"></a>

La procedura seguente mostra come applicare le operazioni di attenuazione ai risultati dell’audit.

**Per mitigare i risultati di audit non conformi**

1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot). Nel riquadro di navigazione, espandi **Sicurezza**, **Verifica** e quindi scegli **Risultati**.

1. Scegli un risultato della verifica a cui desideri rispondere.

1. Controlla i risultati.

1. Scegli **Start mitigation actions** (Avvia operazioni di mitigazione).

1. Per **Registrazione disabilitata**, scegli l'operazione di mitigazione che hai creato in precedenza, `EnableErrorLoggingAction`. Per risolvere i problemi, puoi selezionare le operazioni appropriate per ogni esito non conforme.

1. Per **Seleziona codici motivo**, scegli il codice del motivo che è stato restituito dal controllo di verifica.

1. Scegli **Avvia attività**. L'esecuzione dell'operazione di mitigazione potrebbe richiedere alcuni minuti.

**Per verificare che l'operazione di mitigazione abbia funzionato**

1. Nella console AWS IoT, nel riquadro di navigazione scegli **Impostazioni**.

1. In **Registro del servizio**, conferma che **Livello di log** sia `Error (least verbosity)`.

## Creazione di un ruolo IAM di verifica AWS IoT Device Defender (facoltativo)
<a name="audit-iam"></a>

Nella procedura seguente, è possibile creare un ruolo IAM di verifica AWS IoT Device Defender che fornisce a AWS IoT Device Defender l’accesso in lettura per AWS IoT.

**Creazione del ruolo di servizio per AWS IoT Device Defender (console IAM)**

1. Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione della console IAM, scegliere **Ruoli** e quindi **Crea ruolo**.

1. Scegli il tipo di ruolo **Servizio AWS**.

1. In **Casi d'uso per altri servizi AWS**, scegli **AWS IoT**, quindi scegli **IoT - Impostazioni di audit di Device Defender**.

1. Scegli **Next (Successivo)**.

1. (Facoltativo) Impostare un [limite delle autorizzazioni](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Questa è una funzionalità avanzata disponibile per i ruoli di servizio, ma non per i ruoli collegati ai servizi. 

   Apri la sezione **Permissions boundary** (Limite delle autorizzazioni) e scegli **Use a permissions boundary to control the maximum role permissions** (Usa un limite delle autorizzazioni per controllare il numero massimo di autorizzazioni del ruolo). IAM include un elenco delle policy gestite da AWS e dal cliente nel tuo account. Selezionare la policy da utilizzare per il limite delle autorizzazioni o scegliere **Crea policy** per aprire una nuova scheda del browser e creare una nuova policy da zero. Per ulteriori informazioni, consulta [Creating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) nella *Guida per l’utente di IAM*. Una volta creata la policy, chiudi la scheda e torna alla scheda originale per selezionare la policy da utilizzare per il limite delle autorizzazioni.

1. Scegli **Next (Successivo)**.

1. Inserisci un nome del ruolo che consenta di identificarne lo scopo. I nomi dei ruoli devono essere univoci all'interno dell' Account AWS. Non fanno distinzione tra maiuscole e minuscole. Ad esempio, non è possibile creare ruoli denominati sia **PRODROLE** che **prodrole**. Poiché varie entità possono fare riferimento al ruolo, non è possibile modificare il nome del ruolo dopo averlo creato.

1. (Facoltativo) In **Descrizione**, inserisci una descrizione per il nuovo ruolo.

1. Scegli **Modifica** nelle sezioni **Fase 1: seleziona le entità attendibili** o **Fase 2: seleziona autorizzazioni** per modificare i casi d'uso e le autorizzazioni per il ruolo. 

1. (Facoltativo) Aggiungi metadati all'utente collegando i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo di tag in IAM, consulta la sezione [Applicazione di tag alle risorse IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) nella *Guida per l'utente di IAM*.

1. Rivedere il ruolo e scegliere **Crea ruolo**.

## Abilita notifiche SNS (facoltativo)
<a name="audit-tutorial-enable-sns"></a>

Nella procedura seguente, è possibile abilitare le notifiche Amazon SNS (SNS) per avvisare l'utente quando le verifiche identificano eventuali risorse non conformi. In questo tutorial verranno impostate le notifiche per i controlli di audit abilitati nel tutorial [Abilita i controlli di auditing](#audit-tutorial-enable-checks).

1. Se non l'hai già fatto, collega una policy che fornisce l'accesso a SNS attraverso la Console di gestione AWS. Puoi effettuare questa operazione seguendo le istruzioni in [Collegamento di una policy a un gruppo di utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_attach-policy.html) nella *Guida per l'utente IAM* e selezionando la policy **AWSIoTDeviceDefenderPublishFindingsToSNSMitigationAction**.

1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot). Nel riquadro di navigazione, espandi **Sicurezza**, **Verifica** e quindi scegli **Impostazioni**.

1. Nella parte inferiore della pagina **Impostazioni di audit di Device Defender**, scegli **Abilita gli avvisi SNS**.

1. Scegli **Enabled** (Abilitato).

1. Per **Argomento**, scegli **Crea nuovo argomento**. Denomina l'argomento *IoTDDNotifications* e seleziona **Crea**. Per **Ruolo** scegli il ruolo creato in [Creazione di un ruolo IAM di verifica AWS IoT Device Defender (facoltativo)](#audit-iam).

1. Scegliere **Aggiorna**.

1. Se desideri ricevere e-mail o messaggi nelle tue piattaforme Ops tramite SNS, consulta [Utilizzo di Amazon Simple Notification Service per notifiche all'utente](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html).

## Configurare le autorizzazioni per le chiavi gestite dal cliente (opzionale)
<a name="audit-tutorial-cmk-permissions"></a>

**Nota**  
Questa configurazione è necessaria solo se hai optato per le chiavi gestite dal cliente per AWS IoT Core. Per ulteriori informazioni sulla crittografia dei dati inattivi su AWS IoT Core, consulta [Crittografia dei dati inattivi in AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/encryption-at-rest.html).

Se hai abilitato le chiavi gestite dai clienti (CMK) per la crittografia AWS IoT Core dei dati inattivi, il ruolo IAM utilizzato da AWS IoT Device Defender Audit richiede autorizzazioni aggiuntive per decrittografare i dati. Senza queste autorizzazioni, le operazioni di audit avranno esito negativo.

La policy [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSIoTDeviceDefenderAudit.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSIoTDeviceDefenderAudit.html) gestita non include le autorizzazioni `kms:Decrypt` in base alla progettazione, secondo il principio del privilegio minimo. È necessario aggiungere manualmente queste autorizzazioni al proprio ruolo di audit quando si utilizzano chiavi gestite dal cliente.

**Per aggiungere le autorizzazioni al ruolo IAM di AWS IoT Device Defender Audit.**

1. Accedi alla Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, scegli **Ruoli**, quindi cerca il ruolo che hai creato in [Creazione di un ruolo IAM di verifica AWS IoT Device Defender (facoltativo)](#audit-iam) o il ruolo che hai specificato durante la configurazione delle impostazioni di audit.

1. Seleziona il nome del ruolo per aprire la relativa pagina dei dettagli.

1. Nella scheda **Autorizzazioni**, scegli **Aggiungi autorizzazioni**, poi **Crea policy inline**.

1. Scegli la scheda **JSON** e aggiungi la policy seguente. Sostituisci *REGION*, *ACCOUNT\$1ID* e *KEY\$1ID* con i tuoi dettagli chiave AWS KMS:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt"
         ],
         "Resource": "arn:aws:kms:REGION:ACCOUNT_ID:key/KEY_ID"
       }
     ]
   }
   ```

1. Scegli **Next (Successivo)**.

1. Per il **nome della policy**, inserisci un nome descrittivo, ad esempio **DeviceDefenderAuditKMSDecrypt**.

1. Scegli **Crea policy**.

## Abilita la registrazione (facoltativo)
<a name="enable-logging"></a>

Questa procedura descrive come abilitare AWS IoT per registrare le informazioni in CloudWatch Logs. In questo modo è possibile visualizzare i risultati di audit. L'abilitazione della registrazione può comportare spese aggiuntive.

**Per attivare la registrazione**

1. Apri la [AWS IoT console](https://console.aws.amazon.com/iot). Nel riquadro di navigazione, seleziona **Impostazioni**.

1. In **Log**, scegli **Gestisci log**.

1. Per **Seleziona ruolo**, scegli **Crea ruolo**. Denomina il ruolo *AWSIoTLoggingRole* e scegli **Crea**. Viene collegata automaticamente una policy.

1. Per **Livello di log**, scegli **Debug (livello massimo di dettaglio)**.

1. Scegliere **Aggiorna**.

# Guida a ML Detect
<a name="dd-detect-ml-getting-started"></a>

**Nota**  
Il rilevamento ML al momento non è disponibile nelle seguenti regioni:  
Asia Pacifico (Malesia)

In questa guida introduttiva viene creato un profilo di protezione ML Detect che utilizza Machine Learning (ML) per creare modelli di comportamento previsto basati sui dati cronologici dei parametri provenienti dai dispositivi. È possibile monitorare l’avanzamento della creazione del modello ML da parte di ML Detec. Dopo aver creato il modello ML, è possibile visualizzare ed esaminare continuamente gli allarmi, nonché mitigare i problemi identificati.

Per ulteriori informazioni su ML Detect e i relativi comandi API e CLI, consulta [Rilevamento ML](dd-detect-ml.md).

**Topics**
+ [

## Prerequisiti
](#ml-detect-prereqs)
+ [

## Come usare ML Detect nella console
](#dd-detect-ml-console)
+ [

## Come utilizzare ML Detect con CLI
](#dd-detect-ml-cli)

## Prerequisiti
<a name="ml-detect-prereqs"></a>
+ Un Account AWS. Se non è stato creato, consultare [Setting up (Configurazione)](https://docs.aws.amazon.com/iot/latest/developerguide/dd-setting-up.html).

## Come usare ML Detect nella console
<a name="dd-detect-ml-console"></a>

**Topics**
+ [

### Abilita ML Detect
](#enable-ml-detect-console)
+ [

### Monitoraggio dello stato del modello ML
](#monitor-ml-models-console)
+ [

### Esamina gli allarmi ML Detect
](#review-ml-alarms-console)
+ [

### Ottimizzare gli allarmi ML
](#fine-tune-ml-models-console)
+ [

### Contrassegna lo stato di verifica dell’allarme
](#mark-your-alarms)
+ [

### Mitigazione dei problemi identificati sul dispositivo
](#mitigate-ml-issues-console)

### Abilita ML Detect
<a name="enable-ml-detect-console"></a>

Le seguenti procedure illustrano come configurare ML Detect nella console.

1. Innanzitutto, assicurati che i tuoi dispositivi creino i datapoint minimi richiesti come definito in [Requisiti minimi ML Detect](dd-detect-ml.md#dd-detect-ml-requirements) per la formazione continua e il refresh del modello. Per far progredire la raccolta dei dati, assicurati che il tuo profilo di sicurezza sia collegato a una destinazione, che può essere un oggetto o un gruppo di oggetti.

1. In [AWS IoT console](https://console.aws.amazon.com/iot), nel pannello di navigazione, espandi **Defend (Protezione)**. Scegli **Detect (Rilevamento)**, **Security profiles (Profili di sicurezza)**, **Create security profile (Crea profilo di sicurezza)**, e quindi **Create ML anomaly Detect profile (Crea profilo ML Detect anomalia )**.

1. Sulla pagina **Set basic configurations (Imposta configurazioni di base)** esegui le operazioni seguenti.
   + In **Target** seleziona i gruppi di dispositivi di destinazione.
   + In **Security profile name (Nome profilo di sicurezza)** immetti un nome per il tuo profilo di sicurezza.
   + (Facoltativo) In **Description (Descrizione)** puoi scrivere una breve descrizione del profilo ML.
   + In **Selected metric behaviors in Security Profile (Comportamenti delle metriche selezionati nel profilo di sicurezza)**, scegli le metriche che desideri monitorare.  
![\[Pagina di configurazione Crea il profilo di sicurezza ML con tutti gli elementi registrati selezionati, come la destinazione, comportamenti delle metriche elencati, ad esempio errori di autorizzazione e tentativi di connessione e opzioni per aggiungere metriche lato cloud o dispositivo.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-set-basic.png)

   Al termine, selezionare **Next (Successivo)**.

1. Su **Set SNS (Imposta SNS) (opzionale)**, specifica un argomento SNS per le notifiche di avviso quando un dispositivo viola un comportamento nel profilo. Scegliere un ruolo IAM che utilizzerai per pubblicare sull’argomento SNS selezionato.

   Se non disponi ancora di un ruolo SNS, attieniti alla seguente procedura per creare un ruolo con le autorizzazioni e le relazioni di trust corrette richieste. 
   + Passare alla [Console IAM](https://console.aws.amazon.com/iam/). Nel riquadro di navigazione, scegli **Ruoli**, quindi **Crea ruolo**.
   + In **Seleziona tipo di entità attendibile** seleziona **Servizio AWS**. Quindi, in **Choose a use case (Scegli un caso d’uso)**, scegli **IoT** e in **Select your use case (Seleziona il caso d’uso)**, scegli **IoT - Device Defender Mitigation Actions (IoT - Operazioni di mitigazione Device Defender)**. Al termine della configurazione delle autorizzazioni, scegli **Next (Avanti)**.
   + In **Attached permissions policies (Policy di autorizzazione collegate)**, assicurati che **awSiotDeviceDefenderPublishFindingsToSNSmitigationAction** sia selezionato, quindi scegli **Next: Tags (Successivo: Tag)**.  
![\[Tabella delle policy di autorizzazione per un ruolo AWS IoT Device Defender con i nomi e le descrizioni delle policy, la descrizione di ciò a cui ogni policy fornisce l’accesso e le opzioni per filtrare o cercare le policy.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-sns-findings.png)
   + In **Add tags (Aggiunta di tag) (facoltativo)** puoi aggiungere i tag da associare al tuo ruolo. Al termine, seleziona **Successivo: esamina**.
   + In **Review (Revisione)**, assegna un nome al tuo ruolo e assicurati che **awSiotDeviceDefenderPublishFindingsToSNSmitigationAction** sia elencato sotto **Permissions (Autorizzazioni)** e che **Servizi AWS: iot.amazonaws.com** sia elencato sotto **Trust relationships (Relazioni di trust)**. Al termine, seleziona **Create role (Crea ruolo)**.  
![\[Pagina di riepilogo dei ruoli IAM che mostra i dettagli del ruolo SNS di esempio, come ARN del ruolo, descrizione, ARN del profilo dell’istanza, percorso, ora di creazione, durata massima della sessione ed esiti della pubblicazione di AWS IoT Device Defender applicati alla policy di azione di mitigazione SNS\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-detect-permissions.png)  
![\[Riepilogo del ruolo IAM SNS di esempio che mostra l’ARN del ruolo, la descrizione del ruolo che fornisce l’accesso AWS IoT Device Defender in scrittura per la pubblicazione di notifiche SNS, il percorso, l’ora di creazione e le entità affidabili\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-detect-trust-relationships.png)

1. Sullla pagina **Edit Metric behavior (Modifica comportamento della metrica)**, è possibile personalizzare le impostazioni di comportamento ML.   
![\[Sezione Modifica i comportamenti delle metriche che mostra metriche relative agli errori di autorizzazione, ai byte in ingresso e ai tentativi di connessione, con la possibilità di configurare i punti dati per l’attivazione di allarmi, le notifiche e i livelli di affidabilità di ML Detect.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-update-config.png)

1. Al termine, selezionare **Next (Successivo)**.

1. Sulla pagina **Review configuration (Verifica della configurazione)**, verifica i comportamenti che desideri monitorare l’apprendimento automatico e quindi scegli **Next (Successivo)**.  
![\[Pagina Modifica il profilo di sicurezza ML che mostra Smart_lights_ML_Detect_Security_Profile per tutti gli elementi registrati, con comportamenti delle metriche per errori di autorizzazione, byte in uscita, tentativi di connessione e disconnessioni.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-review-config.png)

   

1. Dopo aver creato il tuo profilo di sicurezza, verrai reindirizzato alla pagina **Security Profiles (Profili di sicurezza)**, in cui viene visualizzato il profilo di sicurezza appena creato.
**Nota**  
La formazione iniziale e la creazione del modello ML richiedono 14 giorni per essere completate. Puoi aspettarti di vedere gli allarmi al termine in caso di attività anomala sui tuoi dispositivi.

### Monitoraggio dello stato del modello ML
<a name="monitor-ml-models-console"></a>

Mentre i modelli ML si trovano nel periodo iniziale di allenamento, puoi monitorarne i progressi in qualsiasi momento seguendo le seguenti operazioni.

1. Nel riquadro di spostamento dell’[AWS IoT console](https://console.aws.amazon.com/iot), espandi **Defend (Protezione)**, poi seleziona **Detect (Rileva)**, e **Security profiles (Profili di sicurezza)**.

1. Sulla pagina **Security profiles (Profili di sicurezza)**, scegli il profilo di sicurezza che desideri rivedere. Quindi, scegli **Behaviors and ML training (Comportamenti e formazione ML)**.

1. Sulla pagina **Behaviors and ML training (Comportamenti e formazione ML)**, controlla l’avanzamento della formazione dei modelli ML.

   Quando lo stato del modello risulta **Active (Attivo)**, inizierà a prendere le decisioni di Detect in base al tuo utilizzo e aggiornerà il profilo ogni giorno.  
![\[Dashboard che mostra modelli di machine learning a basso livello di affidabilità per il monitoraggio delle porte di ascolto TCP/UDP e delle connessioni TCP stabilite.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-active-state.png)

**Nota**  
Se il tuo modello non progredisce come previsto, assicurati che i tuoi dispositivi soddisfino il [Requisiti minimi](dd-detect-ml.md#dd-detect-ml-requirements).

### Esamina gli allarmi ML Detect
<a name="review-ml-alarms-console"></a>

Dopo che i modelli ML sono stati creati e sono pronti per l’inferenza dei dati, è possibile visualizzare regolarmente tutti gli allarmi che vengono dedotti dai modelli.

1. Nell’[AWS IoT console](https://console.aws.amazon.com/iot), nel pannello di navigazione, espandi **Defend (Protezione)** e poi scegli **Detect (Rileva)**, **Alarms (Allarmi)**.  
![\[Elenco di allarmi AWS IoT Device Defender che mostra 5 allarmi di errore di autorizzazione attivi con le colonne Nomi elementi, Profilo di sicurezza, tipo di comportamento, nome del comportamento, ora dell’ultima emissione e stato della verifica.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-alarms.png)

1. Se accedi alla **Cronologia**, puoi visualizzare i dettagli sui tuoi dispositivi che non sono più in allarme.  
![\[Grafico a linee che mostra gli allarmi scattati, cancellati e invalidati in un periodo di due settimane, con il numero di allarmi sull’asse y e le date sull’asse x.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-history-alarm.png)

   Per ottenere altre informazioni, in **Manage (Gestione)** scegli **Things (Oggetti)**, seleziona l’oggetto per cui desideri visualizzare maggiori dettagli, quindi vai a **Defender metrics (Parametri di Defender)**. Puoi accedere al **Defender metrics graph (Grafico delle metriche di Defender)** ed eseguire l’indagine su qualsiasi cosa in allarme dalla scheda **Active (Attivo)**. In questo caso, il grafico mostra un picco nella dimensione del messaggio, che ha attivato l’allarme. È possibile visualizzare l’allarme che è stato successivamente cancellato.  
![\[Dashboard degli oggetti IoT che mostra il grafico metrico della dimensione massima dei messaggi con un picco di 801 byte nella data e ora specificate.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-defender-metrics.png)

### Ottimizzare gli allarmi ML
<a name="fine-tune-ml-models-console"></a>

Una volta che i modelli ML sono stati creati e sono pronti per l’inferenza dei dati, è possibile aggiornare le impostazioni di comportamento ML del profilo di sicurezza per modificare la configurazione. La procedura seguente mostra come aggiornare le impostazioni di comportamento ML del profilo di sicurezza nell’area AWS CLI.

1. Nel riquadro di spostamento dell’[AWS IoT console](https://console.aws.amazon.com/iot), espandi **Defend (Protezione)**, espandi **Detect (Rileva)**, e seleziona **Security profiles (Profili di sicurezza)**.

1. Sulla pagina **Security Profiles (Profili di sicurezza)** seleziona la casella di controllo accanto al profilo di sicurezza che desideri esaminare. Scegli **Actions (Operazioni)**, quindi **Edit (Modifica)**.   
![\[Elenco dei profili di sicurezza AWS IoT Device Defender che mostra il nome del profilo, il tipo di soglia ML, i comportamenti mantenuti, gli oggetti di destinazione, la data di creazione e lo stato delle notifiche\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-fine-tune.png)

1. In **Set basic configurations (Imposta configurazioni di base)**, è possibile modificare i gruppi di oggetti di destinazione del profilo di sicurezza o modificare le metriche che si desidera monitorare.  
![\[Pagina di configurazione Crea il profilo di sicurezza ML con tutti gli elementi registrati selezionati, come la destinazione, comportamenti delle metriche elencati, ad esempio errori di autorizzazione e tentativi di connessione e opzioni per aggiungere metriche lato cloud o dispositivo\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-set-basic.png)

1. È possibile aggiornare qualsiasi delle seguenti opzioni accedendo a **Edit metric behaviors (Modifica dei comportamenti delle metriche)**.
   + I datapoint del modello ML necessari per attivare l’allarme
   + I datapoint del modello ML necessari per attivare l’allarme
   + Il tuo livello di fiducia in ML Detect
   + Le notifiche di ML Detect (ad esempio, **Not suppressed (Non soppresso)**, **Suppressed (Soppressione)**)  
![\[Sezione Modifica i comportamenti delle metriche con opzioni per configurare le metriche relative agli errori di autorizzazione, ai byte in uscita e ai tentativi di connessione per il profilo di sicurezza ML.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-update-config-2.png)

### Contrassegna lo stato di verifica dell’allarme
<a name="mark-your-alarms"></a>

Contrassegna i tuoi allarmi impostando lo stato di verifica e fornendo una descrizione dello stato di verifica. Questo aiuta te e il tuo team a identificare gli allarmi da ignorare.

1. Nella [console AWS IoT](https://console.aws.amazon.com/iot/), nel pannello di navigazione, espandi **Defend** (Proteggi) e poi scegli **Detect** (Rileva), **Alarms** (Allarmi). Seleziona un avviso per contrassegnarne lo stato di verifica.  
![\[Vista degli allarmi AWS IoT Device Defender che mostra gli eventi di comportamento di errore delle autorizzazioni attive per dispositivi della console IoT come iotconsole-6f8379bc-c245-4ffe-8ef7-b2b52e78975c con profilo di sicurezza fdsa.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-alarm-select.png)

1. Scegli **Mark verification state** (Contrassegna stato di verifica). Si apre il modale dello stato di verifica.

1. Scegli lo stato di verifica appropriato, inserisci una descrizione della verifica (facoltativa), quindi scegli **Mark** (Contrassegna). Questa operazione assegna uno stato di verifica e una descrizione all’allarme scelto.  
![\[Finestra di dialogo per contrassegnare lo stato di verifica dell’allarme con le opzioni: Sconosciuto, Vero positivo, Falso positivo, Benigno positivo.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-alarm-state-window.png)

### Mitigazione dei problemi identificati sul dispositivo
<a name="mitigate-ml-issues-console"></a>

1. *(Opzionale)* Prima di impostare le azioni di attenuazione della quarantena, impostiamo un gruppo di quarantena in cui sposteremo il dispositivo in violazione. È anche possibile utilizzare un gruppo esistente.

1. Accedi a **Manage (Gestione)**, **Thing groups (Gruppi di oggetti)**, e poi **Create Thing Group (Crea gruppo di oggetti)**. Nomina il tuo gruppo di oggetti. Per questo tutorial, chiameremo il gruppo di oggetti `Quarantine_group`. In **Thing group (Gruppo di oggetti)**, **Security (Sicurezza)** applica la policy seguente al gruppo di oggetti.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "iot:*",
               "Resource": "*"
           }
       ]
   }
   ```

------  
![\[Pagina della console AWS IoT Crea gruppo di oggetti con il pulsante Crea gruppo di oggetti.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-create-thing-group.png)

   Al termine, seleziona **Create thing group (Crea gruppo di oggetti)**.

1. Ora che abbiamo creato un gruppo di oggetti, creiamo un’operazione di mitigazione che sposta i dispositivi in allarme nel `Quarantine_group`.

   In **Defend (Protezione)**, **Mitigation actions (Operazioni di mitigazione)**, scegli **Create (Crea)**.  
![\[Modulo di configurazione dell’azione di mitigazione AWS IoT Device Defender con i campi Nome azione, Tipo di azione, Autorizzazioni, Ruolo di esecuzione dell’azione e Gruppi di oggetti.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-miti-create.png)

1. Sulla pagina **Create a new mitigation action (Creare una nuova operazione di mitigazione)** immetti le informazioni riportate di seguito.
   + **Action name (Nome operazione)**: assegna un nome all’operazione di mitigazione, ad esempio **Quarantine\$1action**.
   + **Action type (Tipo di operazione)**: scegli il tipo di operazione. Sceglieremo **Add things to thing group (Audit or Detect mitigation) (Aggiungi oggetti al gruppo di oggetti (Audit o Rileva mitigazione)**.
   + **Action execution role (Ruolo per l’esecuzione)**: crea un ruolo o scegli un ruolo esistente se è stato creato in precedenza.
   + **Parameters (Parametri)**: scegli un gruppo di oggetti. Possiamo usare `Quarantine_group` che abbiamo creato in precedenza.  
![\[Modulo di configurazione dell’azione di mitigazione AWS IoT Device Defender con i campi Nome azione, Tipo di azione, Autorizzazioni, Ruolo di esecuzione dell’azione e Gruppi di oggetti.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-miti-create-form.png)

   Una volta terminato, scegli **Salva**. Ora hai un’operazione di mitigazione che sposta i dispositivi in allarme in un gruppo di oggetti di quarantena e un’operazione di mitigazione per isolare il dispositivo durante l’indagine.

1. Accedi a **Defender (Protezione)**, **Detect (Rilevamento)**, **Alarms (Allarmi)**. In **Active (Attivo)** puoi vedere quali dispositivi sono in stato di allarme.  
![\[Elenco di allarmi AWS IoT Device Defender che mostra 5 allarmi di errore di autorizzazione attivi con le colonne Nomi elementi, Profilo di sicurezza, tipo di comportamento, nome del comportamento, ora dell’ultima emissione e stato della verifica.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-alarms.png)

   Seleziona il dispositivo che desideri spostare nel gruppo di quarantena e scegli **Start Mitigation Actions (Avvia le operazioni di mitigazione)**.

1. In **Start Mitigation Actions (Avvia le operazioni di mitigazione)**, **Start Actions (Avvia operazioni)** seleziona l’operazione di mitigazione creata in precedenza. Ad esempio prima sceglieremo **Quarantine\$1action**, poi **Start (Avvio)**. Si apre la pagina Task delle operazioni.  
![\[Finestra di dialogo relativa alle azioni di mitigazione con "udml7" elencato come oggetto interessato, casella di controllo per confermare le azioni irreversibili e menu a tendina per scegliere le azioni da eseguire.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-start-action.png)

1. Il dispositivo è ora isolato in **Quarantine\$1group** ed è inoltre possibile analizzare la causa principale del problema che ha attivato l’allarme. Dopo aver completato l’indagine, è possibile spostare il dispositivo fuori dal gruppo di oggetti o eseguire ulteriori operazioni.  
![\[Tabella delle attività dell’azione Detect AWS IoT Device Defender che mostra un’azione di quarantena per aggiungere elementi al gruppo di oggetti quarantine_group.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-ml-action-tasks.png)

   

## Come utilizzare ML Detect con CLI
<a name="dd-detect-ml-cli"></a>

Di seguito viene mostrato come configurare ML Detect utilizzando la CLI.

**Topics**
+ [

### Abilita ML Detect
](#enable-ml-detect-cli)
+ [

### Monitoraggio dello stato del modello ML
](#monitor-ml-models-cli)
+ [

### Esamina gli allarmi ML Detect
](#review-ml-alarms-cli)
+ [

### Ottimizzare gli allarmi ML
](#fine-tune-ml-models-cli)
+ [

### Contrassegna lo stato di verifica dell’allarme
](#mark-verification-state-cli)
+ [

### Mitigazione dei problemi identificati sul dispositivo
](#mitigate-issues-cli)

### Abilita ML Detect
<a name="enable-ml-detect-cli"></a>

La procedura seguente mostra come abilitare ML Detect nella AWS CLI. 

1. Assicurati che i tuoi dispositivi creino i datapoint minimi richiesti come definito in [ML Rileva i requisiti minimi](dd-detect-ml.md#dd-detect-ml-requirements) per la formazione continua e il refresh del modello. Per far progredire la raccolta dei dati, assicurati che i tuoi oggetti si trovino in un gruppo di elementi collegato a un profilo di sicurezza.

1. Creare un profilo di protezione Rileva ML utilizzando il comando `[create-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/create-security-profile.html)`. Nell’esempio seguente viene creato un profilo di sicurezza denominato *security-profile-for-smart-lights* che controlla il numero di messaggi inviati, il numero di errori di autorizzazione, il numero di tentativi di connessione e il numero di disconnessioni. L’esempio utilizza `mlDetectionConfig` per stabilire che il parametro utilizzerà il modello ML Detect.

   ```
   aws iot create-security-profile \
       --security-profile-name security-profile-for-smart-lights \
       --behaviors \
        '[{
       "name": "num-messages-sent-ml-behavior",
       "metric": "aws:num-messages-sent",
       "criteria": {
         "consecutiveDatapointsToAlarm": 1,
         "consecutiveDatapointsToClear": 1,
         "mlDetectionConfig": {
           "confidenceLevel": "HIGH"
         }
       },
       "suppressAlerts": true
     },
     {
       "name": "num-authorization-failures-ml-behavior",
       "metric": "aws:num-authorization-failures",
       "criteria": {
         "consecutiveDatapointsToAlarm": 1,
         "consecutiveDatapointsToClear": 1,
         "mlDetectionConfig": {
           "confidenceLevel": "HIGH"
         }
       },
       "suppressAlerts": true
     },
     {
       "name": "num-connection-attempts-ml-behavior",
       "metric": "aws:num-connection-attempts",
       "criteria": {
         "consecutiveDatapointsToAlarm": 1,
         "consecutiveDatapointsToClear": 1,
         "mlDetectionConfig": {
           "confidenceLevel": "HIGH"
         }
       },
       "suppressAlerts": true
     },
     {
       "name": "num-disconnects-ml-behavior",
       "metric": "aws:num-disconnects",
       "criteria": {
         "consecutiveDatapointsToAlarm": 1,
         "consecutiveDatapointsToClear": 1,
         "mlDetectionConfig": {
           "confidenceLevel": "HIGH"
         }
       },
       "suppressAlerts": true
     }]'
   ```

   Output:

   ```
   {
       "securityProfileName": "security-profile-for-smart-lights",
       "securityProfileArn": "arn:aws:iot:eu-west-1:123456789012:securityprofile/security-profile-for-smart-lights"
     }
   ```

1. Associa ora il tuo profilo di sicurezza a uno o più gruppi di oggetti. Utilizzo dell’`[attach-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/attach-security-profile.html)` per collegare un gruppo di oggetti al tuo profilo di sicurezza. L’esempio seguente associa un gruppo di oggetti denominato *ML\$1Detect\$1beta\$1static\$1group* con il profilo di sicurezza *security-profile-for-smart-lights*.

   ```
   aws iot attach-security-profile \
   --security-profile-name security-profile-for-smart-lights \
   --security-profile-target-arn arn:aws:iot:eu-west-1:123456789012:thinggroup/ML_Detect_beta_static_group
   ```

   Output:

   Nessuna.

1. Dopo aver creato il profilo di sicurezza completo, il modello ML inizia la formazione. La formazione iniziale e la costruzione del modello ML richiedono 14 giorni per essere completate. Dopo 14 giorni, in caso di attività anomale sul tuo dispositivo, potrebbero comparire allarmi .

### Monitoraggio dello stato del modello ML
<a name="monitor-ml-models-cli"></a>

Nella seguente procedura viene mostrato come monitorare i modelli di ML in corso di formazione.
+ Utilizzo dell’`[get-behavior-model-training-summaries](https://docs.aws.amazon.com/cli/latest/reference/iot/get-behavior-model-training-summaries.html)` per visualizzare lo stato di avanzamento del modello ML. Nell’esempio seguente viene ottenuto il riepilogo dell’avanzamento della formazione del modello ML per il profilo di sicurezza *security-profile-for-smart-lights*. `modelStatus` indica se un modello ha completato la formazione o è ancora in attesa di compilazione per un particolare comportamento.

  ```
  aws iot get-behavior-model-training-summaries \
     --security-profile-name security-profile-for-smart-lights
  ```

  Output:

  ```
  {
      "summaries": [
          {
              "securityProfileName": "security-profile-for-smart-lights",
              "behaviorName": "Messages_sent_ML_behavior",
              "trainingDataCollectionStartDate": "2020-11-30T14:00:00-08:00",
              "modelStatus": "ACTIVE",
              "datapointsCollectionPercentage": 29.408,
              "lastModelRefreshDate": "2020-12-07T14:35:19.237000-08:00"
          },
          {
              "securityProfileName": "security-profile-for-smart-lights",
              "behaviorName": "Messages_received_ML_behavior",
              "modelStatus": "PENDING_BUILD",
              "datapointsCollectionPercentage": 0.0
          },
          {
              "securityProfileName": "security-profile-for-smart-lights",
              "behaviorName": "Authorization_failures_ML_behavior",
              "trainingDataCollectionStartDate": "2020-11-30T14:00:00-08:00",
              "modelStatus": "ACTIVE",
              "datapointsCollectionPercentage": 35.464,
              "lastModelRefreshDate": "2020-12-07T14:29:44.396000-08:00"
          },
          {
              "securityProfileName": "security-profile-for-smart-lights",
              "behaviorName": "Message_size_ML_behavior",
              "trainingDataCollectionStartDate": "2020-11-30T14:00:00-08:00",
              "modelStatus": "ACTIVE",
              "datapointsCollectionPercentage": 29.332,
              "lastModelRefreshDate": "2020-12-07T14:30:44.113000-08:00"
          },
          {
              "securityProfileName": "security-profile-for-smart-lights",
              "behaviorName": "Connection_attempts_ML_behavior",
              "trainingDataCollectionStartDate": "2020-11-30T14:00:00-08:00",
              "modelStatus": "ACTIVE",
              "datapointsCollectionPercentage": 32.891999999999996,
              "lastModelRefreshDate": "2020-12-07T14:29:43.121000-08:00"
          },
          {
              "securityProfileName": "security-profile-for-smart-lights",
              "behaviorName": "Disconnects_ML_behavior",
              "trainingDataCollectionStartDate": "2020-11-30T14:00:00-08:00",
              "modelStatus": "ACTIVE",
              "datapointsCollectionPercentage": 35.46,
              "lastModelRefreshDate": "2020-12-07T14:29:55.556000-08:00"
          }
      ]
  }
  ```

**Nota**  
Se il tuo modello non progredisce come previsto, assicurati che i tuoi dispositivi soddisfino il [Requisiti minimi](dd-detect-ml.md#dd-detect-ml-requirements).

### Esamina gli allarmi ML Detect
<a name="review-ml-alarms-cli"></a>

Dopo che i modelli ML sono stati creati e sono pronti per la valutazione dei dati, è possibile visualizzare regolarmente tutti gli allarmi che vengono dedotti dai modelli. La procedura seguente mostra come visualizzare gli allarmi nella AWS CLI.
+ Per visualizzare tutti gli allarmi attivi, utilizza il comando `[list-active-violations](https://docs.aws.amazon.com/cli/latest/reference/iot/list-active-violations.html)`.

  ```
  aws iot list-active-violations \
  --max-results 2
  ```

  Output:

  ```
  {
      "activeViolations": []
  }
  ```

  In alternativa, è possibile visualizzare tutte le violazioni rilevate durante un determinato periodo di tempo utilizzando il comando `[list-violation-events](https://docs.aws.amazon.com/cli/latest/reference/iot/list-violation-events.html)`. L’esempio seguente elenca gli eventi di violazione dal 22 settembre 2020 alle ore 5:42:13 GMT, al 26 ottobre 2020 alle ore 5:42:13 GMT.

  ```
  aws iot list-violation-events \
      --start-time 1599500533 \ 
      --end-time 1600796533 \
      --max-results 2
  ```

  Output:

  ```
  {
      "violationEvents": [
          {
              "violationId": "1448be98c09c3d4ab7cb9b6f3ece65d6",
              "thingName": "lightbulb-1",
              "securityProfileName": "security-profile-for-smart-lights",
              "behavior": {
                  "name": "LowConfidence_MladBehavior_MessagesSent",
                  "metric": "aws:num-messages-sent",
                  "criteria": {
                      "consecutiveDatapointsToAlarm": 1,
                      "consecutiveDatapointsToClear": 1,
                      "mlDetectionConfig": {
                          "confidenceLevel": "HIGH"
                      }
                  },
                  "suppressAlerts": true
              },
              "violationEventType": "alarm-invalidated",
              "violationEventTime": 1600780245.29
          },
          {
              "violationId": "df4537569ef23efb1c029a433ae84b52",
              "thingName": "lightbulb-2",
              "securityProfileName": "security-profile-for-smart-lights",
              "behavior": {
                  "name": "LowConfidence_MladBehavior_MessagesSent",
                  "metric": "aws:num-messages-sent",
                  "criteria": {
                      "consecutiveDatapointsToAlarm": 1,
                      "consecutiveDatapointsToClear": 1,
                      "mlDetectionConfig": {
                          "confidenceLevel": "HIGH"
                      }
                  },
                  "suppressAlerts": true
              },
              "violationEventType": "alarm-invalidated",
              "violationEventTime": 1600780245.281
          }
      ],
      "nextToken": "Amo6XIUrsOohsojuIG6TuwSR3X9iUvH2OCksBZg6bed2j21VSnD1uP1pflxKX1+a3cvBRSosIB0xFv40kM6RYBknZ/vxabMe/ZW31Ps/WiZHlr9Wg7R7eEGli59IJ/U0iBQ1McP/ht0E2XA2TTIvYeMmKQQPsRj/eoV9j7P/wveu7skNGepU/mvpV0O2Ap7hnV5U+Prx/9+iJA/341va+pQww7jpUeHmJN9Hw4MqW0ysw0Ry3w38hOQWEpz2xwFWAxAARxeIxCxt5c37RK/lRZBlhYqoB+w2PZ74730h8pICGY4gktJxkwHyyRabpSM/G/f5DFrD9O5v8idkTZzBxW2jrbzSUIdafPtsZHL/yAMKr3HAKtaABz2nTsOBNre7X2d/jIjjarhon0Dh9l+8I9Y5Ey+DIFBcqFTvhibKAafQt3gs6CUiqHdWiCenfJyb8whmDE2qxvdxGElGmRb+k6kuN5jrZxxw95gzfYDgRHv11iEn8h1qZLD0czkIFBpMppHj9cetHPvM+qffXGAzKi8tL6eQuCdMLXmVE3jbqcJcjk9ItnaYJi5zKDz9FVbrz9qZZPtZJFHp"
  }
  ```

### Ottimizzare gli allarmi ML
<a name="fine-tune-ml-models-cli"></a>

Una volta che i modelli ML sono stati creati e sono pronti per la valutazione dei dati, è possibile aggiornare le impostazioni di comportamento ML del profilo di sicurezza per modificare la configurazione. La procedura seguente mostra come aggiornare le impostazioni di comportamento ML del profilo di sicurezza nell’ AWS CLI.
+ Per modificare le impostazioni del comportamento ML del tuo profilo di sicurezza, usa il comando `[update-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/update-security-profile.html)`. Nell’esempio seguente viene aggiornata i comportamenti del profilo di sicurezza *security-profile-for-smart-lights* modificando il `confidenceLevel` di alcuni dei comportamenti senza sopprimere le notifiche per tutti i comportamenti.

  ```
  aws iot update-security-profile \
      --security-profile-name security-profile-for-smart-lights \
      --behaviors \
       '[{
        "name": "num-messages-sent-ml-behavior",
        "metric": "aws:num-messages-sent",
        "criteria": {
            "mlDetectionConfig": {
                "confidenceLevel" : "HIGH"
            }
        },
        "suppressAlerts": false
    },
    {
        "name": "num-authorization-failures-ml-behavior",
        "metric": "aws:num-authorization-failures",
        "criteria": {
            "mlDetectionConfig": {
                "confidenceLevel" : "HIGH"
            }
        },
        "suppressAlerts": false
    },
    {
        "name": "num-connection-attempts-ml-behavior",
        "metric": "aws:num-connection-attempts",
        "criteria": {
            "mlDetectionConfig": {
                "confidenceLevel" : "HIGH"
            }
        },
        "suppressAlerts": false
    },
    {
        "name": "num-disconnects-ml-behavior",
        "metric": "aws:num-disconnects",
        "criteria": {
            "mlDetectionConfig": {
                "confidenceLevel" : "LOW"
            }
        },
        "suppressAlerts": false
  
    }]'
  ```

  Output:

  ```
   {
      "securityProfileName": "security-profile-for-smart-lights",
      "securityProfileArn": "arn:aws:iot:eu-west-1:123456789012:securityprofile/security-profile-for-smart-lights",
      "behaviors": [
          {
              "name": "num-messages-sent-ml-behavior",
              "metric": "aws:num-messages-sent",
              "criteria": {
                  "mlDetectionConfig": {
                      "confidenceLevel": "HIGH"
                  }
              }
          },
          {
              "name": "num-authorization-failures-ml-behavior",
              "metric": "aws:num-authorization-failures",
              "criteria": {
                  "mlDetectionConfig": {
                      "confidenceLevel": "HIGH"
                  }
              }
          },
          {
              "name": "num-connection-attempts-ml-behavior",
              "metric": "aws:num-connection-attempts",
              "criteria": {
                  "mlDetectionConfig": {
                      "confidenceLevel": "HIGH"
                  }
              },
              "suppressAlerts": false
          },
          {
              "name": "num-disconnects-ml-behavior",
              "metric": "aws:num-disconnects",
              "criteria": {
                  "mlDetectionConfig": {
                      "confidenceLevel": "LOW"
                  }
              },
              "suppressAlerts": true
          }
      ],
      "version": 2,
      "creationDate": 1600799559.249,
      "lastModifiedDate": 1600800516.856
  }
  ```

### Contrassegna lo stato di verifica dell’allarme
<a name="mark-verification-state-cli"></a>

Puoi contrassegnare gli allarmi con gli stati di verifica come aiuto nella classificazione degli allarmi e nella verifica di anomalie.
+ Contrassegna i tuoi allarmi con uno stato di verifica e una descrizione di tale stato. Ad esempio, per impostare lo stato di verifica di un allarme su False positive (Falso positivo), utilizzare il seguente comando:

  ```
  aws iot put-verification-state-on-violation --violation-id 12345  --verification-state FALSE_POSITIVE --verification-state-description "This is dummy description"  --endpoint https://us-east-1.iot.amazonaws.com --region us-east-1
  ```

  Output:

  Nessuna.

### Mitigazione dei problemi identificati sul dispositivo
<a name="mitigate-issues-cli"></a>

1. Utilizzo dell’`[create-thing-group](https://docs.aws.amazon.com/cli/latest/reference/iot/create-thing-group.html)` per creare un gruppo di oggetti per l’operazione di mitigazione. Nell’esempio seguente, creiamo un gruppo di oggetti chiamato **ThingGroupForDetectMitigationAction**.

   ```
   aws iot create-thing-group —thing-group-name ThingGroupForDetectMitigationAction
   ```

   Output:

   ```
   {
    "thingGroupName": "ThingGroupForDetectMitigationAction",
    "thingGroupArn": "arn:aws:iot:us-east-1:123456789012:thinggroup/ThingGroupForDetectMitigationAction",
    "thingGroupId": "4139cd61-10fa-4c40-b867-0fc6209dca4d"
   }
   ```

1. In seguito utilizza il comando `[create-mitigation-action](https://docs.aws.amazon.com/cli/latest/reference/iot/create-mitigation-action.html)` per creare un’operazione di mitigazione. Nell’esempio seguente viene creata un’operazione di mitigazione denominata **detect\$1mitigation\$1action** con l’ARN del ruolo IAM utilizzato per accedere all’operazione di mitigazione. Definiamo il tipo di operazione e i parametri per tale operazione. In questo caso, la nostra mitigazione sposterà le cose nel nostro gruppo di oggetti chiamato **ThingGroupForDetectMitigationAction**, creato in precedenza.

   ```
   aws iot create-mitigation-action --action-name detect_mitigation_action \
   --role-arn arn:aws:iam::123456789012:role/MitigationActionValidRole \
   --action-params \  
   '{
        "addThingsToThingGroupParams": {
            "thingGroupNames": ["ThingGroupForDetectMitigationAction"],
            "overrideDynamicGroups": false
        }
    }'
   ```

   Output:

   ```
   {
    "actionArn": "arn:aws:iot:us-east-1:123456789012:mitigationaction/detect_mitigation_action",
    "actionId": "5939e3a0-bf4c-44bb-a547-1ab59ffe67c3"
   }
   ```

1. Utilizza il comando `[start-detect-mitigation-actions-task](https://docs.aws.amazon.com/cli/latest/reference/iot/start-detect-mitigation-actions-task.html)` per avviare le operazioni di mitigazione. `task-id`, `target` e `actions` sono parametri obbligatori.

   ```
   aws iot start-detect-mitigation-actions-task \
       --task-id taskIdForMitigationAction \
       --target '{ "violationIds" : [ "violationId-1", "violationId-2" ] }' \
       --actions "detect_mitigation_action" \
       --include-only-active-violations \
       --include-suppressed-alerts
   ```

   Output:

   ```
   {
       "taskId": "taskIdForMitigationAction"
   }
   ```

1. (Facoltativo) Per visualizzare le esecuzioni delle operazioni di mitigazione incluse in un’attività, utilizza il comando `[list-detect-mitigation-actions-executions](https://docs.aws.amazon.com/cli/latest/reference/iot/list-detect-mitigation-actions-executions.html)`.

   ```
   aws iot list-detect-mitigation-actions-executions \
       --task-id taskIdForMitigationAction \
       --max-items 5 \
       --page-size 4
   ```

   Output:

   ```
   {
       "actionsExecutions": [
           {
               "taskId": "e56ee95e - f4e7 - 459 c - b60a - 2701784290 af",
               "violationId": "214_fe0d92d21ee8112a6cf1724049d80",
               "actionName": "underTest_MAThingGroup71232127",
               "thingName": "cancelDetectMitigationActionsTaskd143821b",
               "executionStartDate": "Thu Jan 07 18: 35: 21 UTC 2021",
               "executionEndDate": "Thu Jan 07 18: 35: 21 UTC 2021",
               "status": "SUCCESSFUL",
           }
       ]
   }
   ```

1. (Facoltativo) Utilizza il `[describe-detect-mitigation-actions-task](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-detect-mitigation-actions-task.html)` per ottenere informazioni su un’operazione di mitigazione.

   ```
   aws iot describe-detect-mitigation-actions-task \
       --task-id taskIdForMitigationAction
   ```

   Output:

   ```
   {
       "taskSummary": {
           "taskId": "taskIdForMitigationAction",
           "taskStatus": "SUCCESSFUL",
           "taskStartTime": 1609988361.224,
           "taskEndTime": 1609988362.281,
           "target": {
               "securityProfileName": "security-profile-for-smart-lights",
               "behaviorName": "num-messages-sent-ml-behavior"
           },
           "violationEventOccurrenceRange": {
               "startTime": 1609986633.0,
               "endTime": 1609987833.0
           },
           "onlyActiveViolationsIncluded": true,
           "suppressedAlertsIncluded": true,
           "actionsDefinition": [
               {
                   "name": "detect_mitigation_action",
                   "id": "5939e3a0-bf4c-44bb-a547-1ab59ffe67c3",
                   "roleArn": "arn:aws:iam::123456789012:role/MitigatioActionValidRole",
                   "actionParams": {
                       "addThingsToThingGroupParams": {
                           "thingGroupNames": [
                               "ThingGroupForDetectMitigationAction"
                           ],
                           "overrideDynamicGroups": false
                       }
                   }
               }
           ],
           "taskStatistics": {
               "actionsExecuted": 0,
               "actionsSkipped": 0,
               "actionsFailed": 0
           }
       }
   }
   ```

1. (Facoltativo) Per ottenere un elenco delle attività relative alle operazioni di mitigazione, utilizza il comando `[list-detect-mitigation-actions-tasks](https://docs.aws.amazon.com/cli/latest/reference/iot/list-detect-mitigation-actions-tasks.html)`.

   ```
   aws iot list-detect-mitigation-actions-tasks \
       --start-time 1609985315 \
       --end-time 1609988915 \
       --max-items 5 \
       --page-size 4
   ```

   Output:

   ```
   {
       "tasks": [
           {
               "taskId": "taskIdForMitigationAction",
               "taskStatus": "SUCCESSFUL",
               "taskStartTime": 1609988361.224,
               "taskEndTime": 1609988362.281,
               "target": {
                   "securityProfileName": "security-profile-for-smart-lights",
                   "behaviorName": "num-messages-sent-ml-behavior"
               },
               "violationEventOccurrenceRange": {
                   "startTime": 1609986633.0,
                   "endTime": 1609987833.0
               },
               "onlyActiveViolationsIncluded": true,
               "suppressedAlertsIncluded": true,
               "actionsDefinition": [
                   {
                       "name": "detect_mitigation_action",
                       "id": "5939e3a0-bf4c-44bb-a547-1ab59ffe67c3",
                       "roleArn": "arn:aws:iam::123456789012:role/MitigatioActionValidRole",
                       "actionParams": {
                           "addThingsToThingGroupParams": {
                               "thingGroupNames": [
                                   "ThingGroupForDetectMitigationAction"
                               ],
                               "overrideDynamicGroups": false
                           }
                       }
                   }
               ],
               "taskStatistics": {
                   "actionsExecuted": 0,
                   "actionsSkipped": 0,
                   "actionsFailed": 0
               }
           }
       ]
   }
   ```

1. (Facoltativo) Per annullare un’attività delle operazioni di attenuazione, utilizza il comando `[cancel-detect-mitigation-actions-task](https://docs.aws.amazon.com/cli/latest/reference/iot/cancel-detect-mitigation-actions-task.html)`.

   ```
   aws iot cancel-detect-mitigation-actions-task \
       --task-id taskIdForMitigationAction
   ```

   Output:

   Nessuna.

# Personalizzare quando e come visualizzare i risultati dell'audit AWS IoT Device Defender
<a name="dd-suppressions-example"></a>

AWS IoT Device Defender audit fornisce controlli periodici di sicurezza per confermare che i dispositivi AWS IoT e le risorse stiano seguendo le best practice. Per ogni controllo, i risultati di audit vengono classificati come conformi o non conformi, dove la non conformità risulta nelle icone di avviso della console. Per ridurre il rumore causato dalla ripetizione di problemi noti, la funzione di soppressione della ricerca di audit consente di disattivare temporaneamente queste notifiche di non conformità.

È possibile eliminare i controlli di audit selezionati per una risorsa o un account specifico per un periodo di tempo predeterminato. Un risultato del controllo audit che è stato eliminato viene classificato come risultato soppresso, separato dalle categorie conformi e non conformi. Questa nuova categoria non attiva un allarme come un risultato non conforme. Ciò consente di ridurre i disturbi delle notifiche di non conformità durante i periodi di manutenzione noti, o fino al completamento di un aggiornamento.

## Nozioni di base
<a name="dd-gs-afs"></a>

Nelle sezioni seguenti viene descritto come utilizzare le soppressioni per la ricerca di audit per sopprimere un controllo `Device certificate expiring` nella console e nell’interfaccia a riga di comando. Se desideri seguire una delle dimostrazioni, devi prima creare due certificati in scadenza per Device Defender che possano essere rilevati.

Consulta le informazioni riportate di seguito per creare i tuoi certificati.
+ [Create and register a CA certificate](https://docs.aws.amazon.com/iot/latest/developerguide/create-device-cert.html) nella *Guida per gli sviluppatori di AWS IoT Core*.
+ [Creare un certificato client utilizzando il certificato CA](https://docs.aws.amazon.com/iot/latest/developerguide/create-device-cert.html). Nel passaggio 3, imposta il tuo parametro `days` di **1**.

Se utilizzi l'interfaccia a riga di comando per creare i certificati, immetti il comando seguente.

```
openssl x509 -req \ 
    -in device_cert_csr_filename \ 
    -CA root_ca_pem_filename \ 
    -CAkey root_ca_key_filename \     
    -CAcreateserial \
    -out device_cert_pem_filename \ 
    -days 1 -sha256
```

## Personalizzare i risultati di audit nella console
<a name="dd-afs-example-console"></a>

Nella procedura dettagliata seguente viene utilizzato un account con due certificati di dispositivo scaduti che attivano un controllo di audit non conforme. In questo scenario, vogliamo disabilitare l'avviso perché i nostri sviluppatori stanno testando una nuova funzionalità che risolverà il problema. Creiamo una soppressione per ogni certificato per impedire che il risultato di audit non sia conforme per la settimana successiva.

1. Verrà innanzitutto eseguito un audit su richiesta per dimostrare che il controllo del certificato del dispositivo scaduto non è conforme.

   Dall’[AWS IoT console](https://console.aws.amazon.com/iot), scegli **Defend (Protezione)** dalla barra laterale sinistra, quindi **Audit (Controllo)**, e **Results (Risultati)**. Sulla pagina **Audit Results (Risultati della verifica)**, scegli **Create (Crea)**. Si aprirà la finestra **Create new audit (Crea nuovo audit)**. Scegli **Create** (Crea).  
![\[Esegui un audit su richiesta per dimostrare che il controllo del certificato del dispositivo scaduto non è conforme.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-afs-noncompliant.png)

   Dai risultati di audit su richiesta, possiamo vedere che “Certificato dispositivo in scadenza” non è conforme per due risorse.

1. Ora, vorremmo disabilitare l'avviso di controllo non conforme “Certificato dispositivo in scadenza” perché i nostri sviluppatori stanno testando nuove funzionalità che correggeranno l'avviso.

   Dalla barra laterale sinistra sotto **Defender (Protezione)**, scegli **Audit (Audit)** e quindi scegli **Finding suppressions (Ricerca di eliminazioni)**. Sulla pagina **Audit finding suppressions (Verifica delle soppressioni di audit)**, scegli **Create (Crea)**.  
![\[Flusso per creare le soppressioni degli esiti di audit nella console.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-afs-suppressions.png)

1. Sulla finestra **Create an audit finding suppression (Crea una soppressione della ricerca di audit)**, dobbiamo compilare quanto segue.
   + **Audit check (Controllo di audit)**: selezioniamo `Device certificate expiring`, perché questo è il controllo di audit che vorremmo sopprimere.
   + **Resource identifier (Identificatore di risorsa)**: inseriamo l'ID del certificato del dispositivo di uno dei certificati per cui vorremmo eliminare i risultati del audit.
   + **Suppression duration (Durata dell’eliminazione)**: selezioniamo `1 week`, perché è per quanto tempo vorremmo sopprimere il controllo audit `Device certificate expiring`.
   + **Description (Descrizione) (facoltativa)**: aggiungiamo una nota che descrive il motivo per cui stiamo sopprimendo questa ricerca di audit.  
![\[Pagina Crea soppressione degli esiti di un audit, nella quale è necessario inserire le informazioni dettagliate.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-afs-create.png)

   Dopo che abbiamo riempito i campi, scegli **Create (Crea)**. Viene visualizzato un banner di successo dopo che è stata creata la soppressione del rilevamento di audit.

1. Abbiamo soppresso una ricerca di audit per uno dei certificati e ora abbiamo bisogno di sopprimere la ricerca di audit per il secondo certificato. Potremmo usare lo stesso metodo di soppressione che abbiamo usato nel passaggio 3, ma useremo un metodo diverso per scopi dimostrativi.

   Dalla barra laterale sinistra sotto **Difender (Protezione)**, scegli **Audit (Audit)**, quindi **Results (Risultati)**. Sulla pagina **Audit results (Risultati di audit)** scegli l’audit con la risorsa non conforme. Quindi, seleziona la risorsa in **Non-compliant checks (Controlli non conformi)**. Nel nostro caso, selezioniamo “Certificato dispositivo in scadenza”.

1. Sulla pagina **Device certificate expiring (Certificato del dispositivo in scadenza)**, sotto **Non-compliant policy (Policy non conforme)** scegli il pulsante di opzione accanto al risultato da eliminare. Quindi, seleziona **Actions (Operazioni)** e scegli la durata per la quale desideri che venga soppressa. Nel nostro caso, scegliamo `1 week` come abbiamo fatto per l'altro certificato. Sulla finestra **Confirm suppression (Conferma eliminazione)**, scegli **Enable suppression (Abilitazione dell’eliminazione)**.  
![\[Pagina Crea soppressione di un audit, nella quale completare il flusso. Dopo aver creato la soppressione degli esiti di audit, appare un banner di operazione eseguita correttamente.\]](http://docs.aws.amazon.com/it_it/iot-device-defender/latest/devguide/images/dd-afs-noncompliantcerts.png)

   Viene visualizzato un banner di successo dopo che è stata creata la soppressione del rilevamento di audit. Ora, entrambi i risultati dell’audit sono stati soppressi per 1 settimana, mentre i nostri sviluppatori lavorano su una soluzione per risolvere l'avviso.

## Personalizzare i risultati dell’audit nell’interfaccia a riga di comando
<a name="dd-afs-example-cli"></a>

Nella procedura dettagliata seguente viene utilizzato un account con un certificato di dispositivo scaduto che attiva un controllo audit non conforme. In questo scenario, vogliamo disabilitare l'avviso perché i nostri sviluppatori stanno testando una nuova funzionalità che risolverà il problema. Creiamo una soppressione del rilevamento di audit per il certificato per impedire che il risultato dell’audit non sia conforme per la settimana successiva.

Utilizza i seguenti comandi dell’interfaccia a riga di comando.
+ [create-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/create-audit-suppression.html)
+ [describe-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-audit-suppression.html)
+ [update-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/update-audit-suppression.html)
+ [delete-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/delete-audit-suppression.html)
+ [list-audit-suppressions](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-suppressions.html)

1. Utilizza il seguente comando per abilitare l’audit.

   ```
   aws iot update-account-audit-configuration \
      --audit-check-configurations "{\"DEVICE_CERTIFICATE_EXPIRING_CHECK\":{\"enabled\":true}}"
   ```

   Output:

   Nessuna.

1. Utilizza il comando seguente per eseguire l’audit on demand che sia destinato al controllo di audit `DEVICE_CERTIFICATE_EXPIRING_CHECK`.

   ```
   aws iot start-on-demand-audit-task \
       --target-check-names DEVICE_CERTIFICATE_EXPIRING_CHECK
   ```

   Output:

   ```
   {
       "taskId": "787ed873b69cb4d6cdbae6ddd06996c5"
   }
   ```

1. Utilizza il comando [describe-account-audit-configuration](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-account-audit-configuration.html) per descrivere la configurazione dell’audit. Vogliamo confermare che abbiamo attivato il controllo di audit per `DEVICE_CERTIFICATE_EXPIRING_CHECK`.

   ```
   aws iot describe-account-audit-configuration
   ```

   Output:

   ```
   {
       "roleArn": "arn:aws:iam::<accountid>:role/service-role/project",
       "auditNotificationTargetConfigurations": {
           "SNS": {
               "targetArn": "arn:aws:sns:us-east-1:<accountid>:project_sns",
               "roleArn": "arn:aws:iam::<accountid>:role/service-role/project",
               "enabled": true
           }
       },
       "auditCheckConfigurations": {
           "AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK": {
               "enabled": false
           },
           "CA_CERTIFICATE_EXPIRING_CHECK": {
               "enabled": false
           },
           "CA_CERTIFICATE_KEY_QUALITY_CHECK": {
               "enabled": false
           },
           "CONFLICTING_CLIENT_IDS_CHECK": {
               "enabled": false
           },
           "DEVICE_CERTIFICATE_EXPIRING_CHECK": {
               "enabled": true
           },
           "DEVICE_CERTIFICATE_KEY_QUALITY_CHECK": {
               "enabled": false
           },
           "DEVICE_CERTIFICATE_SHARED_CHECK": {
               "enabled": false
           },
           "IOT_POLICY_OVERLY_PERMISSIVE_CHECK": {
               "enabled": true
           },
           "IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK": {
               "enabled": false
           },
           "IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK": {
               "enabled": false
           },
           "LOGGING_DISABLED_CHECK": {
               "enabled": false
           },
           "REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK": {
               "enabled": false
           },
           "REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK": {
               "enabled": false
           },
           "UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK": {
               "enabled": false
           }
       }
   }
   ```

   `DEVICE_CERTIFICATE_EXPIRING_CHECK` dovrebbe avere un valore di `true`.

1. Utilizza il comando [list-audit-task](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-task.html) per identificare le attività di audit completate.

   ```
   aws iot list-audit-tasks \
       --task-status "COMPLETED" \
       --start-time 2020-07-31 \
       --end-time 2020-08-01
   ```

   Output:

   ```
   {
       "tasks": [
           {
               "taskId": "787ed873b69cb4d6cdbae6ddd06996c5",
               "taskStatus": "COMPLETED",
               "taskType": "SCHEDULED_AUDIT_TASK"
           }
       ]
   }
   ```

   Il `taskId` dell’audit eseguito nel passaggio 1 dovrebbe avere un `taskStatus` di `COMPLETED`.

1. Utilizza il comando [describe-audit-task](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-audit-task.html) per ottenere informazioni dettagliate sull’audit completato tramite l’output `taskId` dal passaggio precedente. Questo comando elenca i dettagli relativi all’audit.

   ```
   aws iot describe-audit-task \
       --task-id "787ed873b69cb4d6cdbae6ddd06996c5"
   ```

   Output:

   ```
   {
       "taskStatus": "COMPLETED",
       "taskType": "SCHEDULED_AUDIT_TASK",
       "taskStartTime": 1596168096.157,
       "taskStatistics": {
           "totalChecks": 1,
           "inProgressChecks": 0,
           "waitingForDataCollectionChecks": 0,
           "compliantChecks": 0,
           "nonCompliantChecks": 1,
           "failedChecks": 0,
           "canceledChecks": 0
       },
       "scheduledAuditName": "AWSIoTDeviceDefenderDailyAudit",
       "auditDetails": {
           "DEVICE_CERTIFICATE_EXPIRING_CHECK": {
               "checkRunStatus": "COMPLETED_NON_COMPLIANT",
               "checkCompliant": false,
               "totalResourcesCount": 195,
               "nonCompliantResourcesCount": 2
           }
       }
   }
   ```

1. Utilizza il comando [list-audit-findings](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-findings.html) per trovare l'ID certificato non conforme in modo da poter sospendere gli avvisi di audit per questa risorsa.

   ```
   aws iot list-audit-findings \
       --start-time 2020-07-31 \
       --end-time 2020-08-01
   ```

   Output:

   ```
   {
       "findings": [
           {
               "findingId": "296ccd39f806bf9d8f8de20d0ceb33a1",
               "taskId": "787ed873b69cb4d6cdbae6ddd06996c5",
               "checkName": "DEVICE_CERTIFICATE_EXPIRING_CHECK",
               "taskStartTime": 1596168096.157,
               "findingTime": 1596168096.651,
               "severity": "MEDIUM",
               "nonCompliantResource": {
                   "resourceType": "DEVICE_CERTIFICATE",
                   "resourceIdentifier": {
                       "deviceCertificateId": "b4490<shortened>"
                   },
                   "additionalInfo": {
                   "EXPIRATION_TIME": "1582862626000"
                   }
               },
               "reasonForNonCompliance": "Certificate is past its expiration.",
               "reasonForNonComplianceCode": "CERTIFICATE_PAST_EXPIRATION",
               "isSuppressed": false
           },
           {
               "findingId": "37ecb79b7afb53deb328ec78e647631c",
               "taskId": "787ed873b69cb4d6cdbae6ddd06996c5",
               "checkName": "DEVICE_CERTIFICATE_EXPIRING_CHECK",
               "taskStartTime": 1596168096.157,
               "findingTime": 1596168096.651,
               "severity": "MEDIUM",
               "nonCompliantResource": {
                   "resourceType": "DEVICE_CERTIFICATE",
                   "resourceIdentifier": {
                       "deviceCertificateId": "c7691<shortened>"
                   },
                   "additionalInfo": {
                   "EXPIRATION_TIME": "1583424717000"
                   }
               },
               "reasonForNonCompliance": "Certificate is past its expiration.",
               "reasonForNonComplianceCode": "CERTIFICATE_PAST_EXPIRATION",
               "isSuppressed": false
           }
      ]
   }
   ```

1. Utilizza il comando [create-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/create-audit-suppression.html) per sopprimere le notifiche per il controllo di audit `DEVICE_CERTIFICATE_EXPIRING_CHECK` per un certificato di dispositivo con l'id `c7691e<shortened>` fino al *20-08-2020*.

   ```
   aws iot create-audit-suppression \
       --check-name DEVICE_CERTIFICATE_EXPIRING_CHECK \
       --resource-identifier deviceCertificateId="c7691e<shortened>" \
       --no-suppress-indefinitely \ 
       --expiration-date 2020-08-20
   ```

1. Utilizza il comando [list-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-suppression.html) per confermare l'impostazione di soppressione del controllo e ottenere dettagli sulla soppressione.

   ```
   aws iot list-audit-suppressions
   ```

   Output:

   ```
   {
       "suppressions": [
           {
           "checkName": "DEVICE_CERTIFICATE_EXPIRING_CHECK",
               "resourceIdentifier": {
                   "deviceCertificateId": "c7691e<shortened>"
               },
           "expirationDate": 1597881600.0,
           "suppressIndefinitely": false
           }
       ]
   }
   ```

1. Il comando [update-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/update-audit-suppression.html) può essere utilizzato per aggiornare la soppressione della ricerca di controllo. L’esempio seguente aggiorna `expiration-date` a `08/21/20`.

   ```
   aws iot update-audit-suppression \
       --check-name DEVICE_CERTIFICATE_EXPIRING_CHECK \
       --resource-identifier deviceCertificateId=c7691e<shortened> \
       --no-suppress-indefinitely \
       --expiration-date 2020-08-21
   ```

1. Il comando [delete-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/delete-audit-suppression.html) può essere utilizzato per rimuovere una soppressione della ricerca di audit.

   ```
   aws iot delete-audit-suppression \
       --check-name DEVICE_CERTIFICATE_EXPIRING_CHECK \
       --resource-identifier deviceCertificateId="c7691e<shortened>"
   ```

   Per confermare l'eliminazione, utilizza il comando [list-audit-suppressions](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-suppressions.html).

   ```
   aws iot list-audit-suppressions
   ```

   Output:

   ```
   {
    "suppressions": []
   }
   ```

In questo tutorial, ti abbiamo mostrato come sopprimere un controllo `Device certificate expiring` nella console e nell’interfaccia a riga di comando. Per ulteriori informazioni sul controllo per individuare le soppressioni, consulta [Soppressioni della ricerca di audit](audit-finding-suppressions.md)