Tunelización segura - AWS IoT Greengrass

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.

Tunelización segura

Con este aws.greengrass.SecureTunneling componente, puede establecer una comunicación bidireccional segura con un dispositivo central de Greengrass ubicado detrás de firewalls restringidos.

Por ejemplo, imagine que tiene un dispositivo central de Greengrass detrás de un firewall que prohíbe todas las conexiones entrantes. La tunelización segura utiliza MQTT para transferir un token de acceso al dispositivo y, a continuación, lo utiliza WebSockets para establecer una conexión SSH con el dispositivo a través del firewall. Con este túnel AWS IoT gestionado, puedes abrir la conexión SSH necesaria para tu dispositivo. Para obtener más información sobre el uso de la tunelización AWS IoT segura para conectarse a dispositivos remotos, consulta la tunelización AWS IoT segura en la Guía para desarrolladores.AWS IoT

Este componente se suscribe al agente de mensajes AWS IoT Core MQTT sobre el $aws/things/greengrass-core-device/tunnels/notify tema para recibir notificaciones de tunelización segura.

Versiones

Este componente tiene las siguientes versiones:

  • 1.0.x

Tipo

Este componente es un componente genérico (aws.greengrass.generic). El núcleo de Greengrass ejecuta los scripts del ciclo de vida del componente.

Para obtener más información, consulte Tipos de componentes.

Sistema operativo

Este componente solo se puede instalar en los dispositivos principales de Linux.

Arquitecturas:

  • Armv71

  • Armv8 (AArch64)

  • x86_64

Requisitos

Este componente tiene los siguientes requisitos:

  • Hay un mínimo de 32 MB de espacio en disco disponible para el componente de tunelización segura. Este requisito no incluye el software principal de Greengrass ni otros componentes que se ejecuten en el mismo dispositivo.

  • Hay un mínimo de 16 MB de RAM disponibles para el componente de tunelización segura. Este requisito no incluye el software principal de Greengrass ni otros componentes que se ejecuten en el mismo dispositivo. Para obtener más información, consulte Controle la asignación de memoria con las opciones de JVM.

  • Se requiere la versión 2.25 o superior de la Biblioteca C GNU (glibc) con un núcleo de Linux 3.2 o superior para el componente de tunelización segura de la versión 1.0.12 o superior. No se admiten las versiones del sistema operativo y las bibliotecas que hayan superado su fecha de fin de vida útil. Debe utilizar un sistema operativo y bibliotecas con soporte a largo plazo.

  • Tanto el sistema operativo como el motor de ejecución de Java deben estar instalados en 64 bits.

  • Python 3.5 o posterior instalado en el dispositivo principal de Greengrass y agregado a la variable de entorno PATH.

  • libcrypto.so.1.1instalado en el dispositivo principal de Greengrass y agregado a la variable de entorno PATH.

  • Abra el tráfico saliente en el puerto 443 del dispositivo principal de Greengrass.

  • Active la compatibilidad con el servicio de comunicación que desee utilizar para comunicarse con el dispositivo principal de Greengrass. Por ejemplo, para abrir una conexión SSH con el dispositivo, debe activar SSH en ese dispositivo.

Puntos finales y puertos

Este componente debe poder realizar solicitudes salientes a los siguientes puntos finales y puertos, además de a los puntos finales y puertos necesarios para el funcionamiento básico. Para obtener más información, consulte Permitir el tráfico del dispositivo a través de un proxy o firewall.

punto de enlace Puerto Obligatoria Descripción

data.tunneling.iot.region.amazonaws.com

443

Establezca túneles seguros.

Dependencias

Al implementar un componente, AWS IoT Greengrass también despliega versiones compatibles de sus dependencias. Esto significa que debe cumplir los requisitos del componente y de todas sus dependencias para poder implementarlo correctamente. En esta sección se enumeran las dependencias de las versiones publicadas de este componente y las restricciones de las versiones semánticas que definen las versiones de los componentes para cada dependencia. También puede ver las dependencias de cada versión del componente en la consola.AWS IoT Greengrass En la página de detalles del componente, busque la lista de dependencias.

