Conector de Device Defender - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conector de Device Defender

El conector Device Defender notifica a los administradores de los cambios en el estado de un dispositivo del núcleo de Greengrass. Esto puede ayudar a identificar comportamiento inusual que podrían indicar un dispositivo en riesgo.

Este conector lee las métricas del sistema desde el directorio /proc en el dispositivo de núcleo y, a continuación, publica las métricas en AWS IoT Device Defender. Para obtener detalles sobre los informes de métricas, consulte Especificación de documentos de métricas de dispositivos en la Guía del desarrolador de AWS IoT.

Este conector tiene las siguientes versiones.

Versión

ARN

3

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3

2.

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/2

1

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/1

Para obtener información sobre los cambios de versión, consulte el Registro de cambios.

Requisitos

Este conector exige los siguientes requisitos:

Version 3
  • Software AWS IoT Greengrass Core versión 1.9.3 o posterior.

  • Python versión 3.7 o 3.8 instalado en el dispositivo principal y añadido a la variable de entorno PATH.

    nota

    Para usar Python 3.8, ejecute el siguiente comando para crear un enlace simbólico desde la carpeta de instalación predeterminada de Python 3.7 a los binarios de Python 3.8 instalados.

    sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7

    Esto configura su dispositivo para que cumpla con el requisito de Python para AWS IoT Greengrass.

  • AWS IoT Device Defender configurado para utilizar la función de detección para realizar un seguimiento de infracciones. Para obtener más información, consulte Detectar en la Guía para desarrolladores de AWS IoT.

  • Un recurso de volumen local en el grupo de Greengrass que apunta al directorio /proc. El recurso debe usar las siguientes propiedades:

    • Ruta de origen: /proc

    • Ruta de destino: /host_proc (o un valor que coincide con el patrón válido)

    • AutoAddGroupOwner: true

  • La biblioteca psutil instalada en el núcleo de Greengrass. La versión 5.7.0 es la última versión que se verifica para que funcione con el conector.

  • La biblioteca cbor instalada en el núcleo de Greengrass. La versión 1.0.0 es la última versión que se verifica para que funcione con el conector.

Versions 1 - 2
  • Software AWS IoT Greengrass Core versión 1.7 o posterior.

  • Versión 2.7 de Python instalada en el dispositivo principal y añadida a la variable de entorno PATH.

  • AWS IoT Device Defender configurado para utilizar la función de detección para realizar un seguimiento de infracciones. Para obtener más información, consulte Detectar en la Guía para desarrolladores de AWS IoT.

  • Un recurso de volumen local en el grupo de Greengrass que apunta al directorio /proc. El recurso debe usar las siguientes propiedades:

    • Ruta de origen: /proc

    • Ruta de destino: /host_proc (o un valor que coincide con el patrón válido)

    • AutoAddGroupOwner: true

  • La biblioteca psutil instalada en el núcleo de Greengrass.

  • La biblioteca cbor instalada en el núcleo de Greengrass.

Parámetros de conector

Este conector proporciona los siguientes parámetros:

SampleIntervalSeconds

El número de segundos entre cada ciclo de recopilación y generación de informes de métricas. El valor mínimo es de 300 segundos (5 minutos).

Nombre para mostrar en la consola AWS IoT: Intervalo de informes de métricas

Obligatorio: true

Escriba: string

Patrón válido: ^[0-9]*(?:3[0-9][0-9]|[4-9][0-9]{2}|[1-9][0-9]{3,})$

ProcDestinationPath-ResourceId

El ID del recurso del volumen /proc.

nota

A este conector se le concede acceso de solo lectura al recurso.

Nombre para mostrar en la consola AWS IoT: Recurso para el directorio /proc

Obligatorio: true

Escriba: string

Patrón válido: [a-zA-Z0-9_-]+

ProcDestinationPath

La ruta de destino del recurso del volumen /proc.

Nombre para mostrar en la consola AWS IoT: Ruta de destino del recurso /proc

Obligatorio: true

Escriba: string

Patrón válido: \/[a-zA-Z0-9_-]+

Ejemplo de creación de conector (AWS CLI)

El siguiente comando de la CLI crea una ConnectorDefinition con una versión inicial que contiene el conector de Device Defender.

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyDeviceDefenderConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3", "Parameters": { "SampleIntervalSeconds": "600", "ProcDestinationPath": "/host_proc", "ProcDestinationPath-ResourceId": "my-proc-resource" } } ] }'
nota

La función de Lambda de este conector tiene un ciclo de vida prolongado.

En la consola AWS IoT Greengrass, puede añadir un conector desde la página de Conectores del grupo. Para obtener más información, consulte Introducción a los conectores de Greengrass (consola).

Datos de entrada

Este conector no acepta mensajes MQTT como datos de entrada.

Datos de salida

Este conector publica métricas de seguridad en AWS IoT Device Defender como datos de salida.

Filtro de temas en la suscripción

$aws/things/+/defender/metrics/json

nota

Esta es la sintaxis del tema que AWS IoT Device Defender espera. El conector sustituye el comodín + con el nombre de dispositivo (por ejemplo $aws/things/thing-name/defender/metrics/json).

Ejemplo de salida

Para obtener detalles sobre los informes de métricas, consulte Especificación de documentos de métricas de dispositivos en la Guía del desarrolador de AWS IoT.

{ "header": { "report_id": 1529963534, "version": "1.0" }, "metrics": { "listening_tcp_ports": { "ports": [ { "interface": "eth0", "port": 24800 }, { "interface": "eth0", "port": 22 }, { "interface": "eth0", "port": 53 } ], "total": 3 }, "listening_udp_ports": { "ports": [ { "interface": "eth0", "port": 5353 }, { "interface": "eth0", "port": 67 } ], "total": 2 }, "network_stats": { "bytes_in": 1157864729406, "bytes_out": 1170821865, "packets_in": 693092175031, "packets_out": 738917180 }, "tcp_connections": { "established_connections":{ "connections": [ { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" }, { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" } ], "total": 2 } } } }

Licencias

Este conector se publica bajo el contrato de licencia de software de Greengrass Core.

Registro de cambios

La siguiente tabla describe los cambios en cada versión del conector.

Versión

Cambios

3

Se actualizó el tiempo de ejecución de Lambda a Python 3.7, lo que cambia el requisito de tiempo de ejecución.

2

Se ha introducido una corrección para reducir el registro excesivo.

1

Versión inicial.

Un grupo de Greengrass solo puede contener una versión del conector a la vez. Para obtener información sobre cómo actualizar una versión de conector, consulte Actualización de versiones de los conectores.

Véase también