IoT Hub-Unterstützung für virtuelle Netzwerke mit Private Link und verwalteter IdentitätIoT Hub support for virtual networks with Private Link and Managed Identity

Standardmäßig werden IoT Hub-Hostnamen einem öffentlichen Endpunkt mit einer öffentlich routingfähigen IP-Adresse über das Internet zugeordnet.By default, IoT Hub's hostnames map to a public endpoint with a publicly routable IP address over the internet. Dieser öffentliche IoT Hub-Endpunkt wird von mehreren Kunden gemeinsam genutzt, und sämtliche IoT-Geräte in WANs und lokalen Netzwerken können darauf zugreifen.Different customers share this IoT Hub public endpoint, and IoT devices in over wide-area networks and on-premises networks can all access it.

Öffentlicher IoT Hub-Endpunkt

IoT Hub-Features wie das Nachrichtenrouting, der Dateiupload und das Importieren und Exportieren von Geräten per Massenvorgang erfordern ebenfalls Konnektivität zwischen IoT Hub und einer kundeneigenen Azure-Ressource über den öffentlichen Endpunkt.IoT Hub features including message routing, file upload, and bulk device import/export also require connectivity from IoT Hub to a customer-owned Azure resource over its public endpoint. Diese Konnektivitätspfade bilden gemeinsam den ausgehenden Datenverkehr von IoT Hub zu Kundenressourcen.These connectivity paths collectively make up the egress traffic from IoT Hub to customer resources.

Möglicherweise möchten Sie die Konnektivität mit Ihren Azure-Ressourcen (einschließlich IoT Hub) über ein VNET einschränken, das Sie besitzen und betreiben.You might want to restrict connectivity to your Azure resources (including IoT Hub) through a VNet that you own and operate. Zu den Gründen gehören die folgenden:These reasons include:

  • Netzwerkisolation für Ihren IoT-Hub durch Unterbinden der Konnektivität mit dem öffentlichen Internet.Introducing network isolation for your IoT hub by preventing connectivity exposure to the public internet.

  • Aktivieren einer privaten Konnektivitätsumgebung von Ihren lokalen Netzwerkressourcen, um sicherzustellen, dass Ihre Daten und der Datenverkehr direkt an das Azure-Backbone-Netzwerk übertragen wirdEnabling a private connectivity experience from your on-premises network assets ensuring that your data and traffic is transmitted directly to Azure backbone network.

  • Verhindern der Exfiltration von Angriffen von vertraulichen, lokalen NetzwerkenPreventing exfiltration attacks from sensitive on-premises networks.

  • Befolgen bewährter Azure-Konnektivitätsmuster mithilfe privater EndpunkteFollowing established Azure-wide connectivity patterns using private endpoints.

In diesem Artikel wird beschrieben, wie Sie diese Ziele erreichen, indem Sie Azure Private Link für eingehende Verbindungen mit IoT Hub verwenden und für ausgehende Verbindungen von IoT Hub mit anderen Azure-Ressourcen Ausnahmen für vertrauenswürdige Microsoft-Dienste definieren.This article describes how to achieve these goals using Azure Private Link for ingress connectivity to IoT Hub and using trusted Microsoft services exception for egress connectivity from IoT Hub to other Azure resources.

Ein privater Endpunkt ist eine private IP-Adresse, die in einem kundeneigenen VNET zugeordnet ist, über das eine Azure-Ressource erreichbar ist.A private endpoint is a private IP address allocated inside a customer-owned VNet via which an Azure resource is reachable. Mit Azure Private Link können Sie einen privaten Endpunkt für Ihren IoT-Hub einrichten und damit den Diensten in Ihrem VNET erlauben, IoT Hub zu erreichen, ohne dass Datenverkehr an den öffentlichen IoT Hub-Endpunkt gesendet werden muss.Through Azure Private Link, you can set up a private endpoint for your IoT hub to allow services inside your VNet to reach IoT Hub without requiring traffic to be sent to IoT Hub's public endpoint. Ebenso können Ihre lokalen Geräte ein virtuelles privates Netzwerk (VPN) oder ExpressRoute-Peering verwenden, um eine Verbindung mit Ihrem VNET und Ihrer IoT Hub-Instanz (über den privaten Endpunkt) herzustellen.Similarly, your on-premises devices can use Virtual Private Network (VPN) or ExpressRoute peering to gain connectivity to your VNet and your IoT Hub (via its private endpoint). So können Sie die Konnektivität mit den öffentlichen Endpunkten Ihres IoT-Hubs einschränken oder komplett blockieren, indem Sie IoT Hub-IP-Filter verwenden und das Routing so konfigurieren, dass keine Daten an den integrierten Endpunkt gesendet werden.As a result, you can restrict or completely block off connectivity to your IoT hub's public endpoints by using IoT Hub IP filter and configuring routing not to send any data to the built-in endpoint. Auf diese Weise erfolgen Verbindungen mit Ihrem Hub ausschließlich über den privaten Endpunkt für Geräte.This approach keeps connectivity to your Hub using the private endpoint for devices. Der Schwerpunkt dieses Setups liegt auf Geräten, die sich in einem lokalen Netzwerk befinden.The main focus of this setup is for devices inside an on-premises network. Dieses Setup wird nicht für Geräte empfohlen, die in einem WAN bereitgestellt werden.This setup isn't advised for devices deployed in a wide-area network.

