Freigeben über


Steuern des Zugriffs auf den Azure IoT Hub Gerätebereitstellungsdienst (DPS) mithilfe der Microsoft Entra-ID (Vorschau)

Sie können Microsoft Entra ID verwenden, um Anforderungen an Azure IoT Hub Gerätebereitstellungsdienst (DPS) APIs authentifizieren, z.B. Geräteidentität erstellen und direkte Methode aufrufen. Sie können auch Azure rollenbasierte Zugriffskontrolle (Azure RBAC) verwenden, um dieselben Service-APIs zu autorisieren. Wenn Sie diese Technologien zusammen verwenden, können Sie einem Microsoft Entra-Sicherheitsprinzipal die Berechtigung zum Zugriff auf Azure IoT Hub Gerätebereitstellungsdienst (DPS) APIs erteilen. Dieser Sicherheitsprinzipal kann ein Benutzer, eine Gruppe oder ein Anwendungsdienstprinzipal sein.

Die Authentifizierung des Zugriffs mithilfe von Microsoft Entra ID und die Kontrolle der Berechtigungen mithilfe von Azure RBAC bieten eine verbesserte Sicherheit und Benutzerfreundlichkeit im Vergleich zu Sicherheitstokens. Um mögliche Sicherheitsprobleme im Zusammenhang mit Sicherheitstokens zu minimieren, wird empfohlen, wann immer möglich Microsoft Entra mit Ihrem Azure IoT Hub Gerätebereitstellungsdienst (DPS) zu verwenden.

Hinweis

Die Authentifizierung mit Microsoft Entra wird für die Geräte-APIs des Azure IoT Hub Gerätebereitstellungsdienst (DPS) (z. B. Gerät registrieren oder Status der Geräteregistrierung abfragen) nicht unterstützt. Verwenden Sie symmetrische Schlüssel, X.509 oder TPM, um Geräte beim Azure IoT Hub Device Provisioning Service (DPS) zu authentifizieren.

Authentifizierung und Autorisierung

Wenn ein Microsoft Entra-Sicherheitsprinzipal Zugriff auf eine Azure IoT Hub Gerätebereitstellungsdienst (DPS) API anfordert, wird die Identität des Prinzipals zunächst authentifiziert. Zur Authentifizierung muss die Anforderung zur Ausführung ein OAuth 2.0-Zugangs-Token enthalten. Der Ressourcenname zum Anfordern des Tokens lautet https://azure-devices-provisioning.net. Wenn die Anwendung in einer Azure-Ressource wie einer Azure-VM, einer Azure Functions App oder einer Azure App Service App ausgeführt wird, kann sie als verwaltete Identität dargestellt werden.

Nachdem der Microsoft Entra-Prinzipal authentifiziert wurde, ist der nächste Schritt die Autorisierung. In diesem Schritt verwendet Azure IoT Hub Gerätebereitstellungsdienst (DPS) den Microsoft Entra-Rollenzuweisungsdienst, um festzustellen, welche Berechtigungen der Prinzipal hat. Wenn die Berechtigungen des Prinzipals mit der angeforderten Ressource oder API übereinstimmen, autorisiert Azure IoT Hub Device Provisioning Service (DPS) die Anfrage. Dieser Schritt erfordert also, dass dem Sicherheitsprinzipal eine oder mehrere Azure-Rollen zugewiesen werden. Azure IoT Hub Device Provisioning Service (DPS) bietet einige integrierte Rollen, die allgemeine Berechtigungsgruppen umfassen.

Die Zugriffsverwaltung zu Azure IoT Hub Device Provisioning Service (DPS) mit Hilfe von Azure RBAC Rollenzuweisung

Bei Microsoft Entra und RBAC erfordert Azure IoT Hub Gerätebereitstellungsdienst (DPS), dass der Prinzipal, der die API anfordert, die entsprechende Berechtigungsstufe für die Autorisierung hat. Um dem Prinzipal die Berechtigung zu erteilen, weisen Sie ihm eine Rolle zu.

Um das geringste Privileg zu gewährleisten, weisen Sie die entsprechende Rolle immer dem niedrigstmöglichen Ressourcenbereich zu, der wahrscheinlich der Azure IoT Hub Device Provisioning Service (DPS) Bereich ist.

Azure IoT Hub Gerätebereitstellungsdienst (DPS) bietet die folgenden in Azure integrierten Rollen für die Autorisierung des Zugriffs auf DPS-APIs unter Verwendung von Microsoft Entra und RBAC:

Role Beschreibung
Mitwirkender an Daten des Device Provisioning-Diensts Ermöglicht Vollzugriff auf Vorgänge auf Datenebene des Device Provisioning-Diensts.
Device Provisioning Service-Datenleser Ermöglicht den vollständigen Lesezugriff auf die Eigenschaften der Device Provisioning Service-Datenebene.

