Tunneling sicuro - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tunneling sicuro

Con il aws.greengrass.SecureTunneling componente, è possibile stabilire una comunicazione bidirezionale sicura con un dispositivo principale Greengrass situato dietro firewall limitati.

Ad esempio, immagina di avere un dispositivo core Greengrass protetto da un firewall che vieta tutte le connessioni in entrata. Il tunneling sicuro utilizza MQTT per trasferire un token di accesso al dispositivo e quindi lo utilizza WebSockets per stabilire una connessione SSH al dispositivo tramite il firewall. Con questo tunnel AWS IoT gestito, puoi aprire la connessione SSH necessaria per il tuo dispositivo. Per ulteriori informazioni sull'utilizzo del tunneling AWS IoT sicuro per la connessione a dispositivi remoti, consulta AWS IoT Secure Tunneling nella Developer Guide.AWS IoT

Questo componente sottoscrive il broker di messaggi AWS IoT Core MQTT sull'$aws/things/greengrass-core-device/tunnels/notifyargomento per ricevere notifiche di tunneling sicuro.

Versioni

Questo componente ha le seguenti versioni:

  • 1.0.x

Type

Questo componente è un componente generico () aws.greengrass.generic. Il nucleo Greengrass esegue gli script del ciclo di vita del componente.

Per ulteriori informazioni, consulta Tipi di componenti.

Sistema operativo

Questo componente può essere installato solo sui dispositivi principali di Linux.

Architetture:

  • Arm v71

  • Armv8 (AArch64)

  • x86_64

Requisiti

Questo componente ha i seguenti requisiti:

  • Almeno 32 MB di spazio su disco disponibile per il componente di tunneling sicuro. Questo requisito non include il software di base Greengrass o altri componenti in esecuzione sullo stesso dispositivo.

  • Sono disponibili almeno 16 MB di RAM per il componente di tunneling sicuro. Questo requisito non include il software di base Greengrass o altri componenti in esecuzione sullo stesso dispositivo. Per ulteriori informazioni, consulta Controlla l'allocazione della memoria con le opzioni JVM.

  • La versione 2.25 o superiore della GNU C Library (glibc) con un kernel Linux 3.2 o superiore è richiesta per la versione 1.0.12 e successive del componente di tunneling sicuro. Le versioni del sistema operativo e delle librerie che hanno superato la data di scadenza del supporto a lungo termine non sono supportate. È necessario utilizzare un sistema operativo e delle librerie con supporto a lungo termine.

  • Sia il sistema operativo che il runtime Java devono essere installati a 64 bit.

  • Python 3.5 o successivo installato sul dispositivo principale Greengrass e aggiunto alla variabile di ambiente PATH.

  • libcrypto.so.1.1installato sul dispositivo principale Greengrass e aggiunto alla variabile di ambiente PATH.

  • Apri il traffico in uscita sulla porta 443 del dispositivo principale Greengrass.

  • Attiva il supporto per il servizio di comunicazione che desideri utilizzare per comunicare con il dispositivo principale Greengrass. Ad esempio, per aprire una connessione SSH al dispositivo, è necessario attivare SSH su quel dispositivo.

Endpoint e porte

Questo componente deve essere in grado di eseguire richieste in uscita verso i seguenti endpoint e porte, oltre agli endpoint e alle porte necessari per le operazioni di base. Per ulteriori informazioni, consulta Consenti il traffico dei dispositivi tramite un proxy o un firewall.

Endpoint Porta Richiesto Descrizione

data.tunneling.iot.region.amazonaws.com

443

Stabilisci tunnel sicuri.

Dipendenze

Quando distribuisci un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle sue dipendenze. Ciò significa che è necessario soddisfare i requisiti per il componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli di versione semantica che definiscono le versioni dei componenti per ogni dipendenza. È inoltre possibile visualizzare le dipendenze per ogni versione del componente nella console.AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

1.0.19

La tabella seguente elenca le dipendenze per la versione 1.0.19 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <3.0.0 Flessibili
1.0.18

La tabella seguente elenca le dipendenze per la versione 1.0.18 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.13.0 Flessibili
1.0.16 – 1.0.17

La tabella seguente elenca le dipendenze per le versioni da 1.0.16 a 1.0.17 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.12.0 Flessibili
1.0.14 – 1.0.15

La tabella seguente elenca le dipendenze per le versioni da 1.0.14 a 1.0.15 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.11.0 Flessibili
1.0.11 – 1.0.13

La tabella seguente elenca le dipendenze per le versioni 1.0.11 - 1.0.13 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.10.0 Flessibili
1.0.10

La tabella seguente elenca le dipendenze per la versione 1.0.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.9.0 Flessibili
1.0.9

La tabella seguente elenca le dipendenze per la versione 1.0.9 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.8.0 Flessibili
1.0.8

La tabella seguente elenca le dipendenze per la versione 1.0.8 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.7.0 Flessibili
1.0.5 - 1.0.7

La tabella seguente elenca le dipendenze per le versioni da 1.0.5 a 1.0.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.6.0 Flessibili
1.0.4

La tabella seguente elenca le dipendenze per la versione 1.0.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.5.0 Flessibili
1.0.3

La tabella seguente elenca le dipendenze per la versione 1.0.3 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.4.0 Flessibili
1.0.2