Öffentlicher IoT Hub-Endpunkt

Vergewissern Sie sich, dass die folgenden Voraussetzungen erfüllt sind, bevor Sie fortfahren:Before proceeding ensure that the following prerequisites are met:

Einrichten eines privaten Endpunkts für eingehenden IoT Hub-DatenverkehrSet up a private endpoint for IoT Hub ingress

Ein privater Endpunkt kann für IoT Hub-Geräte-APIs (z. B. D2C-Nachrichten) sowie Dienst-APIs (z. B. Erstellen und Aktualisieren von Geräten) verwendet werden.Private endpoint works for IoT Hub device APIs (like device-to-cloud messages) as well as service APIs (like creating and updating devices).

  1. Wählen Sie im Azure-Portal Netzwerk und Verbindungen mit privatem Endpunkt aus, und klicken Sie auf + Privater Endpunkt.In Azure portal, select Networking, Private endpoint connections, and click the + Private endpoint.

    Screenshot, der zeigt, wo ein privater Endpunkt für IoT Hub hinzugefügt wird

  2. Geben Sie das Abonnement, die Ressourcengruppe, den Namen und die Region an, in der der neue private Endpunkt erstellt werden soll.Provide the subscription, resource group, name, and region to create the new private endpoint in. Idealerweise sollte ein privater Endpunkt in der gleichen Region wie Ihr Hub erstellt werden.Ideally, private endpoint should be created in the same region as your hub.

  3. Klicken Sie auf Weiter: Ressource, und geben Sie das Abonnement für die IoT Hub-Ressource an. Wählen Sie dann "Microsoft.Devices/IotHubs" als Ressourcentyp, den IoT Hub-Namen als Ressource und iotHub als Zielunterressource aus.Click Next: Resource, and provide the subscription for your IoT Hub resource, and select "Microsoft.Devices/IotHubs" as resource type, your IoT Hub name as resource, and iotHub as target subresource.

  4. Klicken Sie auf Weiter: Konfiguration, und stellen Sie Ihr virtuelles Netzwerk und Subnetz bereit, in dem der private Endpunkt erstellt werden soll.Click Next: Configuration and provide your virtual network and subnet to create the private endpoint in. Klicken Sie bei Bedarf auf die Option für die Integration in eine private Azure-DNS-Zone.Select the option to integrate with Azure private DNS zone, if desired.

  5. Klicken Sie auf Weiter: Tags, und stellen Sie optional Tags für Ihre Ressource bereit.Click Next: Tags, and optionally provide any tags for your resource.

  6. Klicken Sie auf Überprüfen und erstellen, um die Private Link-Ressource zu erstellen.Click Review + create to create your private link resource.

Integrierter Event Hub-kompatibler Endpunkt unterstützt Zugriff über privaten Endpunkt nichtBuilt-in Event Hub compatible endpoint doesn't support access over private endpoint

Der integrierte Event Hub-kompatible Endpunkt unterstützt den Zugriff über den privaten Endpunkt nicht.The built-in Event Hub compatible endpoint doesn't support access over private endpoint. Wenn ein privater Endpunkt für einen IoT-Hub konfiguriert ist, kann dieser nur für eingehende Verbindungen verwendet werden.When configured, an IoT hub's private endpoint is for ingress connectivity only. Daten aus einem integrierten Event Hub-kompatiblen Endpunkt können nur über das öffentliche Internet genutzt werden.Consuming data from built-in Event Hub compatible endpoint can only be done over the public internet.

Der IP-Filter von IoT Hub steuert auch nicht den öffentlichen Zugriff auf den integrierten Endpunkt.IoT Hub's IP filter also doesn't control public access to the built-in endpoint. Um den Zugriff aus öffentlichen Netzwerken auf Ihren IoT-Hub vollständig zu blockieren, müssen Sie folgendermaßen vorgehen:To completely block public network access to your IoT hub, you must:

  1. Konfigurieren Sie den Zugriff durch private Endpunkte auf IoT Hub.Configure private endpoint access for IoT Hub
  2. Deaktivieren Sie den Zugriff über öffentliche Netzwerke oder verwenden Sie IP-Filter, um alle IP-Adressen zu blockieren.Turn off public network access or use IP filter to block all IP
  3. Beenden Sie die Verwendung des integrierten Event Hub-Endpunkts, indem Sie das Routing so einrichten, dass keine Daten an ihn gesendet werden.Stop using the built-in Event Hub endpoint by setting up routing to not send data to it
  4. Deaktivieren Sie die Fallbackroute.Turn off the fallback route
  5. Konfigurieren Sie den ausgehenden Datenverkehr an andere Azure-Ressourcen mit der Option Vertrauenswürdige Microsoft-Dienste.Configure egress to other Azure resources using trusted Microsoft service

