Sicheres Tunneling - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Sicheres Tunneling

Mit der aws.greengrass.SecureTunneling Komponente können Sie eine sichere bidirektionale Kommunikation mit einem Greengrass-Core-Gerät aufbauen, das sich hinter eingeschränkten Firewalls befindet.

Stellen Sie sich zum Beispiel vor, Sie haben ein Greengrass-Core-Gerät hinter einer Firewall, die alle eingehenden Verbindungen verbietet. Secure Tunneling verwendet MQTT, um ein Zugriffstoken auf das Gerät zu übertragen, und stellt dann über die WebSockets Firewall eine SSH-Verbindung zum Gerät her. Mit diesem AWS IoT verwalteten Tunnel können Sie die für Ihr Gerät benötigte SSH-Verbindung öffnen. Weitere Informationen zur Verwendung von AWS IoT Secure Tunneling für die Verbindung zu Remote-Geräten finden Sie unter AWS IoT Secure Tunneling im Entwicklerhandbuch.AWS IoT

Diese Komponente abonniert den AWS IoT Core MQTT-Nachrichtenbroker zu diesem $aws/things/greengrass-core-device/tunnels/notify Thema, um Benachrichtigungen über sicheres Tunneling zu erhalten.

Versionen

Diese Komponente hat die folgenden Versionen:

  • 1.0.x

Typ

Diese Komponente ist eine generische Komponente (aws.greengrass.generic). Der Greengrass-Kern führt die Lebenszyklusskripte der Komponente aus.

Weitere Informationen finden Sie unter Komponententypen.

Betriebssystem

Diese Komponente kann nur auf Linux-Core-Geräten installiert werden.

Architekturen:

  • Armv71

  • Armv8 (AArch64)

  • x86_64

Voraussetzungen

Für diese Komponente gelten die folgenden Anforderungen:

  • Für die Secure Tunneling-Komponente stehen mindestens 32 MB Festplattenspeicher zur Verfügung. Diese Anforderung umfasst nicht die Greengrass-Kernsoftware oder andere Komponenten, die auf demselben Gerät ausgeführt werden.

  • Für die Secure Tunneling-Komponente sind mindestens 16 MB RAM verfügbar. Diese Anforderung umfasst nicht die Greengrass-Kernsoftware oder andere Komponenten, die auf demselben Gerät ausgeführt werden. Weitere Informationen finden Sie unter Steuern Sie die Speicherzuweisung mit Optionen JVM.

  • GNU C Library (Glibc) Version 2.25 oder höher mit einem Linux-Kernel von 3.2 oder höher sind für die Secure Tunneling-Komponente Version 1.0.12 und höher erforderlich. Versionen des Betriebssystems und der Bibliotheken, deren Haltbarkeitsdatum für den langfristigen Support abgelaufen ist, werden nicht unterstützt. Sie sollten ein Betriebssystem und Bibliotheken mit langfristigem Support verwenden.

  • Sowohl das Betriebssystem als auch die Java-Runtime müssen als 64-Bit-Version installiert sein.

  • Python 3.5 oder höher wurde auf dem Greengrass-Core-Gerät installiert und der Umgebungsvariablen PATH hinzugefügt.

  • libcrypto.so.1.1auf dem Greengrass-Core-Gerät installiert und zur Umgebungsvariablen PATH hinzugefügt.

  • Öffnen Sie ausgehenden Verkehr auf Port 443 auf dem Greengrass-Core-Gerät.

  • Aktivieren Sie die Unterstützung für den Kommunikationsdienst, den Sie für die Kommunikation mit dem Greengrass Core-Gerät verwenden möchten. Um beispielsweise eine SSH-Verbindung zu dem Gerät herzustellen, müssen Sie SSH auf diesem Gerät aktivieren.

Endpunkte und Ports

Diese Komponente muss in der Lage sein, ausgehende Anfragen an die folgenden Endpunkte und Ports auszuführen, zusätzlich zu den Endpunkten und Ports, die für den Basisbetrieb erforderlich sind. Weitere Informationen finden Sie unter Zulassen von Gerätedatenverkehr über einen Proxy oder eine Firewall.

