Freigeben über


Steuern des Zugriffs auf den Azure IoT Hub Device Provisioning Service (DPS) mithilfe der Microsoft Entra ID (Vorschau)

Sie können Microsoft Entra-ID verwenden, um Anforderungen an Azure IoT Hub Device Provisioning Service (DPS)-APIs zu authentifizieren, z. B. Erstellen von Geräteidentität und Aufrufen direkter Methode. Sie können auch Azure rollenbasierte Zugriffskontrolle (Azure RBAC) verwenden, um dieselben Service-APIs zu autorisieren. Mithilfe dieser Technologien können Sie Berechtigungen für den Zugriff auf Azure IoT Hub Device Provisioning Service (DPS)-APIs für einen Microsoft Entra-Sicherheitsprinzipal erteilen. Dieser Sicherheitsprinzipal kann ein Benutzer, eine Gruppe oder ein Anwendungsdienstprinzipal sein.

Das Authentifizieren des Zugriffs mithilfe der Microsoft Entra-ID und das Steuern von Berechtigungen mithilfe von Azure RBAC bietet verbesserte Sicherheit und Benutzerfreundlichkeit gegenüber Sicherheitstoken. Um potenzielle Sicherheitsprobleme zu minimieren, die Sicherheitstoken inhärent sind, empfehlen wir, microsoft Entra-ID mit Ihrem Azure IoT Hub Device Provisioning Service (DPS) nach Möglichkeit zu verwenden.

Hinweis

Die Authentifizierung mit Microsoft Entra-ID wird für die Azure IoT Hub Device Provisioning Service (DPS) -Geräte-APIs (z. B. Registrieren des Geräte- oder Geräteregistrierungsstatus) 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 den Zugriff auf eine Azure IoT Hub Device Provisioning Service (DPS)-API anfordert, wird die Identität des Prinzipals zuerst 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 Device Provisioning Service (DPS) den Microsoft Entra-Rollenzuweisungsdienst, um zu bestimmen, 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 ID und RBAC erfordert Azure IoT Hub Device Provisioning Service (DPS) den Prinzipal, der die API anfordert, über die entsprechende Berechtigungsstufe für die Autorisierung zu verfügen. 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 Device Provisioning Service (DPS) bietet die folgenden integrierten Azure-Rollen zum Autorisieren des Zugriffs auf DPS-APIs mithilfe von Microsoft Entra ID und RBAC:

Rolle 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 Device Provisioning Service (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 Microsoft Entra-ID-Zugriff über die Azure-Portal ist derzeit während der Vorschau nicht verfügbar.

Nächste Schritte