Ausführliche Preisinformationen finden Sie unter Azure Private Link – Preise.For pricing details, see Azure Private Link pricing.

Ausgehende Konnektivität von IoT Hub zu anderen Azure-RessourcenEgress connectivity from IoT Hub to other Azure resources

IoT Hub kann für das Nachrichtenrouting, den Dateiupload und das Importieren und Exportieren von Geräten per Massenvorgang über den öffentlichen Endpunkt der Ressourcen eine Verbindung mit Azure Blob Storage-, Event Hub- und Service Bus-Ressourcen herstellen.IoT Hub can connect to your Azure blob storage, event hub, service bus resources for message routing, file upload, and bulk device import/export over the resources' public endpoint. Durch Binden einer Ressource an ein VNET wird standardmäßig die Konnektivität mit dieser Ressource blockiert.Binding your resource to a VNet blocks connectivity to the resource by default. Dies führt dazu, dass diese Konfiguration IoT Hub daran hindert, Daten an Ihre Ressourcen zu senden.As a result, this configuration prevents IoT Hub's from working sending data to your resources. Um dieses Problem zu beheben, müssen Sie die Konnektivität von Ihrer IoT Hub-Ressource mit Ihren Speicherkonto-, Event Hub- oder Service Bus-Ressourcen über die Option Vertrauenswürdige Microsoft-Dienste aktivieren.To fix this issue, enable connectivity from your IoT Hub resource to your storage account, event hub, or service bus resources via the trusted Microsoft service option.

Aktivieren einer verwalteten Identität für IoT HubTurn on managed identity for IoT Hub

Damit andere Dienste Ihre IoT Hub-Instanz als vertrauenswürdigen Microsoft-Dienst finden können, muss diese über eine systemseitig zugewiesene verwaltete Identität verfügen.To allow other services to find your IoT hub as a trusted Microsoft service, it must have a system-assigned managed identity.

  1. Navigieren Sie im IoT Hub-Portal zu Identität.Navigate to Identity in your IoT Hub portal

  2. Klicken Sie unter Status auf Ein und dann auf Speichern.Under Status, select On, then click Save.

    Screenshot, der zeigt, wie eine verwaltete Identität für IoT Hub aktiviert wird

Zuweisen einer verwalteten Identität zu Ihrem IoT-Hub zum Zeitpunkt der Erstellung mithilfe einer ARM-VorlageAssign managed identity to your IoT Hub at creation time using ARM template

Verwenden Sie die folgende ARM-Vorlage, um Ihrem IoT-Hub bei der Ressourcenbereitstellung eine verwaltete Identität zuzuweisen:To assign managed identity to your IoT hub at resource provisioning time, use the ARM template below:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Devices/IotHubs",
      "apiVersion": "2020-03-01",
      "name": "<provide-a-valid-resource-name>",
      "location": "<any-of-supported-regions>",
      "identity": {
        "type": "SystemAssigned"
      },
      "sku": {
        "name": "<your-hubs-SKU-name>",
        "tier": "<your-hubs-SKU-tier>",
        "capacity": 1
      }
    },
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2018-02-01",
      "name": "updateIotHubWithKeyEncryptionKey",
      "dependsOn": [
        "<provide-a-valid-resource-name>"
      ],
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "0.9.0.0",
          "resources": [
            {
              "type": "Microsoft.Devices/IotHubs",
              "apiVersion": "2020-03-01",
              "name": "<provide-a-valid-resource-name>",
              "location": "<any-of-supported-regions>",
              "identity": {
                "type": "SystemAssigned"
              },
              "sku": {
                "name": "<your-hubs-SKU-name>",
                "tier": "<your-hubs-SKU-tier>",
                "capacity": 1
              }
            }
          ]
        }
      }
    }
  ]
}

Nachdem Sie die Werte für Ihre Ressourcen name, location, SKU.name und SKU.tier ersetzt haben, können Sie die Ressource mithilfe der Azure CLI in einer vorhandenen Ressourcengruppe bereitstellen, indem Sie Folgendes verwenden:After substituting the values for your resource name, location, SKU.name and SKU.tier, you can use Azure CLI to deploy the resource in an existing resource group using:

az deployment group create --name <deployment-name> --resource-group <resource-group-name> --template-file <template-file.json>

Nachdem die Ressource erstellt wurde, können Sie die verwaltete Dienstidentität, die Ihrem Hub zugewiesen ist, mithilfe der Azure CLI abrufen:After the resource is created, you can retrieve the managed service identity assigned to your hub using Azure CLI:

az resource show --resource-type Microsoft.Devices/IotHubs --name <iot-hub-resource-name> --resource-group <resource-group-name>

Preise für verwaltete IdentitätenPricing for managed identity

Das Feature für die Ausnahme für vertrauenswürdige Microsoft-Erstanbieterdienste ist kostenlos.Trusted Microsoft first party services exception feature is free of charge. Die Gebühren für die bereitgestellten Speicherkonten, Event Hubs oder Service Bus-Ressourcen werden separat berechnet.Charges for the provisioned storage accounts, event hubs, or service bus resources apply separately.

Ausgehende Konnektivität zu Speicherkontoendpunkten für das RoutingEgress connectivity to storage account endpoints for routing

IoT Hub kann Nachrichten an ein Speicherkonto im Kundenbesitz weiterleiten.IoT Hub can route messages to a customer-owned storage account. Damit die Routingfunktion trotz Firewalleinschränkungen auf ein Speicherkonto zugreifen kann, muss Ihre IoT Hub-Instanz über eine verwaltete Identität verfügen.To allow the routing functionality to access a storage account while firewall restrictions are in place, your IoT Hub needs to have a managed identity. Nachdem eine verwaltete Identität bereitgestellt wurde, führen Sie die folgenden Schritte aus, um der Ressourcenidentität Ihres Hubs die RBAC-Berechtigung für den Zugriff auf Ihr Speicherkonto zu erteilen.Once a managed identity is provisioned, follow the steps below to give RBAC permission to your hub's resource identity to access your storage account.

  1. Navigieren Sie im Azure-Portal zur Registerkarte Zugriffssteuerung (IAM) Ihres Speicherkontos, und klicken Sie im Abschnitt Rollenzuweisung hinzufügen auf Hinzufügen.In the Azure portal, navigate to your storage account's Access control (IAM) tab and click Add under the Add a role assignment section.

  2. Wählen Sie Mitwirkender an Storage-Blobdaten (nicht „Mitwirkender“ oder „Speicherkontomitwirkender“) als Rolle und Azure AD-Benutzer, -Gruppe oder -Dienstprinzipal für Zugriff zuweisen für aus, und wählen Sie dann in der Dropdownliste den Ressourcennamen Ihrer IoT Hub-Instanz aus.Select Storage Blob Data Contributor (not Contributor or Storage Account Contributor) as role, Azure AD user, group, or service principal as Assigning access to and select your IoT Hub's resource name in the drop-down list. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  3. Navigieren Sie in Ihrem Speicherkonto zur Registerkarte Firewalls und virtuelle Netzwerke, und aktivieren Sie die Option Allow access from selected networks (Zugriff von ausgewählten Netzwerken zulassen).Navigate to the Firewalls and virtual networks tab in your storage account and enable Allow access from selected networks option. Aktivieren Sie unter Ausnahmen das Kontrollkästchen für Vertrauenswürdigen Microsoft-Diensten den Zugriff auf dieses Speicherkonto erlauben.Under the Exceptions list, check the box for Allow trusted Microsoft services to access this storage account. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  4. Navigieren Sie auf der Seite Ihrer IoT Hub-Ressource zur Registerkarte Nachrichtenrouting.On your IoT Hub's resource page, navigate to Message routing tab.

  5. Navigieren Sie zum Abschnitt Benutzerdefinierte Endpunkte, und klicken Sie auf Hinzufügen.Navigate to Custom endpoints section and click Add. Wählen Sie Storage als Endpunkttyp aus.Select Storage as the endpoint type.

  6. Geben Sie auf der angezeigten Seite einen Namen für den Endpunkt ein, wählen Sie den Container aus, den Sie in Blob Storage verwenden möchten, und geben Sie das Codierungs- und Dateinamenformat an.On the page that shows up, provide a name for your endpoint, select the container that you intend to use in your blob storage, provide encoding, and file name format. Wählen Sie Vom System zugewiesen als Authentifizierungstyp für Ihren Speicherendpunkt aus.Select System Assigned as the Authentication type to your storage endpoint. Klicken Sie auf die Schaltfläche Erstellen .Click the Create button.

Nun ist Ihr benutzerdefinierter Speicherendpunkt für die Verwendung der vom System zugewiesenen Identität des Hubs eingerichtet und verfügt trotz der Firewalleinschränkungen über die Berechtigung, auf Ihre Speicherressource zuzugreifen.Now your custom storage endpoint is set up to use your hub's system assigned identity, and it has permission to access your storage resource despite its firewall restrictions. Sie können diesen Endpunkt jetzt zum Einrichten einer Routingregel verwenden.You can now use this endpoint to set up a routing rule.

Ausgehende Konnektivität zu Event Hub-Endpunkten für das RoutingEgress connectivity to event hubs endpoints for routing