Endpunkt Port Erforderlich Beschreibung

data.tunneling.iot.region.amazonaws.com

443 Ja

Richten Sie sichere Tunnel ein.

Abhängigkeiten

Wenn Sie eine Komponente bereitstellen, stellt sie AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereit. Das bedeutet, dass Sie die Anforderungen für die Komponente und all ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitstellen zu können. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können auch die Abhängigkeiten für jede Version der Komponente in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.

1.0.19

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.19 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <3.0.0 Weich
1.0.18

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.18 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.13.0 Weich
1.0.16 – 1.0.17

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.16 bis 1.0.17 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.12.0 Weich
1.0.14 – 1.0.15

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.14 bis 1.0.15 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.11.0 Weich
1.0.11 – 1.0.13

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.11 — 1.0.13 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.10.0 Weich
1.0.10

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.10 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.9.0 Weich
1.0.9

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.9 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.8.0 Weich
1.0.8

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.8 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.7.0 Weich
1.0.5 - 1.0.7

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.5 bis 1.0.7 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.6.0 Weich
1.0.4

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.4 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.5.0 Weich
1.0.3

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.3 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.4.0 Weich
1.0.2

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.2 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.3.0 Weich
1.0.1

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.1 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.2.0 Weich
1.0.0

In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.3 <2.1.0 Weich

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zu den Komponentenrezepten.

Konfiguration

Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.

OS_DIST_INFO

(Optional) Das Betriebssystem Ihres Kerngeräts. Standardmäßig versucht die Komponente, das auf Ihrem Kerngerät ausgeführte Betriebssystem automatisch zu identifizieren. Wenn die Komponente nicht mit dem Standardwert startet, verwenden Sie diesen Wert, um das Betriebssystem anzugeben. Eine Liste der unterstützten Betriebssysteme für diese Komponente finden Sie unterAnforderungen an Speichergeräte.

Dieser Wert kann einer der folgenden sein:auto,ubuntu,amzn2,raspberrypi.

Standard: auto

accessControl

(Optional) Das Objekt, das die Autorisierungsrichtlinie enthält, die es der Komponente ermöglicht, das Thema Secure Tunneling-Benachrichtigungen zu abonnieren.

Anmerkung

Ändern Sie diesen Konfigurationsparameter nicht, wenn Ihre Bereitstellung auf eine Dinggruppe abzielt. Wenn Ihre Bereitstellung auf ein einzelnes Kerngerät abzielt und Sie dessen Abonnement auf das Thema des Geräts beschränken möchten, geben Sie den Ding-Namen des Kerngeräts an. Ersetzen Sie in dem resources Wert in der Autorisierungsrichtlinie des Geräts den Platzhalter für das MQTT-Thema durch den Ding-Namen des Geräts.

{ "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" ] } } }
Beispiel: Aktualisierung der Zusammenführung von Konfigurationen

Die folgende Beispielkonfiguration gibt an, MyGreengrassCore dass diese Komponente sichere Tunnel auf einem Kerngerät mit dem Namen Ubuntu öffnen kann.

{ "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" ] } } } }

Lokale Protokolldatei

Diese Komponente verwendet die folgende Protokolldatei.

/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
Um die Protokolle dieser Komponente einzusehen
  • Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. /greengrass/v2Ersetzen Sie durch den Pfad zum AWS IoT Greengrass Stammordner.

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

Lizenzen

Diese Komponente umfasst die folgende Software/Lizenzierung von Drittanbietern:

Verwendung

Gehen Sie wie folgt vor, um die Secure Tunneling-Komponente auf Ihrem Gerät zu verwenden:

  1. Stellen Sie die Secure Tunneling-Komponente auf Ihrem Gerät bereit.

  2. Öffnen Sie die AWS IoT -Konsole. Wählen Sie im linken Menü die Option Remote-Aktionen und dann Sichere Tunnel aus.

  3. Erstellen Sie einen Tunnel zu Ihrem Greengrass-Gerät.

  4. Laden Sie das Quellzugriffstoken herunter.

  5. Verwenden Sie den lokalen Proxy mit dem Quellzugriffstoken, um eine Verbindung zu Ihrem Ziel herzustellen. Weitere Informationen finden Sie unter So verwenden Sie den lokalen Proxy im AWS IoT Entwicklerhandbuch.

