Verknüpfen und Verwalten von IoT-Hubs

Azure IoT Hub Device Provisioning Service (DPS) kann Geräte in IoT-Hubs bereitstellen. Bevor DPS Geräte für einen IoT-Hub bereitstellen kann, muss dieser mit Ihrer DPS-Instanz verknüpft sein. Nach der Verknüpfung kann ein IoT-Hub in einer Zuordnungsrichtlinie verwendet werden. Zuordnungsrichtlinien legen fest, wie Geräte von DPS IoT-Hubs zugewiesen werden. Dieser Artikel enthält Anweisungen zum Verknüpfen von IoT-Hubs und deren Verwaltung in Ihrer DPS-Instanz.

Richtlinien für verknüpfte IoT-Hubs und Zuordnungen

DPS kann nur Geräte für IoT-Hubs bereitstellen, die mit dem Dienst verknüpft wurden. Durch das Verknüpfen eines IoT-Hubs mit einer DPS-Instanz erhält der Dienst Lese-/Schreibberechtigungen für die Geräteregistrierung des IoT-Hubs. Mit diesen Berechtigungen kann DPS eine Geräte-ID registrieren und die Ausgangskonfiguration im Gerätezwilling festlegen. Verknüpfte IoT Hubs können sich in allen Azure-Regionen befinden. Sie können Hubs aus anderen Abonnements mit Ihrer DPS-Instanz verknüpfen.

Nachdem ein IoT-Hub mit DPS verknüpft wurde, ist er berechtigt, an der Zuweisung teilzunehmen. Ob und wie er in die Zuweisung einbezogen wird, hängt von den Einstellungen in der entsprechenden Registrierung und den Einstellungen des verknüpften IoT-Hubs ab.

Die folgenden Einstellungen steuern, wie DPS verknüpfte IoT-Hubs verwendet:

  • Verbindungszeichenfolge: legt die IoT-Hub-Verbindungszeichenfolge fest, die DPS für die Verbindung mit dem verknüpften IoT-Hub verwendet. Die Verbindungszeichenfolge basiert auf einer der SAS-Richtlinien des IoT-Hubs. DPS benötigt die folgenden Berechtigungen für den IoT-Hub: RegistryWrite und ServiceConnect. Die Verbindungszeichenfolge muss eine SAS-Richtlinie betreffen, die über diese Berechtigungen verfügt. Weitere Informationen zu SAS-Richtlinien für IoT-Hubs finden Sie unter IoT Hub: Zugriffssteuerung und Berechtigungen.

  • Zuordnungsgewichtung: legt die Wahrscheinlichkeit fest, mit der ein IoT-Hub ausgewählt wird, wenn DPS einen Hash für die Gerätezuweisung über eine Reihe von IoT-Hubs hinweg festlegt. Der Wert kann zwischen 1 und 1.000 liegen. Der Standardwert ist „1“ (oder NULL). Höhere Werte erhöhen die Wahrscheinlichkeit, dass der IoT-Hub ausgewählt wird.

  • Zuweisungsrichtlinie anwenden: legt fest, ob der IoT-Hub in die Zuweisungsrichtlinie einbezogen wird. Die Standardeinstellung ist Ja (TRUE). Bei Nein (FALSE) werden dem IoT-Hub keine Geräte zugewiesen. Der IoT-Hub kann zwar weiterhin für eine Registrierung ausgewählt werden, er wird jedoch nicht in die Zuweisung einbezogen. Mit dieser Einstellung können Sie einen IoT-Hub vorübergehend oder dauerhaft von der Teilnahme an der Zuweisung ausschließen, beispielsweise, wenn die zulässige Anzahl von Geräten fast erreicht ist.

Informationen zu DPS-Zuordnungsrichtlinien und zur Beteiligung verknüpfter IoT-Hubs an ihnen finden Sie unter Verwalten von Zuordnungsrichtlinien.

Hinzufügen eines verknüpften IoT-Hubs