IoT Hub kann so konfiguriert werden, dass Nachrichten an einen Event Hub-Namespace im Besitz von Kunden weitergeleitet werden.IoT Hub can be configured to route messages to a customer-owned event hubs namespace. Damit die Routingfunktion trotz Firewalleinschränkungen auf eine Event Hub-Ressource zugreifen kann, muss Ihre IoT Hub-Instanz über eine verwaltete Identität verfügen.To allow the routing functionality to access an event hubs resource while firewall restrictions are in place, your IoT Hub needs to have a managed identity. Nachdem eine verwaltete Identität erstellt wurde, führen Sie die folgenden Schritte aus, um der Ressourcenidentität Ihres Hubs die RBAC-Berechtigung für den Zugriff auf Ihre Event Hub-Instanzen zu erteilen.Once a managed identity is created, follow the steps below to give RBAC permission to your hub's resource identity to access your event hubs.

  1. Navigieren Sie im Azure-Portal zur Registerkarte Zugriffssteuerung (IAM) Ihres Event Hubs, und klicken Sie im Abschnitt Rollenzuweisung hinzufügen auf Hinzufügen.In the Azure portal, navigate to your event hubs Access control (IAM) tab and click Add under the Add a role assignment section.

  2. Wählen Sie Azure Event Hubs-Datensender als Rolle und Azure AD user, group, or service principal (Azure AD-Benutzer, -Gruppe oder -Dienstprinzipal) für Assigning access to (Zugriff für) aus, und klicken Sie dann auf den Ressourcennamen Ihres IoT-Hubs in der Dropdownliste.Select Event Hubs Data Sender as role, Azure AD user, group, or service principal as Assigning access to and select your IoT Hub's resource name in the drop-down list. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  3. Navigieren Sie in Ihren Event Hubs zur Registerkarte Firewalls und virtuelle Netzwerke, und aktivieren Sie die Option Allow access from selected networks (Zugriff von ausgewählten Netzwerken zulassen).Navigate to the Firewalls and virtual networks tab in your event hubs and enable Allow access from selected networks option. Aktivieren Sie unter Ausnahmen das Kontrollkästchen für Allow trusted Microsoft services to access event hubs (Vertrauenswürdigen Microsoft-Diensten den Zugriff auf Event Hubs erlauben).Under the Exceptions list, check the box for Allow trusted Microsoft services to access event hubs. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  4. Navigieren Sie auf der Seite Ihrer IoT Hub-Ressource zur Registerkarte Nachrichtenrouting.On your IoT Hub's resource page, navigate to Message routing tab.

  5. Navigieren Sie zum Abschnitt Benutzerdefinierte Endpunkte, und klicken Sie auf Hinzufügen.Navigate to Custom endpoints section and click Add. Wählen Sie Event Hubs als Endpunkttyp aus.Select Event hubs as the endpoint type.

  6. Geben Sie auf der angezeigten Seite einen Namen für den Endpunkt ein, wählen Sie den Event Hub-Namespace und die Instanz aus, und klicken Sie auf die Schaltfläche Erstellen.On the page that shows up, provide a name for your endpoint, select your event hubs namespace and instance and click the Create button.

Nun ist Ihr benutzerdefinierter Event Hub-Endpunkt für die Verwendung der vom System zugewiesenen Identität des Hubs eingerichtet und verfügt trotz der Firewalleinschränkungen über die Berechtigung, auf Ihre Event Hubs zuzugreifen.Now your custom event hubs endpoint is set up to use your hub's system assigned identity, and it has permission to access your event hubs resource despite its firewall restrictions. Sie können diesen Endpunkt jetzt zum Einrichten einer Routingregel verwenden.You can now use this endpoint to set up a routing rule.

Ausgehende Konnektivität zu Service Bus-Endpunkten für das RoutingEgress connectivity to service bus endpoints for routing