1.0.19

En la siguiente tabla se enumeran las dependencias de la versión 1.0.19 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <3.0.0 Flexible
1.0.18

La siguiente tabla muestra las dependencias de la versión 1.0.18 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.13.0 Flexible
1.0.16 – 1.0.17

En la siguiente tabla se enumeran las dependencias de las versiones 1.0.16 a 1.0.17 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.12.0 Flexible
1.0.14 – 1.0.15

En la siguiente tabla se enumeran las dependencias de las versiones 1.0.14 a 1.0.15 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.11.0 Flexible
1.0.11 – 1.0.13

En la siguiente tabla se enumeran las dependencias de las versiones 1.0.11 — 1.0.13 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.10.0 Flexible
1.0.10

En la siguiente tabla se enumeran las dependencias de la versión 1.0.10 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.9.0 Flexible
1.0.9

La siguiente tabla muestra las dependencias de la versión 1.0.9 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.8.0 Flexible
1.0.8

La siguiente tabla muestra las dependencias de la versión 1.0.8 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.7.0 Flexible
1.0.5 - 1.0.7

La siguiente tabla muestra las dependencias de las versiones 1.0.5 a 1.0.7 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.6.0 Flexible
1.0.4

La siguiente tabla muestra las dependencias de la versión 1.0.4 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.5.0 Flexible
1.0.3

La siguiente tabla muestra las dependencias de la versión 1.0.3 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.4.0 Flexible
1.0.2

La siguiente tabla muestra las dependencias de la versión 1.0.2 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.3.0 Flexible
1.0.1

La siguiente tabla muestra las dependencias de la versión 1.0.1 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.0 <2.2.0 Flexible
1.0.0

La siguiente tabla muestra las dependencias de la versión 1.0.0 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Núcleo de Greengrass >=2.0.3 <2.1.0 Flexible

Para obtener más información sobre las dependencias de los componentes, consulta la referencia de recetas de componentes.

Configuración

Este componente proporciona los siguientes parámetros de configuración que puede personalizar al implementar el componente.

OS_DIST_INFO

(Opcional) El sistema operativo del dispositivo principal. De forma predeterminada, el componente intenta identificar automáticamente el sistema operativo que se ejecuta en el dispositivo principal. Si el componente no se inicia con el valor predeterminado, utilice este valor para especificar el sistema operativo. Para obtener una lista de los sistemas operativos compatibles con este componente, consulteRequisitos de los dispositivos.

Este valor puede ser uno de los siguientes:auto,ubuntu,amzn2,raspberrypi.

Valor predeterminado: auto

accessControl

(Opcional) El objeto que contiene la política de autorización que permite al componente suscribirse al tema de las notificaciones de túneles seguros.

nota

No modifique este parámetro de configuración si la implementación se dirige a un grupo de cosas. Si su implementación se dirige a un dispositivo principal individual y desea restringir su suscripción al tema del dispositivo, especifique el nombre del dispositivo principal. En el resources valor de la política de autorización del dispositivo, sustituya el comodín del tema MQTT por el nombre del dispositivo.

{ "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/+/tunnels/notify" ] } } }
ejemplo Ejemplo: actualización de combinación de configuraciones

El siguiente ejemplo de configuración especifica que se debe permitir que este componente abra túneles seguros en un dispositivo principal denominado MyGreengrassCore que ejecuta Ubuntu.

{ "OS_DIST_INFO": "ubuntu", "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/MyGreengrassCore/tunnels/notify" ] } } } }

Archivo de registro local

Este componente utiliza el siguiente archivo de registro.