Wenn Sie einen IoT-Hub mit Ihrer DPS-Instanz verknüpfen, wird er für die Teilnahme an der Zuweisung verfügbar. Sie können IoT-Hubs innerhalb oder außerhalb Ihres Abonnements hinzufügen. Wenn Sie einen IoT-Hub verknüpfen, steht er möglicherweise für Zuordnungen in vorhandenen Registrierungen zur Verfügung, dies muss jedoch nicht der Fall sein:

  • Bei Registrierungen, in denen die IoT-Hubs für die Anwendung der Zuordnungsrichtlinie nicht explizit festgelegt werden, beginnt ein neu verknüpfter IoT-Hub sofort mit der Teilnahme an der Zuweisung.

  • Bei Registrierungen, in denen die IoT-Hubs für die Anwendung der Zuordnungsrichtlinie explizit festgelegt werden, müssen Sie den neuen IoT-Hub manuell oder programmgesteuert den Registrierungseinstellungen hinzufügen, damit er an der Zuweisung teilnehmen kann.

Begrenzungen

Im Azure-Portal können Sie einen IoT-Hub über das linke Menü Ihrer DPS-Instanz verknüpfen oder über eine Registrierung, wenn Sie diese erstellen oder aktualisieren. In beiden Fällen ist der IoT-Hub auf die DPS-Instanz (nicht nur auf die Registrierung) beschränkt.

So verknüpfen Sie einen IoT-Hub mit Ihrer DPS-Instanz im Azure-Portal

  1. Wählen Sie im linken Menü Ihrer DPS-Instanz Verknüpfte IoT-Hubs aus.

  2. Wählen Sie oben auf der Seite die Option + Hinzufügen aus.

  3. Wählen Sie auf der Seite Verknüpfung zum IoT-Hub hinzufügen das Abonnement aus, das den IoT-Hub enthält, und wählen Sie dann den Namen des IoT-Hubs in der Liste der IoT-Hubs aus.

  4. Nachdem Sie IoT-Hub ausgewählt haben, wählen Sie eine Zugriffsrichtlinie aus, die DPS zum Herstellen einer Verbindung mit dem IoT-Hub verwendet. In der Liste Zugriffsrichtlinie werden alle SAS-Richtlinien angezeigt, die für den ausgewählten IoT-Hub definiert sind und für die die Berechtigungen RegistryWrite und ServiceConnect definiert sind. Der Standardwert ist die Richtlinie iothubowner. Wählen Sie die Richtlinie aus, die Sie verwenden möchten.

  5. Wählen Sie Speichern aus.

Wenn Sie eine Registrierung erstellen oder aktualisieren, können Sie die Schaltfläche Neuen IoT-Hub verknüpfen für die Registrierung verwenden. Es werden die gleichen Seiten und Optionen wie oben angezeigt. Nachdem Sie den verknüpften Hub gespeichert haben, ist er in Ihrer DPS-Instanz verfügbar und kann über Ihre Registrierung ausgewählt werden.

Hinweis

Im Azure-Portal können Sie die Einstellungen Zuordnungsgewichtung und Zuordnungsrichtlinie anwenden nicht festlegen, wenn Sie einen verknüpften IoT-Hub hinzufügen. Stattdessen können Sie diese Einstellungen nach dem Verknüpfen des IoT-Hubs aktualisieren. Weitere Informationen finden Sie unter Aktualisieren eines verknüpften IoT-Hubs.

Verwenden Sie den Azure CLI-Befehl az iot dps linked-hub create, um einen IoT-Hub mit Ihrer DPS-Instanz zu verknüpfen.

Der folgende Befehl verknüpft beispielsweise einen IoT-Hub mit dem Namen MyExampleHub mithilfe einer Verbindungszeichenfolge für die SAS-Richtlinie iothubowner. Dieser Befehl behält die Standardeinstellungen Zuordnungsgewichtung und Zuordnungsrichtlinie anwenden bei, Sie können jedoch Werte für diese Einstellungen angeben, wenn Sie möchten.

az iot dps linked-hub create --dps-name MyExampleDps --resource-group MyResourceGroup --connection-string "HostName=MyExampleHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=XNBhoasdfhqRlgGnasdfhivtshcwh4bJwe7c0RIGuWsirW0=" --location westus

DPS unterstützt auch das Verknüpfen von IoT-Hubs über die REST-API zum Erstellen oder Aktualisieren von DPS-Ressourcen, über Resource Manager-Vorlagen und über die Verwaltungs-SDKs für DPS.

Aktualisieren eines verknüpften IoT-Hubs

