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 aufAWS IoT SiteWiseEdge
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 Subject Alternative Names (SANs) in Ihren TLS-Zertifikaten. Jede Methode hat ihre eigenen Vorteile, abhängig von Ihrer Netzwerkkonfiguration und Ihren Sicherheitsanforderungen. Diese Dokumentation führt Sie durch beide Optionen.
Themen
Konfigurieren Sie TLS für sichere Verbindungen zum EMQX-Broker aufAWS IoT SiteWiseEdge
AWS IoT GreengrassGeneriert 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 names/IP DNS-Adressen hinzu
Der alternative Name des Antragstellers (SAN) auf dem von AWS IoT Greengrass is localhost generierten Zertifikat 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 2Developer 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 aufAWS IoT SiteWiseEdge
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 -hhostname|ip address\ -p 8883 \ -t "#" \ -q 1 \ -uusername-Ppassword\ --cafile BrokerCoreDeviceCA.pem
Anmerkung
Möglicherweise wird eine SSL:verify Fehlermeldung 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 weitergeben. Informationen dazu, wie Sie ein Zertifikat mit dem richtigen SAN erhalten, finden Sie unter „Hinzufügen von benutzerdefinierten names/IP DNS-Adressen zum TLS-Serverzertifikat“ unter Schritt 3: TLS einrichten.
Zu diesem Zeitpunkt können alle Benutzer alle Themen auf dem Broker veröffentlichen und abonnieren. Fahren Sie mit Richten Sie Autorisierungsregeln ein fürAWS IoT SiteWiseEdge in EMQX fort.
Verwenden Sie Ihre eigene CA
AWS IoT Greengrassbeschreibt, 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.