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.
Connect eine Anwendung mit dem EMQX-Broker auf Edge AWS IoT SiteWise
Der EMQX-Broker verwendet Transport Layer Security (TLS) auf Port 8883, um die gesamte Kommunikation zu verschlüsseln und so sicherzustellen, dass Ihre Daten während der Übertragung geschützt bleiben. In diesem Abschnitt werden Sie durch die Schritte zum Herstellen von Verbindungen zwischen Ihren Anwendungen und dem EMQX-Broker geführt. Die Einhaltung dieser Schritte trägt dazu bei, die Integrität und Vertraulichkeit Ihrer Industriedaten zu wahren. Der Verbindungsprozess umfasst zwei Hauptansätze: die automatische IP-Erkennung mithilfe von Komponenten oder die manuelle Konfiguration von DNS-Namen und IP-Adressen als alternative Subject Names (SANs) in Ihren TLS-Zertifikaten. Jede Methode hat je nach Netzwerkkonfiguration und Sicherheitsanforderungen ihre eigenen Vorteile. Diese Dokumentation führt Sie durch beide Optionen.
Themen
Konfigurieren Sie TLS für sichere Verbindungen zum EMQX-Broker auf Edge AWS IoT SiteWise
AWS IoT Greengrass Generiert standardmäßig ein TLS-Serverzertifikat für den EMQX-Broker, das von der Core Device Certificate Authority (CA) signiert ist. Weitere Informationen finden Sie unter Client-Geräte über einen MQTT-Broker mit einem AWS IoT Greengrass Core-Gerät verbinden.
Rufen Sie das TLS-Zertifikat ab
Um das CA-Zertifikat zu erhalten, führen Sie den folgenden Befehl auf dem Gateway-Host aus:
Kopieren Sie den Inhalt der Datei ca.pem in die externe Anwendung, die Sie mit dem Broker verbinden. Speichern Sie diese unter BrokerCoreDeviceCA.pem
.
Fügen Sie dem TLS-Serverzertifikat benutzerdefinierte DNS-Namen/IP-Adressen hinzu
Der alternative Name des Antragstellers (SAN) auf dem von is generierten Zertifikat AWS IoT Greengrass localhost
Beim Herstellen einer TLS-Verbindung von außerhalb des Gateway-Hosts schlägt der TLS-Überprüfungsschritt fehl, da der Hostname des Brokers nicht mit dem Hostnamen localhost
auf dem Serverzertifikat übereinstimmt.
Um das Problem mit nicht übereinstimmenden Hostnamen zu beheben, AWS IoT Greengrass bietet diese Option zwei Möglichkeiten zur Verwaltung von Endpunkten auf Kerngeräten. In diesem Abschnitt werden beide Optionen behandelt. Ausführlichere Informationen finden Sie unter Manage core device endpoints im AWS IoT Greengrass Version 2 Developer Guide.
-
Verwenden Sie den Abschnitt Automatisierte IP-Erkennung, um über die IP-Adresse des Kerngeräts eine Verbindung zum EMQX-Broker herzustellen.
-
Um mithilfe eines DNS-Namens statt einer IP-Adresse eine Verbindung zum EMQX-Broker herzustellen, verwenden Sie den Abschnitt Manuelle Verwaltung.
Testen Sie die EMQX-Brokerverbindung auf Edge AWS IoT SiteWise
Nachdem Sie Ihren EMQX-Broker mit TLS-Zertifikaten und Authentifizierungsdaten konfiguriert haben, müssen Sie unbedingt überprüfen, ob Ihr Setup ordnungsgemäß funktioniert. Durch das Testen der Verbindung können Sie sicherstellen, dass Ihre Sicherheitskonfigurationen ordnungsgemäß implementiert sind und dass Clients erfolgreich verschlüsselte Verbindungen zum Broker herstellen können. In diesem Abschnitt wird gezeigt, wie Sie Ihre Broker-Verbindung mit dem Mosquitto Command Line Interface (CLI) -Client testen, einem weit verbreiteten MQTT-Client-Tool, das TLS-Verschlüsselung und -Authentifizierung unterstützt.
Verwenden Sie den Mosquitto CLI-Client, um die EMQX-Broker-Verbindung zu testen
In diesem Schritt verwenden wir den Mosquitto CLI-Client, um unser Setup zu testen und sicherzustellen, dass wir mit dem zuvor erstellten Benutzernamen und Passwort erfolgreich eine Verbindung zum Broker herstellen können. Die BrokerCoreDeviceCA.pem
folgenden Schritte finden Sie unter Schritt 3: TLS einrichten.
mosquitto_sub -h
hostname|ip address
\ -p 8883 \ -t "#" \ -q 1 \ -uusername
-Ppassword
\ --cafile BrokerCoreDeviceCA.pem
Anmerkung
Möglicherweise wird ein SSL:Verify-Fehler angezeigt, wenn die hostname/IP Adresse, mit der Sie eine Verbindung herstellen, nicht mit dem Subject Alternative Name (SAN) übereinstimmt, der auf dem CA-Zertifikat steht, das Sie an den Client übergeben. Informationen zum Abrufen eines Zertifikats mit dem richtigen SAN finden Sie unter „Hinzufügen benutzerdefinierter names/IP DNS-Adressen zum TLS-Serverzertifikat“ unter Schritt 3: TLS einrichten.
Zu diesem Zeitpunkt haben alle Benutzer Zugriff darauf, alle Themen auf dem Broker zu veröffentlichen und zu abonnieren. Fahren Sie mit Richten Sie Autorisierungsregeln für AWS IoT SiteWise Edge in EMQX ein fort.
Verwenden Sie Ihre eigene CA
AWS IoT Greengrass beschreibt, wie Sie Ihre eigene Authentifizierungskomponente für Client-Geräte so konfigurieren, dass sie Ihre eigene Zertifizierungsstelle (CA) verwendet. Die Authentifizierungskomponente für Clientgeräte (aws.greengrass.clientdevices.Auth
) authentifiziert Client-Geräte und autorisiert Aktionen auf Client-Geräten. Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Zertifizierungsstelle im Entwicklerhandbuch.AWS IoT Greengrass Version 2
Um Ihre eigene Zertifizierungsstelle zu verwenden, fügen Sie die aws.greengrass.clientdevices.Auth
Komponente zu Ihrer Bereitstellung hinzu, sodass Sie eine benutzerdefinierte Konfiguration angeben können.