Sie können die Einstellungen eines verknüpften IoT-Hubs aktualisieren, um die Zuordnungsgewichtung und die Verbindungszeichenfolge für DPS zu ändern sowie ob Zuordnungsrichtlinien angewandt werden können. Wenn Sie die Einstellungen für einen IoT-Hub aktualisieren, werden die Änderungen sofort wirksam, unabhängig davon, ob der IoT-Hub in einer Registrierung angegeben wurde oder standardmäßig verwendet wird.

Aktualisieren eines verknüpften IoT-Hubs über das Azure-Portal

Im Azure-Portal können Sie die Einstellungen Zuordnungsgewichtung und Zuordnungsrichtlinie anwenden aktualisieren.

So aktualisieren Sie die Einstellungen für einen verknüpften IoT-Hub über das Azure-Portal

  1. Wählen Sie im linken Menü Ihrer DPS-Instanz Verknüpfte IoT Hubs und dann den IoT-Hub in der Liste aus.

  2. Gehen Sie auf der Seite Verknüpfte IoT Hub-Details folgendermaßen vor:

    Screenshot that shows the linked IoT hub details page. .

    • Verwenden Sie den Schieberegler Zuordnungsgewichtung oder das Textfeld, um eine Gewichtung zwischen 1 und 1.000 auszuwählen. Der Standardwert ist 1.

    • Aktivieren Sie den Schalter Zuordnungsrichtlinie anwenden, um anzugeben, ob der verknüpfte IoT-Hub in die Zuordnung einbezogen werden soll.

  3. Speichern Sie die Einstellungen.

Hinweis

Sie können die Verbindungszeichenfolge, die DPS zum Herstellen einer Verbindung mit dem IoT-Hub verwendet, nicht über das Azure-Portal aktualisieren. Stattdessen können Sie die Verbindungszeichenfolge über die Azure-Befehlszeilenschnittstelle aktualisieren, oder Sie können den verknüpften IoT-Hub aus Ihrer DPS-Instanz löschen und erneut verknüpfen. Weitere Informationen finden Sie unter Aktualisieren von Schlüsseln für verknüpfte IoT-Hubs.

Aktualisieren eines verknüpften IoT-Hubs über die Azure-Befehlszeilenschnittstelle

Mit der Azure-Befehlszeilenschnittstelle können Sie die Einstellungen Zuordnungsgewichtung, Zuordnungsrichtlinie anwenden und Verbindungszeichenfolge aktualisieren.

Verwenden Sie den Befehl az iot dps linked-hub update, um die Zuordnungsgewichtung zu aktualisieren oder Zuordnungsrichtlinieneinstellungen anzuwenden. Der folgende Befehl legt beispielsweise die Zuordnungsgewichtung fest und wendet die Zuordnungsrichtlinie für einen verknüpften IoT-Hub an:

az iot dps linked-hub update --dps-name MyExampleDps --resource-group MyResourceGroup --linked-hub MyExampleHub --allocation-weight 2 --apply-allocation-policy true

Verwenden Sie den Befehl az iot dps update, um die Verbindungszeichenfolge für einen verknüpften IoT-Hub zu aktualisieren. Sie können den Parameter --set zusammen mit der Verbindungszeichenfolge für die gewünschte IoT-Hub-SAS-Richtlinie verwenden. Weitere Informationen finden Sie unter Aktualisieren von Schlüsseln für verknüpfte IoT-Hubs.

DPS unterstützt auch das Aktualisieren verknüpfter IoT-Hubs über die REST-API zum Erstellen oder Aktualisieren von DPS-Ressourcen, über Resource Manager-Vorlagen und über die Verwaltungs-SDKs für DPS.

Löschen eines verknüpften IoT-Hubs

Wenn Sie einen verknüpften IoT-Hub aus Ihrer DPS-Instanz löschen, steht er in zukünftigen Registrierungen nicht mehr zur Verfügung. Er wird jedoch möglicherweise aus Zuordnungen in vorhandenen Registrierungen entfernt:

  • Bei Registrierungen, in denen die IoT-Hubs für die Anwendung der Zuordnungsrichtlinie nicht explizit festgelegt werden, steht ein gelöschter verknüpfter IoT-Hub nicht mehr für die Zuweisung zur Verfügung.

  • Bei Registrierungen, in denen die IoT-Hubs für die Anwendung der Zuordnungsrichtlinie explizit festgelegt werden, müssen Sie den IoT-Hub manuell oder programmgesteuert aus den Registrierungseinstellungen entfernen, damit er von der Teilnahme an der Zuweisung entfernt wird. Andernfalls kann ein Fehler auftreten, wenn ein Gerät versucht, über die Registrierung eine Bereitstellung vorzunehmen.

