

# Personalizar cuándo y cómo ver los resultados de auditoría de AWS IoT Device Defender
<a name="dd-suppressions-example"></a>

La auditoría de AWS IoT Device Defender proporciona controles de seguridad periódicos para confirmar que los dispositivos y los recursos de AWS IoT siguen las prácticas recomendadas. Para cada comprobación, los resultados de auditoría se clasifican en conformes o no conformes, mientras que en caso de incumplimiento aparecen iconos de advertencia en la consola. Para reducir el ruido provocado por la repetición de problemas conocidos, la función de supresión de resultados de auditoría permite silenciar temporalmente estas notificaciones de incumplimiento.

Puede suprimir determinadas comprobaciones de auditoría para un recurso o una cuenta específicos durante un período de tiempo predeterminado. El resultado de una comprobación de auditoría que se ha suprimido se clasifica como resultado suprimido, independientemente de las categorías de conformidad y no conformidad. Esta nueva categoría no activa una alarma como si se tratara de un resultado no conforme. Esto le permite reducir las interrupciones en las notificaciones de incumplimiento durante los períodos de mantenimiento conocidos o hasta que esté programada la finalización de una actualización.

## Introducción
<a name="dd-gs-afs"></a>

En las siguientes secciones se detalla cómo puede utilizar las supresiones de los resultados de auditoría para suprimir una comprobación de `Device certificate expiring`en la consola y en la CLI. Si desea seguir alguna de las demostraciones, primero debe crear dos certificados que venzan para que Device Defender los detecte.