Weitere Informationen finden Sie auch unter

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.

Version

Änderungen

1.0.19

Fehlerkorrekturen und Verbesserungen
  • Führt ein Upgrade des zugrunde liegenden AWS IoT Geräteclients, der von der Komponente aufgerufen wird, von Version 1.8.0 auf Version 1.9.0 durch.

  • Erhöht das Limit für gleichzeitige Tunnel auf Komponentenebene auf 20 Tunnel.

  • Erhöht das standardmäßige AWS IoT Greengrass Core-IPC-Timeout von 3 Sekunden auf 10 Sekunden.

Warnung

Wenn Sie den lokalen Secure Tunneling-Proxy als Tunnelquellclient verwenden, aktualisieren Sie Ihre Komponente erst auf diese Version, wenn Sie auch den lokalen Proxy auf Version 3.1.1 oder höher aktualisiert haben.

1.0.18

Die Version wurde für die Version 2.12.0 von Greengrass Nucleus aktualisiert.

1.0.17

Fehlerkorrekturen und Verbesserungen
  • Behebt das Problem mit der Thread-Bereinigung, das Benutzer daran hinderte, Tunnel zu erstellen. Diese Komponente bereinigt nun einen Thread, entweder sobald er das CloseTunnel Signal empfängt oder wenn der Tunnel nach 12 Stunden abgelaufen ist.

1.0.16

Die Version wurde für die Version 2.11.0 von Greengrass Nucleus aktualisiert.

1.0.15

Fehlerkorrekturen und Verbesserungen
  • Behebt ein Startproblem für Benutzer, die kein Home-Verzeichnis auf dem Gerät haben. Die Secure Tunneling-Komponente startet jetzt, ohne ein Verzeichnis für Shadow-Dokumente zu erstellen.

1.0.14

Die Version wurde für die Version 2.10.0 von Greengrass Nucleus aktualisiert.

1.0.13

Fehlerkorrekturen und Verbesserungen
  • Behebt ein Problem, bei dem ein verwaister Client-Prozess verhindert, dass mehr als ein Tunnel auf das Gerät abzielt.

1.0.12

Fehlerkorrekturen und Verbesserungen
  • Fügt Unterstützung für x86_64 (AMD64) und ARMv8 (Aarch64) hinzu, wenn sie unter Raspberry Pi OS ausgeführt werden.

1.0.11

Die Version wurde für die Version 2.9.0 von Greengrass Nucleus aktualisiert.

1.0.10

Die Version wurde für die Version 2.8.0 von Greengrass Nucleus aktualisiert.

1.0.9

Die Version wurde für die Version 2.7.0 von Greengrass Nucleus aktualisiert.

1.0.8

Die Version wurde für die Version 2.6.0 von Greengrass Nucleus aktualisiert.

1.0.7

Fehlerkorrekturen und Verbesserungen
  • Behebt ein Problem, bei dem die Verbindung der Komponente unterbrochen wird, wenn Sie große Dateien über SCP übertragen.

1.0.6

Diese Version enthält Fehlerkorrekturen.

1.0.5

Die Version wurde für die Version 2.5.0 von Greengrass Nucleus aktualisiert.

1.0.4

Die Version wurde für die Version 2.4.0 von Greengrass Nucleus aktualisiert.

1.0.3

Die Version wurde für die Version 2.3.0 von Greengrass Nucleus aktualisiert.

1.0.2

Die Version wurde für die Version 2.2.0 von Greengrass Nucleus aktualisiert.

1.0.1

Die Version wurde für die Version 2.1.0 von Greengrass Nucleus aktualisiert.

1.0.0

Erste Version