IoT Hub kann so konfiguriert werden, dass Nachrichten an einen Service Bus-Namespace im Besitz von Kunden weitergeleitet werden.IoT Hub can be configured to route messages to a customer-owned service bus namespace. Damit die Routingfunktion trotz Firewalleinschränkungen auf eine Service Bus-Ressource zugreifen kann, muss Ihre IoT Hub-Instanz über eine verwaltete Identität verfügen.To allow the routing functionality to access a service bus resource while firewall restrictions are in place, your IoT Hub needs to have a managed identity. Nachdem eine verwaltete Identität bereitgestellt wurde, führen Sie die folgenden Schritte aus, um der Ressourcenidentität Ihres Hubs die RBAC-Berechtigung für den Zugriff auf Ihre Service Bus-Instanz zu erteilen.Once a managed identity is provisioned, follow the steps below to give RBAC permission to your hub's resource identity to access your service bus.

  1. Navigieren Sie im Azure-Portal zur Registerkarte Zugriffssteuerung (IAM) Ihres Service Bus, und klicken Sie im Abschnitt Rollenzuweisung hinzufügen auf Hinzufügen.In the Azure portal, navigate to your service bus' Access control (IAM) tab and click Add under the Add a role assignment section.

  2. Wählen Sie Azure Service Bus-Datensender als Rolle und Azure AD user, group, or service principal (Azure AD-Benutzer, -Gruppe oder -Dienstprinzipal) für Assigning access to (Zugriff für) aus, und klicken Sie dann auf den Ressourcennamen Ihres IoT-Hubs in der Dropdownliste.Select Service bus Data Sender as role, Azure AD user, group, or service principal as Assigning access to and select your IoT Hub's resource name in the drop-down list. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  3. Navigieren Sie in Ihrem Service Bus zur Registerkarte Firewalls und virtuelle Netzwerke, und aktivieren Sie die Option Allow access from selected networks (Zugriff von ausgewählten Netzwerken zulassen).Navigate to the Firewalls and virtual networks tab in your service bus and enable Allow access from selected networks option. Aktivieren Sie unter Ausnahmen das Kontrollkästchen für Allow trusted Microsoft services to access this service bus (Vertrauenswürdigen Microsoft-Diensten den Zugriff auf Service Bus erlauben).Under the Exceptions list, check the box for Allow trusted Microsoft services to access this service bus. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  4. Navigieren Sie auf der Seite Ihrer IoT Hub-Ressource zur Registerkarte Nachrichtenrouting.On your IoT Hub's resource page, navigate to Message routing tab.

  5. Navigieren Sie zum Abschnitt Benutzerdefinierte Endpunkte, und klicken Sie auf Hinzufügen.Navigate to Custom endpoints section and click Add. Wählen Sie Service Bus-Warteschlange oder Service Bus-Thema (sofern zutreffend) als Endpunkttyp aus.Select Service bus queue or Service Bus topic (as applicable) as the endpoint type.

  6. Geben Sie auf der angezeigten Seite einen Namen für den Endpunkt ein, und wählen Sie den Namespace, die Warteschlange oder das Thema (sofern zutreffend) Ihres Service Bus aus.On the page that shows up, provide a name for your endpoint, select your service bus' namespace and queue or topic (as applicable). Klicken Sie auf die Schaltfläche Erstellen .Click the Create button.

Nun ist Ihr benutzerdefinierter Service Bus-Endpunkt für die Verwendung der vom System zugewiesenen Identität des Hubs eingerichtet und verfügt trotz der Firewalleinschränkungen über die Berechtigung, auf Ihre Service Bus-Ressource zuzugreifen.Now your custom service bus endpoint is set up to use your hub's system assigned identity, and it has permission to access your service bus resource despite its firewall restrictions. Sie können diesen Endpunkt jetzt zum Einrichten einer Routingregel verwenden.You can now use this endpoint to set up a routing rule.

Ausgehende Konnektivität zu Speicherkonten für den DateiuploadEgress connectivity to storage accounts for file upload