/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
Para ver los registros de este componente
  • Ejecute el siguiente comando en el dispositivo principal para ver el archivo de registro de este componente en tiempo real. /greengrass/v2Sustitúyalo por la ruta a la carpeta AWS IoT Greengrass raíz.

    sudo tail -f /greengrass/v2/logs/aws.greengrass.SecureTunneling.log

Licencias

Este componente incluye el siguiente software o licencias de terceros:

Uso

Para usar el componente de tunelización segura en su dispositivo, haga lo siguiente:

  1. Implemente el componente de tunelización segura en su dispositivo.

  2. Abra la consola de AWS IoT. En el menú de la izquierda, selecciona Acciones remotas y, a continuación, selecciona Proteger túneles.

  3. Crea un túnel hacia tu dispositivo Greengrass.

  4. Descargue el token de acceso a la fuente.

  5. Usa el proxy local con el token de acceso a la fuente para conectarte a tu destino. Para obtener más información, consulta Cómo usar el proxy local en la Guía para AWS IoT desarrolladores.

Véase también

Registros de cambios

En la siguiente tabla se describen los cambios en cada versión del componente.

Versión

Cambios

1.0.19

Mejoras y correcciones de errores
  • Actualiza el cliente de AWS IoT dispositivo subyacente invocado por el componente de la versión 1.8.0 a la versión 1.9.0.

  • Aumenta el límite de túneles simultáneos a 20 túneles a nivel de componente.

  • Aumenta el tiempo de espera predeterminado del AWS IoT Greengrass Core IPC de 3 a 10 segundos.

aviso

Si utiliza el proxy local de tunelización segura como cliente de origen del túnel, no actualice el componente a esta versión hasta que también haya actualizado el proxy local a la versión 3.1.1 o posterior.

1.0.18

Versión actualizada para la versión 2.12.0 de Greengrass nucleus.

1.0.17

Mejoras y correcciones de errores
  • Corrige el problema de limpieza de subprocesos que impedía a los usuarios crear túneles. Este componente ahora limpiará un hilo una vez que reciba la CloseTunnel señal o si el túnel ha caducado después de 12 horas.

1.0.16

Versión actualizada para la versión 2.11.0 de Greengrass nucleus.

1.0.15

Mejoras y correcciones de errores
  • Soluciona un problema de inicio para los usuarios que no tienen un directorio principal en el dispositivo. El componente de tunelización segura ahora se inicia sin crear un directorio para documentos paralelos.

1.0.14

Versión actualizada para la versión 2.10.0 de Greengrass nucleus.

1.0.13

Mejoras y correcciones de errores
  • Soluciona un problema por el que un proceso cliente huérfano impedía que más de un túnel apuntara al dispositivo.

1.0.12

Mejoras y correcciones de errores
  • Añade compatibilidad con x86_64 (AMD64) y ARMv8 (Aarch64) cuando se ejecuta en el sistema operativo Raspberry Pi.

1.0.11

Versión actualizada para la versión 2.9.0 de Greengrass nucleus.

1.0.10

Versión actualizada para el lanzamiento de la versión 2.8.0 de Greengrass nucleus.

1.0.9

Versión actualizada para la versión 2.7.0 de Greengrass Nucleus.

1.0.8

Versión actualizada para la versión 2.6.0 de Greengrass nucleus.

1.0.7

Mejoras y correcciones de errores
  • Corrige un problema que provocaba que el componente se desconectara al transferir archivos grandes a través de SCP.

1.0.6

Esta versión contiene correcciones de errores.

1.0.5

Versión actualizada para la versión 2.5.0 de Greengrass nucleus.

1.0.4

Versión actualizada para la versión 2.4.0 de Greengrass nucleus.

1.0.3

Versión actualizada para la versión 2.3.0 de Greengrass nucleus.

1.0.2

Versión actualizada para el lanzamiento de la versión 2.2.0 de Greengrass nucleus.

1.0.1

Versión actualizada para el lanzamiento de la versión 2.1.0 de Greengrass nucleus.

1.0.0

Versión inicial.