Löschen eines verknüpften IoT-Hubs über das Azure-Portal

So löschen Sie einen verknüpften IoT-Hub im Azure-Portal aus Ihrer DPS-Instanz

  1. Wählen Sie im linken Menü Ihrer DPS-Instanz Verknüpfte IoT-Hubs aus.

  2. Aktivieren Sie in der Liste der IoT-Hubs die zu löschenden IoT-Hubs. Wählen Sie dann oben auf der Seite Löschen aus, und bestätigen Sie Ihre Auswahl, wenn Sie dazu aufgefordert werden.

Löschen eines verknüpften IoT-Hubs über die Azure-Befehlszeilenschnittstelle

Verwenden Sie den Befehl az iot dps linked-hub delete, um einen verknüpften IoT-Hub aus der DPS-Instanz zu entfernen. Mit dem folgenden Befehl wird beispielsweise der IoT-Hub mit dem Namen MyExampleHub entfernt:

az iot dps linked-hub delete --dps-name MyExampleDps --resource-group MyResourceGroup --linked-hub MyExampleHub

DPS unterstützt auch das Löschen verknüpfter IoT-Hubs aus der DPS-Instanz über die REST-API zum Erstellen oder Aktualisieren von DPS-Ressourcen, über Resource Manager-Vorlagen und über die Verwaltungs-SDKs für DPS.

Aktualisieren von Schlüsseln für verknüpfte IoT-Hubs

Es kann erforderlich werden, die symmetrischen Schlüssel für einen IoT-Hub, der mit DPS verknüpft ist, zu rotieren oder zu aktualisieren. In diesem Fall müssen Sie auch die Einstellung der Verbindungszeichenfolge in DPS für den verknüpften IoT-Hub aktualisieren. Beachten Sie, dass während des Zeitraums zwischen dem Aktualisieren eines Schlüssels im IoT-Hub und dem Aktualisieren Ihrer DPS-Instanz mit der neuen Verbindungszeichenfolge basierend auf diesem Schlüssel ein Fehler bei der Bereitstellung in einem IoT-Hub auftritt. Aus diesem Grund wird empfohlen, die Azure-Befehlszeilenschnittstelle zum Aktualisieren Ihrer Schlüssel zu verwenden, da Sie die Verbindungszeichenfolge auf dem verknüpften IoT-Hub direkt aktualisieren können. Im Azure-Portal müssen Sie den IoT-Hub aus Ihrer DPS-Instanz löschen und dann erneut verknüpfen, um die Verbindungszeichenfolge zu aktualisieren.

Aktualisieren von Schlüsseln über das Azure-Portal

Sie können die Einstellung der Verbindungszeichenfolge für einen verknüpften IoT-Hub nicht über das Azure-Portal aktualisieren. Stattdessen müssen Sie den verknüpften IoT-Hub aus Ihrer DPS-Instanz löschen und dann erneut hinzufügen.

