Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
IoT Edge 1.5
Wichtig
IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.
In einem transparenten Gatewayszenario benötigen downstream-Geräte, die manchmal als untergeordnete Geräte bezeichnet werden, Identitäten in IoT Hub wie jedes andere Gerät. In diesem Artikel werden die Optionen zum Authentifizieren eines nachgeschalteten Geräts beim IoT Hub erläutert und erläutert, wie die Gatewayverbindung deklariert wird.
Hinweis
Ein nachgeschaltetes Gerät sendet Daten direkt an das Internet oder an Gatewaygeräte, unabhängig davon, ob sie IoT Edge-fähig sind oder nicht. Ein untergeordnetes Gerät kann ein nachgeschaltetes Gerät oder ein Gatewaygerät in einer geschachtelten Topologie sein.
Es gibt drei allgemeine Schritte zum Einrichten einer erfolgreichen Verbindung mit einem transparenten Gateway. In diesem Artikel wird der zweite Schritt behandelt:
- Konfigurieren Sie das Gatewaygerät als Server, sodass sich nachgeschaltete Geräte mit ihm sicher verbinden können. Richten Sie das Gateway so ein, dass es Nachrichten von nachgeschalteten Geräten empfängt und an das richtige Ziel weiterleitet. Die dazu erforderlichen Schritte finden Sie unter Konfigurieren eines IoT Edge-Geräts als transparentes Gateway.
- Erstellen Sie eine Geräteidentität für das nachgeschaltete Gerät, damit es sich bei IoT Hub authentifizieren kann. Konfigurieren Sie das nachgeschaltete Gerät zum Senden von Nachrichten über das Gatewaygerät.
- Verbinden Sie das nachgeschaltete Gerät mit dem Gatewaygerät, und beginnen Sie mit dem Senden von Nachrichten. Die dazu erforderlichen Schritte finden Sie unter Verbinden eines nachgeschalteten Geräts mit einem Azure IoT Edge-Gateway.
Nachgeschaltete Geräte können sich mit einer von drei Methoden bei IoT Hub authentifizieren: symmetrische Schlüssel (manchmal als freigegebene Zugriffsschlüssel bezeichnet), X.509 selbstsignierte Zertifikate oder von einer X.509-Zertifizierungsstelle (CA) signierte Zertifikate. Die Authentifizierungsschritte ähneln denen zum Einrichten eines Nicht-IoT-Edgegeräts mit IoT Hub mit kleinen Unterschieden zum Deklarieren der Gatewaybeziehung.
Die automatische Bereitstellung von nachgeschalteten Geräten mit Azure IoT Hub Device Provisioning Service (DPS) wird nicht unterstützt.
Voraussetzungen
Führen Sie die Schritte unter Konfigurieren eines IoT Edge-Geräts aus, um als transparentes Gateway zu fungieren.
Wenn Sie die X.509-Authentifizierung verwenden, generieren Sie Zertifikate für Ihr downstream-Gerät. Stellen Sie sicher, dass dasselbe Zertifikat der Stammzertifizierungsstelle und das Zertifikat zum Generieren des Skripts, das Sie für den Artikel zum transparenten Gateway verwendet haben, zur Verfügung steht.
Im Artikel wird an mehreren Stellen auf den Gatewayhostnamen verwiesen. Der Gatewayhostname wird im Hostnamenparameter der Konfigurationsdatei auf dem IoT Edge-Gatewaygerät festgelegt. Es wird auch in der Verbindungszeichenfolge des nachgeschalteten Geräts verwendet. Der Gatewayhostname muss mithilfe von DNS oder einem Hostdateieintrag auf dem downstream-Gerät in eine IP-Adresse aufgelöst werden.
Registrieren des Geräts bei IoT Hub
Wählen Sie aus, wie sich Ihr nachgeschaltetes Gerät bei IoT Hub authentifizieren soll:
Authentifizierung mit symmetrischen Schlüsseln: IoT Hub erstellt einen Schlüssel, den Sie auf dem nachgeschalteten Gerät speichern. Bei der Authentifizierung des Geräts überprüft IoT Hub, ob die beiden Schlüssel übereinstimmen. Sie müssen keine zusätzlichen Zertifikate erstellen, wenn Sie die Authentifizierung mit symmetrischem Schlüssel verwenden möchten.
Mit dieser Methode können Sie schneller starten, wenn Sie Gateways in einem Entwicklungs- oder Testszenario testen.
Authentifizierung mit selbstsignierten X.509-Zertifikaten: Diese Methode wird manchmal als „Authentifizierung per Fingerabdruck“ bezeichnet, da Sie den Fingerabdruck aus dem X.509-Zertifikat des Geräts für IoT Hub freigeben.
Zertifikatauthentifizierung wird für Geräte in Produktionsszenarien empfohlen.
Authentifizierung mit einem X.509-Zertifikat, das von einer Zertifizierungsstelle signiert wurde: Laden Sie das Zertifikat der Stammzertifizierungsstelle in IoT Hub hoch. Wenn das X.509-Zertifikat für die Authentifizierung von einem Gerät angezeigt wird, überprüft IoT Hub, ob es zu einer Vertrauenskette gehört, die von demselben Zertifikat der Stammzertifizierungsstelle signiert wurde.
Zertifikatauthentifizierung wird für Geräte in Produktionsszenarien empfohlen.
Authentifizierung mit symmetrischen Schlüsseln
Die Authentifizierung mit symmetrischen Schlüsseln (oder SAS-Schlüsselauthentifizierung) ist die einfachste Möglichkeit für die Authentifizierung bei IoT Hub. Bei der Authentifizierung mit symmetrischen Schlüsseln wird der ID Ihres IoT-Gerätes in IoT Hub ein Base64-Schlüssel zugeordnet. Sie fügen diesen Schlüssel in Ihre IoT-Anwendungen ein, sodass Ihr Gerät diesen beim Herstellen einer Verbindung mit IoT Hub vorweisen kann.
Fügen Sie ihrem IoT-Hub ein neues IoT-Gerät hinzu, indem Sie entweder das Azure-Portal, die Azure CLI oder die IoT-Erweiterung für Visual Studio Code verwenden. Denken Sie daran, dass nachgeschaltete Geräte in IoT Hub als reguläre IoT-Geräte – nicht als IoT Edge-Geräte – angegeben werden müssen.
Geben Sie beim Erstellen der neuen Geräteidentität die folgenden Informationen an:
Erstellen Sie eine ID für Ihr Gerät.
Wählen Sie als Authentifizierungstyp Symmetrischer Schlüssel aus.
Wählen Sie "Übergeordnetes Gerät festlegen" aus, und wählen Sie das IoT Edge-Gatewaygerät aus, über das dieses nachgeschaltete Gerät eine Verbindung herstellt. Sie können das übergeordnete Gerät später jederzeit ändern.
Hinweis
Das Festlegen des übergeordneten Geräts galt als optionaler Schritt für nachgeschaltete Geräte mit symmetrischer Schlüsselauthentifizierung. Ab IoT Edge, Version 1.1.0, muss jedoch jedes nachgeschaltete Gerät einem übergeordneten Gerät zugewiesen werden.
Sie können den IoT Edge-Hub so konfigurieren, dass er zum vorherigen Verhalten zurück wechselt, indem Sie die Umgebungsvariable AuthenticationMode auf den Wert CloudAndScope festlegen.
Sie können auch die IoT-Erweiterung für die Azure-Befehlszeilenschnittstelle verwenden, um diesen Vorgang abzuschließen. Im folgenden Beispiel wird mithilfe des Befehls az iot hub device-identity ein neues IoT-Gerät mit Authentifizierung mit symmetrischem Schlüssel erstellt und ein übergeordnetes Gerät zugewiesen:
az iot hub device-identity create -n {iothub name} -d {new device ID} --device-scope {deviceScope of parent device}
Tipp
Sie können Geräteeigenschaften einschließlich Gerätebereich mithilfe von az iot hub device-identity list --hub-name {iothub name} auflisten.
Als Nächstes müssen Sie die Verbindungszeichenfolge abrufen und ändern, damit Ihr Gerät weiß, dass es eine Verbindung über sein Gateway herstellen soll.
Selbstsignierte X.509-Authentifizierung
Für die selbstsignierte X.509-Authentifizierung (manchmal auch als „Authentifizierung per Fingerabdruck bezeichnet) müssen Sie Zertifikate erstellen und auf Ihrem nachgeschalteten Gerät speichern. Diese Zertifikate verfügen über einen Fingerabdruck, den Sie für die Authentifizierung an IoT Hub übergeben.
Erstellen Sie mithilfe Ihres Zertifizierungsstellenzertifikats zwei Gerätezertifikate (primär und sekundär) für das nachgeschaltete Gerät.
Wenn Sie über keine Zertifizierungsstelle zum Erstellen von X.509-Zertifikaten verfügen, können Sie die IoT Edge-Demozertifikatskripts zum Erstellen von Zertifikaten für nachgeschaltete Geräte verwenden. Führen Sie die folgenden Schritte zum Erstellen von selbstsignierten Zertifikaten aus. Verwenden Sie dasselbe Zertifikat der Stammzertifizierungsstelle, das die Zertifikate für Ihr Gatewaygerät generiert hat.
Wenn Sie Ihre eigenen Zertifikate erstellen, sorgen Sie dafür, dass der Antragstellername des Gerätezertifikats auf die Geräte-ID festgelegt ist, die Sie bei der Registrierung des IoT-Geräts im Azure IoT Hub verwenden. Diese Einstellung ist für die Authentifizierung erforderlich.
Rufen Sie den SHA1-Fingerabdruck aller Zertifikate ab. Es handelt sich dabei um eine hexadezimale Zeichenfolge mit 40 Zeichen. Verwenden Sie den folgenden OpenSSL-Befehl, um das Zertifikat anzuzeigen und den Fingerabdruck zu suchen:
Fenster:
openssl x509 -in <path to primary device certificate>.cert.pem -text -fingerprintLinux:
openssl x509 -in <path to primary device certificate>.cert.pem -text -fingerprint | sed 's/[:]//g'
Führen Sie diesen Befehl zweimal aus – einmal für das primäre Zertifikat und einmal für das sekundäre Zertifikat. Sie geben Fingerabdrücke für beide Zertifikate an, wenn Sie ein neues IoT-Gerät mithilfe von selbst signierten X.509-Zertifikaten registrieren.
Navigieren Sie im Azure-Portal zu Ihrem IoT Hub, und erstellen Sie eine neue IoT-Geräteidentität mit den folgenden Werten:
- Geben Sie die Geräte-ID an, die mit dem Antragstellernamen Ihrer Gerätezertifikate übereinstimmt.
- Wählen Sie als Authentifizierungstyp X.509, selbstsigniert aus.
- Fügen Sie die hexadezimalen Zeichenfolgen ein, die Sie aus den primären und sekundären Zertifikaten Ihres Geräts kopiert haben.
- Wählen Sie "Übergeordnetes Gerät festlegen" und dann das IoT Edge-Gatewaygerät aus, über das dieses nachgeschaltete Gerät eine Verbindung herstellt. Sie können das übergeordnete Gerät später jederzeit ändern.
Kopieren Sie sowohl die primären als auch die sekundären Gerätezertifikate und deren Schlüssel an einen beliebigen Speicherort auf dem nachgeschalteten Gerät. Verschieben Sie außerdem eine Kopie des freigegebenen Stammzertifizierungsstellenzertifikats, mit dem sowohl das Gatewaygerätezertikat als auch die Zertifikate für das nachgeschaltete Gerät generiert wurden.
Sie werden auf diese Zertifikatdateien in allen Anwendungen auf dem nachgeschalteten Gerät verweisen, die eine Verbindung mit IoT Hub herstellen. Sie können einen Dienst wie Azure Key Vault oder eine Funktion wie Secure Copy Protocol zum Verschieben der Zertifikatsdateien verwenden.
Sehen Sie sich je nach Ihrer bevorzugten Sprache Beispiele dafür an, wie in IoT-Anwendungen auf X.509-Zertifikate verwiesen werden kann:
Sie können auch die IoT-Erweiterung für die Azure-Befehlszeilenschnittstelle verwenden, um den Vorgang zur Geräteerstellung abzuschließen. Im folgenden Beispiel wird mithilfe des Befehls az iot hub device-identity ein neues IoT-Gerät mit selbstsignierter X.509-Zertifizierung erstellt und ein übergeordnetes Gerät zugewiesen:
az iot hub device-identity create -n {iothub name} -d {device ID} --device-scope {deviceScope of gateway device} --am x509_thumbprint --ptp {primary thumbprint} --stp {secondary thumbprint}
Tipp
Sie können Geräteeigenschaften einschließlich Gerätebereich mithilfe von az iot hub device-identity list --hub-name {iothub name} auflisten.
Als Nächstes müssen Sie die Verbindungszeichenfolge abrufen und ändern, damit Ihr Gerät weiß, dass es eine Verbindung über sein Gateway herstellen soll.
Authentifizierung mit einem X.509-Zertifikat, das von einer Zertifizierungsstelle signiert wurde
Für die Authentifizierung mit einem X.509-Zertifikat, das von einer Zertifizierungsstelle (ZS) signiert wurde, muss ein Zertifikat einer Stammzertifizierungsstelle in IoT Hub registriert sein, mit dem Sie die Zertifikate für Ihr nachgeschaltetes Gerät signieren. Jedes Gerät, das ein Zertifikat verwendet, das durch das Zertifikat der Stammzertifizierungsstelle oder eines seiner Zwischenzertifikate ausgestellt wurde, darf sich authentifizieren.
Eine Einführung in die Verwendung von X.509-Zertifikaten von Zertifizierungsstellen zur Authentifizierung im IoT Hub finden Sie unter Vorteilen der X.509-CA-Zertifikatauthentifizierung.
Führen Sie die folgenden Schritte aus, um die von der X.509-Zertifizierungsstelle signierte Authentifizierung für ein nachgeschaltetes Gerät einzurichten:
Rufen Sie ein X.509-Zertifizierungsstellenzertifikat ab, mit dem Sie Zertifikate für Ihr nachgeschaltetes Gerät signieren können. Ein Beispiel zum Einrichten der von der Zertifizierungsstelle signierten X.509-Authentifizierung finden Sie im folgenden Beispielszenario.
Erstellen Sie eine Vertrauenskette für das nachgeschaltete Gerät. Um mehr zu erfahren, führen Sie die Schritte zum Erstellen einer untergeordneten Zertifizierungsstelle aus.
Registrieren Sie das X.509 CA-Zertifikat in Ihrem IoT Hub. Um mehr zu erfahren, folgen Sie den Schritten im Abschnitt Registrieren Ihres untergeordneten Zertifikats der Zertifizierungsstelle in Ihrem IoT Hub.
Kopieren Sie das Gerätezertifikat und die Schlüssel auf das nachgeschaltete Gerät. Weitere Informationen finden Sie unter Verwalten von IoT Edge-Zertifikaten.
Registrieren Sie das Gerät bei IoT Hub, um die X.509 CA-unterzeichnete Authentifizierung zu verwenden. Weitere Informationen finden Sie unter Erstellen und Verwalten von Geräteidentitäten.
Sehen Sie sich je nach Ihrer bevorzugten Sprache Beispiele dafür an, wie in IoT-Anwendungen auf X.509-Zertifikate verwiesen werden kann:
Abrufen und Ändern der Verbindungszeichenfolge
Nachdem Sie eine IoT-Geräteidentität im Portal erstellt haben, rufen Sie den primären oder sekundären Schlüssel ab. Fügen Sie eine dieser Schlüssel zur Verbindungszeichenfolge hinzu, die von Anwendungen für die Kommunikation mit IoT Hub verwendet wird. Bei der symmetrischen Schlüsselauthentifizierung zeigt IoT Hub die vollständige Verbindungszeichenfolge in den Gerätedetails an. Fügen Sie der Verbindungszeichenfolge die Gatewaygeräteinformationen hinzu.
Eine Verbindungszeichenfolge für ein nachgeschaltetes Gerät benötigt die folgenden Teile:
- Der IoT Hub, mit dem das Gerät eine Verbindung herstellt:
Hostname=<Iot-Hub-Name>.azure-devices.net - Die beim Hub registrierte Geräte-ID:
DeviceID=<Device-ID> - Die Authentifizierungsmethode, entweder symmetrischer Schlüssel oder X.509-Zertifikat.
- Geben Sie für die symmetrische Schlüsselauthentifizierung entweder den primären oder sekundären Schlüssel ein:
SharedAccessKey=<Key> - Geben Sie für die X.509-Zertifikatauthentifizierung ein Kennzeichen an:
x509=true
- Geben Sie für die symmetrische Schlüsselauthentifizierung entweder den primären oder sekundären Schlüssel ein:
- Das Gatewaygerät, über das das Gerät eine Verbindung herstellt. Geben Sie den Hostnamenwert aus der Konfigurationsdatei des IoT Edge-Gatewaygeräts ein:
GatewayHostName=<Gateway-Hostname>
Eine vollständige Verbindungszeichenfolge sieht wie im folgenden Beispiel aus:
HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz;GatewayHostName=myGatewayDevice
Oder für die X.509-Zertifikatauthentifizierung:
HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;x509=true;GatewayHostName=myGatewayDevice
Aufgrund der Eltern-Kind-Beziehung können Sie die Verbindungszeichenfolge vereinfachen, indem Sie das Gateway direkt als Host für die Verbindung verwenden. Zum Beispiel:
HostName=myGatewayDevice;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz
Verwenden Sie diese geänderte Verbindungszeichenfolge im nächsten Artikel in der transparenten Gatewayreihe.
Nächste Schritte
An diesem Punkt haben Sie ein IoT Edge-Gerät, das bei Ihrem IoT Hub registriert und als transparentes Gateway eingerichtet ist. Sie verfügen auch über ein nachgeschaltetes Gerät, das bei Ihrem IoT Hub registriert ist und auf das Gatewaygerät verweist.
Richten Sie als Nächstes Ihr nachgeschaltetes Gerät so ein, dass es dem Gatewaygerät vertraut, und verbinden Sie es sicher damit. Fahren Sie mit dem nächsten Artikel in der Transparent-Gateway-Serie fort: Verbinden eines nachgeschalteten Geräts mit einem Azure IoT Edge-Gateway.