Das IoT Hub-Feature für den Dateiupload ermöglicht Geräten das Hochladen von Dateien in ein Speicherkonto, das im Besitz von Kunden ist.IoT Hub's file upload feature allows devices to upload files to a customer-owned storage account. Sowohl Geräte als auch IoT Hub müssen eine Verbindung mit dem Speicherkonto herstellen, damit der Dateiuploadvorgang funktioniert.To allow the file upload to function, both devices and IoT Hub need to have connectivity to the storage account. Wenn Firewalleinschränkungen für das Speicherkonto vorhanden sind, müssen Ihre Geräte einen der unterstützten Mechanismen des Speicherkontos verwenden (z. B. private Endpunkte, Dienstendpunkte oder eine direkte Firewallkonfiguration), um die Verbindung herzustellen.If firewall restrictions are in place on the storage account, your devices need to use any of the supported storage account's mechanism (including private endpoints, service endpoints, or direct firewall configuration) to gain connectivity. Wenn Firewalleinschränkungen im Speicherkonto vorhanden sind, muss IoT Hub entsprechend konfiguriert werden, um über die Ausnahme für vertrauenswürdige Microsoft-Dienste auf die Speicherressource zuzugreifen.Similarly, if firewall restrictions are in place on the storage account, IoT Hub needs to be configured to access the storage resource via the trusted Microsoft services exception. Zu diesem Zweck muss Ihre IoT Hub-Instanz über eine verwaltete Identität verfügen.For this purpose, your IoT Hub must have a managed identity. Nachdem eine verwaltete Identität bereitgestellt wurde, führen Sie die folgenden Schritte aus, um der Ressourcenidentität Ihres Hubs die RBAC-Berechtigung für den Zugriff auf Ihr Speicherkonto zu erteilen.Once a managed identity is provisioned, follow the steps below to give RBAC permission to your hub's resource identity to access your storage account.

  1. Navigieren Sie im Azure-Portal zur Registerkarte Zugriffssteuerung (IAM) Ihres Speicherkontos, und klicken Sie im Abschnitt Rollenzuweisung hinzufügen auf Hinzufügen.In the Azure portal, navigate to your storage account's Access control (IAM) tab and click Add under the Add a role assignment section.

  2. Wählen Sie Mitwirkender an Storage-Blobdaten (nicht „Mitwirkender“ oder „Speicherkontomitwirkender“) als Rolle und Azure AD-Benutzer, -Gruppe oder -Dienstprinzipal für Zugriff zuweisen für aus, und wählen Sie dann in der Dropdownliste den Ressourcennamen Ihrer IoT Hub-Instanz aus.Select Storage Blob Data Contributor (not Contributor or Storage Account Contributor) as role, Azure AD user, group, or service principal as Assigning access to and select your IoT Hub's resource name in the drop-down list. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  3. Navigieren Sie in Ihrem Speicherkonto zur Registerkarte Firewalls und virtuelle Netzwerke, und aktivieren Sie die Option Allow access from selected networks (Zugriff von ausgewählten Netzwerken zulassen).Navigate to the Firewalls and virtual networks tab in your storage account and enable Allow access from selected networks option. Aktivieren Sie unter Ausnahmen das Kontrollkästchen für Vertrauenswürdigen Microsoft-Diensten den Zugriff auf dieses Speicherkonto erlauben.Under the Exceptions list, check the box for Allow trusted Microsoft services to access this storage account. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  4. Navigieren Sie auf der Seite Ihrer IoT Hub-Ressource zur Registerkarte Dateiupload.On your IoT Hub's resource page, navigate to File upload tab.

  5. Wählen Sie auf der angezeigten Seite den Container aus, den Sie in Blob Storage verwenden möchten, und konfigurieren Sie die Dateibenachrichtigungseinstellungen, SAS TTL, Standard-TTL und die Anzahl maximaler Zustellungen nach Bedarf.On the page that shows up, select the container that you intend to use in your blob storage, configure the File notification settings, SAS TTL, Default TTL, and Maximum delivery count as desired. Wählen Sie Vom System zugewiesen als Authentifizierungstyp für Ihren Speicherendpunkt aus.Select System Assigned as the Authentication type to your storage endpoint. Klicken Sie auf die Schaltfläche Erstellen .Click the Create button.

Nun ist Ihr Speicherendpunkt für den Dateiupload für die Verwendung der vom System zugewiesenen Identität des Hubs eingerichtet und verfügt trotz der Firewalleinschränkungen über die Berechtigung, auf Ihre Speicherressource zuzugreifen.Now your storage endpoint for file upload is set up to use your hub's system assigned identity, and it has permission to access your storage resource despite its firewall restrictions.

Ausgehende Konnektivität zu Speicherkonten für das Importieren und Exportieren von Geräten per MassenvorgangEgress connectivity to storage accounts for bulk device import/export

IoT Hub unterstützt die Funktion zum Importieren und Exportieren von Geräteinformationen per Massenvorgang von/in vom Kunden bereitgestellte Azure Storage Blob-Instanzen.IoT Hub supports the functionality to import/export devices' information in bulk from/to a customer-provided storage blob. Sowohl Geräte als auch IoT Hub müssen eine Verbindung mit dem Speicherkonto herstellen, damit das Feature für den Massenimport/-export funktioniert.To allow bulk import/export feature to function, both devices and IoT Hub need to have connectivity to the storage account.

Diese Funktion erfordert Konnektivität von IoT Hub mit dem Speicherkonto.This functionality requires connectivity from IoT Hub to the storage account. Damit der Zugriff auf eine Service Bus-Ressource trotz Firewalleinschränkungen funktioniert, muss Ihre IoT Hub-Instanz über eine verwaltete Identität verfügen.To access a service bus resource while firewall restrictions are in place, your IoT Hub needs to have a managed identity. Nachdem eine verwaltete Identität bereitgestellt wurde, führen Sie die folgenden Schritte aus, um der Ressourcenidentität Ihres Hubs die RBAC-Berechtigung für den Zugriff auf Ihre Service Bus-Instanz zu erteilen.Once a managed identity is provisioned, follow the steps below to give RBAC permission to your hub's resource identity to access your service bus.

  1. Navigieren Sie im Azure-Portal zur Registerkarte Zugriffssteuerung (IAM) Ihres Speicherkontos, und klicken Sie im Abschnitt Rollenzuweisung hinzufügen auf Hinzufügen.In the Azure portal, navigate to your storage account's Access control (IAM) tab and click Add under the Add a role assignment section.

  2. Wählen Sie Mitwirkender an Storage-Blobdaten (nicht „Mitwirkender“ oder „Speicherkontomitwirkender“) als Rolle und Azure AD-Benutzer, -Gruppe oder -Dienstprinzipal für Zugriff zuweisen für aus, und wählen Sie dann in der Dropdownliste den Ressourcennamen Ihrer IoT Hub-Instanz aus.Select Storage Blob Data Contributor (not Contributor or Storage Account Contributor) as role, Azure AD user, group, or service principal as Assigning access to and select your IoT Hub's resource name in the drop-down list. Klicken Sie auf die Schaltfläche Save .Click the Save button.

  3. Navigieren Sie in Ihrem Speicherkonto zur Registerkarte Firewalls und virtuelle Netzwerke, und aktivieren Sie die Option Allow access from selected networks (Zugriff von ausgewählten Netzwerken zulassen).Navigate to the Firewalls and virtual networks tab in your storage account and enable Allow access from selected networks option. Aktivieren Sie unter Ausnahmen das Kontrollkästchen für Vertrauenswürdigen Microsoft-Diensten den Zugriff auf dieses Speicherkonto erlauben.Under the Exceptions list, check the box for Allow trusted Microsoft services to access this storage account. Klicken Sie auf die Schaltfläche Save .Click the Save button.

