

# Personnalisez quand et comment vous consultez les résultats AWS IoT Device Defender d'audit
<a name="dd-suppressions-example"></a>

AWS IoT Device Defender L'audit fournit des contrôles de sécurité périodiques pour confirmer que les appareils AWS IoT et les ressources respectent les meilleures pratiques. Pour chaque contrôle, les résultats de l'audit sont classés comme conformes ou non conformes, la non-conformité entraînant l'affichage d'icônes d'avertissement sur la console. Pour réduire le bruit causé par la répétition de problèmes connus, la fonction de suppression des résultats d'audit vous permet de désactiver temporairement ces notifications de non-conformité.

Vous pouvez supprimer certains contrôles d'audit pour une ressource ou un compte spécifique pendant une période prédéterminée. Un résultat de contrôle d'audit qui a été supprimé est classé dans la catégorie des résultats supprimés, séparément des catégories conforme et non conforme. Cette nouvelle catégorie ne déclenche pas d'alarme comme un résultat non conforme. Cela vous permet de réduire les perturbations liées aux notifications de non-conformité pendant les périodes de maintenance connues ou jusqu'à ce qu'une mise à jour soit planifiée.

## Premiers pas
<a name="dd-gs-afs"></a>

Les sections suivantes expliquent comment utiliser les suppressions des résultats d'audit pour supprimer une vérification `Device certificate expiring` dans la console et la CLI. Si vous souhaitez suivre l’une des démonstrations, vous devez d’abord créer deux certificats expirant pour que Device Defender les détecte.

Utilisez les rubriques suivantes pour créer vos certificats.
+ [Création et enregistrement d’un certificat CA](https://docs.aws.amazon.com/iot/latest/developerguide/create-device-cert.html) dans le *Guide du développeur AWS IoT Core*
+ [Création d’un certificat client à l’aide de votre certificat d’autorité de certification](https://docs.aws.amazon.com/iot/latest/developerguide/create-device-cert.html). À l'étape 3, définissez votre paramètre `days` sur **1**.

Si vous utilisez la CLI pour créer vos certificats, entrez la commande suivante.

```
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
```

## Personnalisez les résultats de votre audit dans la console
<a name="dd-afs-example-console"></a>

La procédure pas à pas suivante utilise un compte avec deux certificats d'appareil expirés qui déclenchent une vérification d'audit non conforme. Dans ce scénario, nous souhaitons désactiver l'avertissement car nos développeurs testent une nouvelle fonctionnalité qui résoudra le problème. Nous créons une suppression des résultats d'audit pour chaque certificat afin d'empêcher le résultat de l'audit d'être non conforme pour la semaine suivante.

1. Nous allons d'abord effectuer un audit à la demande pour montrer que la vérification du certificat de l'appareil expiré n'est pas conforme.

   Sur la [AWS IoTconsole](https://console.aws.amazon.com/iot), sélectionnez **Defend** dans la barre latérale gauche, puis **Audit**, puis **Résultats**. Sur la page **Audit Review (Vérification de l’audit)**, choisissez **Create (Créer)**. La fenêtre **Create new audit (Créer un nouvel audit)** s'ouvre. Sélectionnez **Create** (Créer).  
![\[Effectuez un audit à la demande pour montrer que la vérification du certificat de l'appareil expiré n'est pas conforme.\]](http://docs.aws.amazon.com/fr_fr/iot-device-defender/latest/devguide/images/dd-afs-noncompliant.png)

   D'après les résultats de l'audit à la demande, nous pouvons constater que l'expression « Certificat d'appareil expirant » n'est pas conforme pour deux ressources.

1. Nous aimerions maintenant désactiver l'avertissement de non-conformité « Le certificat de l'appareil arrive à expiration », car nos développeurs testent de nouvelles fonctionnalités qui corrigeront cet avertissement.

   Dans la barre latérale gauche, sous **Defend**, choisissez **Audit**, puis **Finding suppressions (Suppressions de résultat)**. Sur la page **Suppressions de résultat d’audit**, choisissez **Créer**.  
![\[Flux de création de suppressions de résultat d'audit dans la console.\]](http://docs.aws.amazon.com/fr_fr/iot-device-defender/latest/devguide/images/dd-afs-suppressions.png)

1. Dans la fenêtre **Créer une suppression des résultats d'audit**, nous devons remplir les champs suivants.
   + **Contrôle d'audit** : nous sélectionnons `Device certificate expiring`, car c'est le contrôle d'audit que nous aimerions supprimer.
   + **Resource identifier**: (Identifiant de ressource) nous saisissons l'ID de certificat d'appareil de l'un des certificats pour lesquels nous souhaitons supprimer les résultats d'audit.
   + **Durée de suppression** : nous sélectionnons `1 week`, car c'est la durée pendant laquelle nous souhaitons supprimer le `Device certificate expiring` contrôle d'audit.
   + **Description (facultatif)** : nous ajoutons une note expliquant pourquoi nous supprimons ce résultat d'audit.  
![\[Page Créer une suppression des résultats d'audit sur laquelle vous devez saisir les informations détaillées.\]](http://docs.aws.amazon.com/fr_fr/iot-device-defender/latest/devguide/images/dd-afs-create.png)

   Une fois les champs remplis, choisissez **Créer**. Une bannière de réussite apparaît une fois que la suppression des résultats d'audit a été créée.

1. Nous avons supprimé un résultat d'audit pour l'un des certificats et nous devons maintenant supprimer le résultat d'audit pour le deuxième certificat. Nous pourrions utiliser la même méthode de suppression que celle que nous avons utilisée à l'étape 3, mais nous utiliserons une méthode différente à des fins de démonstration.

   Dans la barre latérale gauche, sous **Defend**, choisissez **Audit**, puis **Results**. Sur la page **Audit results** (Résultats de l'audit), choisissez l'audit avec la ressource non conforme. Sélectionnez ensuite la ressource sous **Contrôles non conformes**. Dans notre cas, nous sélectionnons « Expiration du certificat de l'appareil ».

1. Sur la page **Expiration du certificat d'appareil**, sous **Politique non conforme**, choisissez le bouton d'option à côté du résultat qui doit être supprimée. Choisissez ensuite le menu déroulant **Actions**, puis choisissez la durée pendant laquelle vous souhaitez que le résultat soit supprimé. Dans notre cas, nous avons choisi `1 week` comme nous l'avons fait pour l'autre certificat. Dans la fenêtre **Confirmer la suppression**, choisissez **Activer la suppression**.  
![\[Page Créer une suppression d’audit sur laquelle vous terminez le flux. Vous verrez une bannière de réussite apparaître une fois que la suppression des résultats d'audit aura été créée.\]](http://docs.aws.amazon.com/fr_fr/iot-device-defender/latest/devguide/images/dd-afs-noncompliantcerts.png)

   Une bannière de réussite apparaît une fois que la suppression des résultats d'audit a été créée. À présent, les deux résultats de l'audit ont été supprimés pendant une semaine pendant que nos développeurs travaillent sur une solution pour répondre à l'avertissement.

## Personnalisez les résultats de votre audit dans la CLI
<a name="dd-afs-example-cli"></a>

La procédure pas à pas suivante utilise un compte avec un certificat d'appareil expiré qui déclenche une vérification d'audit non conforme. Dans ce scénario, nous souhaitons désactiver l'avertissement car nos développeurs testent une nouvelle fonctionnalité qui résoudra le problème. Nous créons une suppression des résultats d'audit pour le certificat afin d'empêcher le résultat de l'audit d'être non conforme pour la semaine suivante.

Utilisez les commandes CLI suivantes.
+ [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. Utilisez la commande suivante pour activer l'audit.

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

   Sortie :

   Aucune.

1. Utilisez la commande suivante pour exécuter un audit à la demande qui cible le contrôle d'audit `DEVICE_CERTIFICATE_EXPIRING_CHECK`.

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

   Sortie :

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

1. Utilisez la commande [describe-account-audit-configuration](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-account-audit-configuration.html) pour décrire la configuration de l'audit. Nous voulons confirmer que nous avons activé le contrôle d'audit pour `DEVICE_CERTIFICATE_EXPIRING_CHECK`.

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

   Sortie :

   ```
   {
       "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` doit avoir une valeur de `true`.

1. Utilisez la commande [list-audit-task](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-task.html) pour identifier les tâches d'audit terminées.

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

   Sortie :

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

   Le `taskId` de l'audit que vous avez effectué à l'étape 1 doit comporter un `taskStatus` de `COMPLETED`.

1. Utilisez la commande [describe-audit-task](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-audit-task.html) pour obtenir des détails sur l'audit terminé à l'aide du résultat `taskId` de l'étape précédente. Cette commande répertorie les détails de votre audit.

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

   Sortie :

   ```
   {
       "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. Utilisez la commande [list-audit-findings](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-findings.html) pour trouver l'ID de certificat non conforme afin que nous puissions suspendre les alertes d'audit pour cette ressource.

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

   Sortie :

   ```
   {
       "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. Utilisez la commande [create-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/create-audit-suppression.html) pour supprimer les notifications relatives à la vérification `DEVICE_CERTIFICATE_EXPIRING_CHECK` d'audit d'un certificat d'appareil portant l'identifiant `c7691e<shortened>` jusqu'au *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. Utilisez la commande [list-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-suppression.html) pour confirmer le paramètre de suppression de l'audit et obtenir des informations sur la suppression.

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

   Sortie :

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

1. La commande [update-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/update-audit-suppression.html) peut être utilisée pour mettre à jour la suppression des résultats d'audit. L'exemple ci-dessous met à jour le `expiration-date` vers`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. La commande [update-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/delete-audit-suppression.html) peut être utilisée pour supprimer une suppression de résultat d'audit.

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

   Pour confirmer la suppression, utilisez la commande [list-audit-suppressions](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-suppressions.html).

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

   Sortie :

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

Dans ce didacticiel, nous vous avons montré comment supprimer une vérification `Device certificate expiring` dans la console et dans la CLI. Pour plus d'informations sur les suppressions des résultats d'audit, consultez [Suppressions de résultat d'audit](audit-finding-suppressions.md)