La tabella seguente elenca le dipendenze per la versione 1.0.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.3.0 Flessibili
1.0.1

La tabella seguente elenca le dipendenze per la versione 1.0.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.0 <2.2.0 Flessibili
1.0.0

La tabella seguente elenca le dipendenze per la versione 1.0.0 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass >=2.0.3 <2.1.0 Flessibili

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti.

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

OS_DIST_INFO

(Facoltativo) Il sistema operativo del dispositivo principale. Per impostazione predefinita, il componente tenta di identificare automaticamente il sistema operativo in esecuzione sul dispositivo principale. Se il componente non si avvia con il valore predefinito, utilizzate questo valore per specificare il sistema operativo. Per un elenco dei sistemi operativi supportati per questo componente, vedereRequisiti per il dispositivo.

Questo valore può essere uno dei seguenti:auto,ubuntu,amzn2,raspberrypi.

Impostazione predefinita: auto

accessControl

(Facoltativo) L'oggetto che contiene la politica di autorizzazione che consente al componente di sottoscrivere l'argomento delle notifiche di tunneling sicuro.

Nota

Non modificate questo parametro di configurazione se la distribuzione è destinata a un gruppo di oggetti. Se la distribuzione riguarda un singolo dispositivo core e desideri limitarne l'abbonamento all'argomento del dispositivo, specifica il nome dell'oggetto del dispositivo principale. Nel resources valore della politica di autorizzazione del dispositivo, sostituisci la wildcard dell'argomento MQTT con il nome dell'oggetto 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" ] } } }
Esempio: fusione e aggiornamento della configurazione

La configurazione di esempio seguente specifica di consentire a questo componente di aprire tunnel sicuri su un dispositivo principale denominato MyGreengrassCore che esegue 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" ] } } } }

File di registro locale

Questo componente utilizza il seguente file di registro.

/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
Per visualizzare i log di questo componente
  • Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci /greengrass/v2 con il percorso della cartella AWS IoT Greengrass principale.

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

Licenze

Questo componente include i seguenti software/licenze di terze parti:

Utilizzo

Per utilizzare il componente di tunneling sicuro sul tuo dispositivo, procedi come segue:

  1. Implementa il componente di tunneling sicuro sul tuo dispositivo.

  2. Apri la AWS IoT console. Dal menu a sinistra, scegli Azioni remote, quindi scegli Tunnel sicuri.

  3. Crea un tunnel per il tuo dispositivo Greengrass.

  4. Scarica il token di accesso sorgente.

  5. Usa il proxy locale con il token di accesso sorgente per connetterti alla tua destinazione. Per ulteriori informazioni, consulta Come utilizzare il proxy locale nella Guida per gli AWS IoT sviluppatori.

Consulta anche

Changelog

La tabella seguente descrive le modifiche apportate a ciascuna versione del componente.

Versione

Modifiche

1.0.19

Correzioni di bug e miglioramenti
  • Aggiorna il AWS IoT Device Client sottostante richiamato dal componente dalla versione 1.8.0 alla versione 1.9.0.

  • Aumenta il limite del tunnel simultaneo a 20 tunnel a livello di componente.

  • Aumenta il timeout AWS IoT Greengrass Core IPC predefinito da 3 secondi a 10 secondi.

avvertimento

Se utilizzate il proxy locale Secure Tunneling come client di origine del tunnel, non aggiornate il componente a questa versione prima di aver aggiornato anche il proxy locale alla versione 3.1.1 o successiva.

1.0.18

Versione aggiornata per la versione 2.12.0 di Greengrass nucleus.

1.0.17

Correzioni di bug e miglioramenti
  • Risolve il problema di pulizia dei thread che impediva agli utenti di creare tunnel. Questo componente ora pulirà un thread una volta ricevuto il CloseTunnel segnale o se il tunnel è scaduto dopo 12 ore.

1.0.16

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

1.0.15

Correzioni di bug e miglioramenti
  • Risolve un problema di avvio per gli utenti che non dispongono di una home directory sul dispositivo. Il componente Secure Tunneling ora si avvia senza creare una directory per i documenti shadow.

1.0.14

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

1.0.13

Correzioni di bug e miglioramenti
  • Risolve un problema per cui un processo client orfano impedisce a più di un tunnel di indirizzare il dispositivo.

1.0.12

Correzioni di bug e miglioramenti
  • Aggiunge il supporto per x86_64 (AMD64) e ARMv8 (Aarch64) durante l'esecuzione su sistema operativo Raspberry Pi.

1.0.11

Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

1.0.10

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

1.0.9

Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.

1.0.8

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

1.0.7

Correzioni di bug e miglioramenti
  • Risolve un problema a causa del quale il componente si disconnette quando si trasferiscono file di grandi dimensioni tramite SCP.

1.0.6

Questa versione contiene correzioni di bug.

1.0.5

Versione aggiornata per la versione 2.5.0 di Greengrass nucleus.

1.0.4

Versione aggiornata per la versione 2.4.0 di Greengrass nucleus.

1.0.3

Versione aggiornata per la versione 2.3.0 di Greengrass nucleus.

1.0.2

Versione aggiornata per la versione 2.2.0 di Greengrass nucleus.

1.0.1

Versione aggiornata per la versione 2.1.0 di Greengrass nucleus.

1.0.0

Versione iniziale.