So aktualisieren Sie symmetrische Schlüssel für einen verknüpften IoT-Hub im Azure-Portal

  1. Wählen Sie im linken Menü Ihrer DPS-Instanz im Azure-Portal den IoT-Hub aus, für den Sie die Schlüssel aktualisieren möchten.

  2. Notieren Sie sich auf der Detailseite zum verknüpften IoT-Hub die Werte für Zuordnungsgewichtung und Zuordnungsrichtlinie anwenden. Diese Werte benötigen Sie, wenn Sie den IoT-Hub später erneut mit Ihrer DPS-Instanz verknüpfen. Wählen Sie dann Ressource verwalten aus, um zum IoT-Hub zu wechseln.

  3. Wählen Sie im linken Menü des IoT-Hubs unter Sicherheitseinstellungen die Option Richtlinien für gemeinsamen Zugriff aus.

  4. Wählen Sie unter Richtlinien für gemeinsamen Zugriff im Bereich SAS-Richtlinien verwalten die Richtlinie aus, mit der Ihre DPS-Instanz eine Verbindung mit dem verknüpften IoT-Hub herstellt.

  5. Wählen Sie oben auf der Seite Primären Schlüssel erneut generieren, Sekundären Schlüssel erneut generieren oder Schlüssel tauschen aus, und bestätigen Sie Ihre Auswahl, wenn Sie dazu aufgefordert werden.

  6. Navigieren Sie zurück zu Ihrer DPS-Instanz.

  7. Führen Sie die Schritte unter Löschen eines verknüpften IoT-Hubs aus, um den IoT-Hub aus Ihrer DPS-Instanz zu löschen.

  8. Führen Sie die Schritte unter Verknüpfen eines IoT-Hubs aus, um den IoT-Hub mit der neuen Verbindungszeichenfolge für die Richtlinie erneut mit Ihrer DPS-Instanz zu verknüpfen.

  9. Wenn Sie die Zuordnungsgewichtung und die Einstellungen für Zuordnungsrichtlinien wiederherstellen müssen, führen Sie die Schritte unter Aktualisieren eines verknüpften IoT-Hubs mit den Werten aus, die Sie in Schritt 2 gespeichert haben.

Aktualisieren von Schlüsseln über die Azure-Befehlszeilenschnittstelle

So aktualisieren Sie symmetrische Schlüssel für einen verknüpften IoT-Hub über die Azure-Befehlszeilenschnittstelle

  1. Verwenden Sie den Befehl az iot hub policy renew-key, um die symmetrischen Schlüssel für die SAS-Richtlinie im IoT-Hub auszutauschen oder erneut zu generieren. Mit dem folgenden Befehl wird beispielsweise der Primärschlüssel für die SAS-Richtlinie iothubowner auf einem IoT-Hub erneuert:

    az iot hub policy renew-key --hub-name MyExampleHub --name owner --rk primary
    
  2. Verwenden Sie den Befehl az iot hub connection-string show, um die neue Verbindungszeichenfolge für die SAS-Richtlinie abzurufen. Der folgende Befehl ruft beispielsweise die primäre Verbindungszeichenfolge für die SAS-Richtlinie iothubowner ab, für die der Primärschlüssel im vorherigen Befehl erneut generiert wurde:

    az iot hub connection-string show --hub-name MyExampleHub --policy-name owner --key-type primary
    
  3. Verwenden Sie den Befehl az iot dps linked-hub list, um die Position des IoT-Hubs in der Sammlung der verknüpften IoT-Hubs für Ihre DPS-Instanz zu ermitteln. Der folgende Befehl ruft beispielsweise die primäre Verbindungszeichenfolge für die SAS-Richtlinie owner ab, für die der Primärschlüssel im vorherigen Befehl erneut generiert wurde:

    az iot dps linked-hub list --dos-name MyExampleDps
    

    Die Ausgabe zeigt die Position des verknüpften IoT-Hubs, dessen Verbindungszeichenfolge Sie aktualisieren möchten, in der Tabelle der verknüpften IoT-Hubs an, die von Ihrer DPS-Instanz verwaltet werden. In diesem Fall handelt es sich um den ersten IoT-Hub in der Liste, MyExampleHub.

    [
    {
        "allocationWeight": null,
        "applyAllocationPolicy": null,
        "connectionString": "HostName=MyExampleHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=****",
        "location": "centralus",
        "name": "MyExampleHub.azure-devices.net"
    },
    {
        "allocationWeight": null,
        "applyAllocationPolicy": null,
        "connectionString": "HostName=MyExampleHub-2.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=****",
        "location": "centralus",
        "name": "NyExampleHub-2.azure-devices.net"
    }
    ]
    
  4. Verwenden Sie den Befehl az iot dps update, um die Verbindungszeichenfolge für den verknüpften IoT-Hub zu aktualisieren. Sie geben den IoT-Hub mit dem Parameter --set und der Position des verknüpften IoT-Hubs in der Tabelle properties.iotHubs[] als Ziel an. Der folgende Befehl aktualisiert beispielsweise die Verbindungszeichenfolge für MyExampleHub, die im vorherigen Befehl als Erstes zurückgegeben wurde:

    az iot dps update --name MyExampleDps --set properties.iotHubs[0].connectionString="HostName=MyExampleHub-2.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=NewTokenValue"
    

Nächste Schritte