Use lo siguiente para crear sus certificados.
+ [Crear y registrar un certificado de CA](https://docs.aws.amazon.com/iot/latest/developerguide/create-device-cert.html), en la *Guía para desarrolladores de AWS IoT Core*
+ [Cree un certificado de cliente mediante el certificado de entidad de certificación](https://docs.aws.amazon.com/iot/latest/developerguide/create-device-cert.html). En el paso 3, defina su parámetro `days` en **1**.

Si usa la CLI para crear los certificados, escriba el comando siguiente.

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

## Personalización de los resultados de la auditoría en la consola
<a name="dd-afs-example-console"></a>

En el siguiente tutorial, se utiliza una cuenta con dos certificados de dispositivo caducados que provocan una comprobación de auditoría no conforme. En este escenario, queremos deshabilitar la advertencia porque nuestros desarrolladores están probando una característica que solucionará el problema. Creamos una supresión de resultados de auditoría para cada certificado con el fin de evitar que el resultado de la auditoría no sea conforme durante la semana siguiente.

1. En primer lugar, realizaremos una auditoría bajo demanda para comprobar que la comprobación del certificado del dispositivo caducado no es conforme.

   En la [consola de AWS IoT](https://console.aws.amazon.com/iot), elija **Defend** en la barra lateral izquierda, luego **Audit** y después **Resultados**. En la página **Resultados de auditoría**, seleccione **Crear**. Se abrirá la ventana **Crear una auditoría nueva**. Seleccione **Crear**.  
![\[Ejecute una auditoría bajo demanda para comprobar que la comprobación del certificado del dispositivo caducado no es conforme.\]](http://docs.aws.amazon.com/es_es/iot-device-defender/latest/devguide/images/dd-afs-noncompliant.png)

   A partir de los resultados de la auditoría bajo demanda, podemos ver que la expresión «El certificado de dispositivo está caducando» no es compatible con dos recursos.

1. Ahora, queremos desactivar la advertencia de verificación de no conformidad que indica que el certificado del dispositivo está caducando, ya que nuestros desarrolladores están probando nuevas características para corregir esta advertencia.

   En la barra lateral izquierda, debajo de **Defend**, elija **Audit** y, a continuación, **Supresiones de resultados**. En la página **Supresiones de resultados de la auditoría**, seleccione **Crear**.  
![\[Flujo para crear supresiones de los resultados de auditoría en la consola\]](http://docs.aws.amazon.com/es_es/iot-device-defender/latest/devguide/images/dd-afs-suppressions.png)

1. En la ventana **Crear una supresión de resultados de la auditoría**, necesitamos rellenar lo siguiente.
   + **Comprobación de auditoría**: seleccionamos `Device certificate expiring` porque es la verificación de auditoría que queremos suprimir.
   + **Identificador de recursos**: introducimos el identificador del certificado del dispositivo de uno de los certificados cuyos resultados de auditoría queremos suprimir.
   + **Duración de la supresión**: seleccionamos `1 week` porque ese es el tiempo durante el que queremos suprimir la comprobación de auditoría de `Device certificate expiring`.
   + **Descripción (opcional)**: agregamos una nota que describe por qué estamos suprimiendo este resultado de auditoría.  
![\[Página Creación de una supresión de resultados de la auditoría en la que se debe introducir la información detallada\]](http://docs.aws.amazon.com/es_es/iot-device-defender/latest/devguide/images/dd-afs-create.png)

   Tras de completar los campos, elija **Crear**. Vemos un banner indicando que se ha realizado todo correctamente después de que se haya creado la supresión de resultados de la auditoría.

1. Hemos suprimido el resultado de una auditoría para uno de los certificados y ahora necesitamos suprimir el resultado de la auditoría del segundo certificado. Podríamos utilizar el mismo método de supresión que utilizamos en el paso 3, pero utilizaremos un método diferente con fines de demostración.

   En la barra lateral izquierda, debajo de **Defend**, elija **Audit** y, a continuación, **Resultados**. En la página **Resultados de auditoría**, elija la auditoría con el recurso no conforme. A continuación, seleccione el recurso en **Comprobaciones de no conformidad**. En nuestro caso, seleccionamos «Certificado de dispositivo que va a caducar».

1. En la página **Certificado de dispositivo que va a caducar**, en **Política no conforme**, seleccione el botón de opción situado junto al resultado que quiera suprimir. A continuación, seleccione el menú desplegable **Acciones** y luego elija el tiempo durante el que quiere que se suprima el resultado. En nuestro caso, elegimos `1 week` como hicimos con el otro certificado. En la ventana **Confirme la supresión**, seleccione **Habilite la supresión**.  
![\[Página Creación de una supresión de auditorías en la que se completa el flujo Aparecerá un aviso de confirmación después de que se haya creado la supresión de resultados de la auditoría.\]](http://docs.aws.amazon.com/es_es/iot-device-defender/latest/devguide/images/dd-afs-noncompliantcerts.png)

   Vemos un banner indicando que se ha realizado todo correctamente después de que se haya creado la supresión de resultados de la auditoría. Ahora, los dos resultados de la auditoría se han ocultado durante una semana mientras nuestros desarrolladores trabajan en una solución que aborde la advertencia.

## Personalización de los resultados de la auditoría en la CLI
<a name="dd-afs-example-cli"></a>

En el siguiente tutorial, se utiliza una cuenta con un certificado de dispositivo caducado que provoca una comprobación de auditoría no conforme. En este escenario, queremos deshabilitar la advertencia porque nuestros desarrolladores están probando una característica que solucionará el problema. Creamos una supresión de resultados de auditoría para el certificado con el fin de evitar que el resultado de la auditoría no sea conforme durante la semana siguiente.

Utilizamos los siguientes comandos de la CLI.
+ [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. Utilice el siguiente comando para activar la auditoría.

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

   Salida:

   Ninguna.

1. Utilice el siguiente comando para ejecutar una auditoría bajo demanda dirigida a la comprobación de auditoría de `DEVICE_CERTIFICATE_EXPIRING_CHECK`.

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

   Salida:

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

1. Utilice el comando [describe-account-audit-configuration](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-account-audit-configuration.html) para describir la configuración de la auditoría. Queremos confirmar que hemos activado la comprobación de auditoría para `DEVICE_CERTIFICATE_EXPIRING_CHECK`.

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

   Salida:

   ```
   {
       "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` debe tener un valor de `true`.

1. Utilice el comando [list-audit-task](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-task.html) para identificar las tareas de auditoría completadas.

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

   Salida:

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

   El `taskId` de la auditoría que ejecutó en el paso 1 debe tener un `taskStatus` de `COMPLETED`.

1. Utilice el comando [describe-audit-task](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-audit-task.html) para obtener detalles sobre la auditoría completada utilizando el resultado `taskId` del paso anterior. Este comando muestra los detalles de la auditoría.

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

   Salida:

   ```
   {
       "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. Utilice el comando [list-audit-findings](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-findings.html) para buscar el identificador de certificado que no cumple los requisitos para que podamos suspender las alertas de auditoría de este recurso.

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

   Salida:

   ```
   {
       "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. Utilice el comando [create-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/create-audit-suppression.html) para suprimir las notificaciones de la comprobación de auditoría de `DEVICE_CERTIFICATE_EXPIRING_CHECK` de un certificado de dispositivo con el identificador `c7691e<shortened>` hasta el *20-08-2022*

   ```
   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. Utilice el comando [list-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-suppression.html) para confirmar la configuración de supresión de la auditoría y obtener detalles sobre la supresión.

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

   Salida:

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

1. El comando [update-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/update-audit-suppression.html) se puede utilizar para actualizar la supresión de resultados de la auditoría. En el siguiente ejemplo, se actualiza el `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. El comando [delete-audit-suppression](https://docs.aws.amazon.com/cli/latest/reference/iot/delete-audit-suppression.html) se puede utilizar para eliminar la supresión de un resultado de auditoría.

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

   Para confirmar la eliminación, utilice el comando [list-audit-suppressions](https://docs.aws.amazon.com/cli/latest/reference/iot/list-audit-suppressions.html).

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

   Salida:

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

En este tutorial, le mostramos cómo suprimir una comprobación de `Device certificate expiring` en la consola y en la CLI. Para obtener más información acerca de las supresiones de resultados de la auditoría, consulte [Supresiones de resultados de auditoría](audit-finding-suppressions.md).