Sie können auch benutzerdefinierte Rollen zur Verwendung mit Azure IoT Hub Device Provisioning Service (DPS) definieren, indem Sie die benötigten Berechtigungen kombinieren. Weitere Informationen finden Sie unter Erstellen von benutzerdefinierten Rollen für die rollenbasierte Zugriffskontrolle in Azure.

Ressourcenumfang

Bevor Sie einem Sicherheitsprinzipal eine Azure RBAC-Rolle zuweisen, legen Sie den Zugriffsbereich fest, den der Sicherheitsprinzipal haben soll. Es ist immer am besten, nur den kleinstmöglichen Bereich zu gewähren. Azure RBAC-Rollen, die in einem umfassenderen Bereich definiert sind, werden von den darunterliegenden Ressourcen geerbt.

Diese Liste beschreibt die Ebenen, auf denen Sie den Zugriff auf Azure loT Hub einschränken können, angefangen mit dem engsten Bereich:

  • Der Azure IoT Hub Device Provisioning Service (DPS). In diesem Bereich gilt eine Rollenzuweisung für den Azure IoT Hub Device Provisioning Service (DPS). Die Rollenzuweisung in kleineren Bereichen, wie z.B. bei der Registrierung von Gruppen oder Einzelpersonen, wird nicht unterstützt.
  • Die Ressourcengruppe. In diesem Bereich gilt eine Rollenzuweisung für alle IoT Hubs in der Ressourcengruppe.
  • Das Abonnement. In diesem Bereich gilt eine Rollenzuweisung für alle IoT Hubs in allen Ressourcengruppen im Abonnement.
  • Eine Verwaltungsgruppe. In diesem Umfang gilt eine Rollenzuweisung für alle loT Hubs in allen Ressourcengruppen in allen Abonnements in der Verwaltungsgruppe.

Berechtigungen für Azure IoT Hub Device Provisioning Service (DPS) APIs

Die folgende Tabelle beschreibt die verfügbaren Berechtigungen für Azure IoT Hub Device Provisioning Service (DPS) API-Vorgänge. Um einem Client den Aufruf eines bestimmten Vorgangs zu ermöglichen, stellen Sie sicher, dass die zugewiesene RBAC-Rolle des Clients ausreichende Berechtigungen für den Vorgang bietet.

RBAC-Aktion Beschreibung
Microsoft.Devices/provisioningServices/attestationmechanism/details/action Abrufen von Details zum Nachweismechanismus
Microsoft.Devices/provisioningServices/enrollmentGroups/read Lesen von Registrierungsgruppen
Microsoft.Devices/provisioningServices/enrollmentGroups/write Schreiben von Registrierungsgruppen
Microsoft.Devices/provisioningServices/enrollmentGroups/delete Löschen von Registrierungsgruppen
Microsoft.Devices/provisioningServices/enrollments/read Lesen von Registrierungen
Microsoft.Devices/provisioningServices/enrollments/write Schreiben von Registrierungen
Microsoft.Devices/provisioningServices/enrollments/delete Löschen von Registrierungen
Microsoft.Devices/provisioningServices/registrationStates/read Lesen von Registrierungszustände
Microsoft.Devices/provisioningServices/registrationStates/delete Löschen von Registrierungszustände

Azure IoT-Erweiterung für die Azure CLI

Die meisten Befehle für Azure IoT Hub Gerätebereitstellungsdienst (DPS) unterstützen die Microsoft Entra-Authentifizierung. Sie können die Art der Authentifizierung, die für die Ausführung von Befehlen verwendet wird, mit dem Parameter --auth-type steuern, der die Werte key oder login akzeptiert. Der Wert key ist der standardmäßige Wert.

  • Wenn --auth-type den Wert key hat, findet die Befehlszeilenschnittstelle (CLI) automatisch eine passende Richtlinie, wenn sie mit dem Azure IoT Hub Device Provisioning Service (DPS) interagiert.

  • Wenn --auth-type den Wert login hat, wird ein Zugriffstoken von der im Prinzipal angemeldeten Azure CLI für den Vorgang verwendet.

  • Die folgenden Befehle unterstützen derzeit --auth-type:

    • az iot dps enrollment
    • az iot dps enrollment-group
    • az iot dps registration

Weitere Informationen finden Sie in der Azure loT Erweiterung für Azure CLI Release Seite.

SDKs und Beispiele

Microsoft Entra ID-Zugriff über das Azure-Portal

Hinweis

Der Zugriff auf Microsoft Entra über das Azure-Portal ist während der Vorschau derzeit nicht verfügbar.

Nächste Schritte