Sie können jetzt die Azure IoT-REST-APIs zum Erstellen von Import-/Exportaufträgen verwenden, um Informationen zur Verwendung der Funktion für Massenimporte/-exporte zu erhalten.You can now use the Azure IoT REST APIs for creating import export jobs for information on how to use the bulk import/export functionality. Sie müssen storageAuthenticationType="identityBased" im Anforderungstext bereitstellen und inputBlobContainerUri="https://..." und outputBlobContainerUri="https://..." als Eingabe- bzw. Ausgabe-URLs des Speicherkontos verwenden.You will need to provide the storageAuthenticationType="identityBased" in your request body and use inputBlobContainerUri="https://..." and outputBlobContainerUri="https://..." as the input and output URLs of your storage account, respectively.

Azure IoT Hub SDKs unterstützen diese Funktion im Registrierungs-Manager des Dienstclients.Azure IoT Hub SDKs also support this functionality in the service client's registry manager. Der folgende Codeausschnitt zeigt, wie ein Importauftrag bzw. ein Exportauftrag mithilfe des C# SDK ausgelöst werden.The following code snippet shows how to initiate an import job or export job in using the C# SDK.

// Call an import job on the IoT Hub
JobProperties importJob = 
await registryManager.ImportDevicesAsync(
  JobProperties.CreateForImportJob(inputBlobContainerUri, outputBlobContainerUri, null, StorageAuthenticationType.IdentityBased), 
  cancellationToken);

// Call an export job on the IoT Hub to retrieve all devices
JobProperties exportJob = 
await registryManager.ExportDevicesAsync(
    JobProperties.CreateForExportJob(outputBlobContainerUri, true, null, StorageAuthenticationType.IdentityBased),
    cancellationToken);

Gehen Sie folgendermaßen vor, um diese Version der Azure IoT SDKs mit Unterstützung virtueller Netzwerke für C#, Java und Node.js zu verwenden:To use this version of the Azure IoT SDKs with virtual network support for C#, Java, and Node.js:

  1. Erstellen Sie eine Umgebungsvariable namens EnableStorageIdentity, und legen Sie ihren Wert auf 1 fest.Create an environment variable named EnableStorageIdentity and set its value to 1.

  2. Laden Sie das SDK herunter: Java | C# | Node.jsDownload the SDK: Java | C# | Node.js

Laden Sie für Python die beschränkte Version von GitHub herunter.For Python, download our limited version from GitHub.

  1. Navigieren Sie zur GitHub-Releaseseite.Navigate to the GitHub release page.

  2. Laden Sie die folgende Datei herunter, die sich unten auf der Releaseseite unter dem Header namens Assets befindet.Download the following file, which you'll find at the bottom of the release page under the header named assets.

    azure_iot_hub-2.2.0_limited-py2.py3-none-any.whlazure_iot_hub-2.2.0_limited-py2.py3-none-any.whl

  3. Öffnen Sie ein Terminal, und navigieren Sie zum Ordner mit der heruntergeladenen Datei.Open a terminal and navigate to the folder with the downloaded file.

  4. Führen Sie den folgenden Befehl aus, um das Python-Dienst-SDK mit Unterstützung für virtuelle Netzwerke zu installieren:Run the following command to install the Python Service SDK with support for virtual networks:

    pip install ./azure_iot_hub-2.2.0_limited-py2.py3-none-any.whlpip install ./azure_iot_hub-2.2.0_limited-py2.py3-none-any.whl

Nächste SchritteNext steps

Verwenden Sie die unten angegebenen Links, um weitere Informationen zu IoT Hub-Features zu erhalten:Use the links below to learn more about IoT Hub features: