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.
- Wenn es sich bei dem Prinzipal um einen Benutzer, eine Gruppe oder einen Anwendungsdienstprinzipal handelt, befolgen Sie die Anleitung in Zuweisen von Azure Rollen über das Azure-Portal.
- Wenn es sich bei dem Prinzipal um eine verwaltete Identität handelt, befolgen Sie die Anleitung unter Zuweisung vom Zugriff einer verwalteten Identität auf eine Ressource über das Azure-Portal.
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 Wertkey
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 Wertlogin
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
- Azure IoT SDKs für Node.js Bereitstellungsdienst
- Vorschauversion des Azure IoT SDK für Java
- - Microsoft Azure IoT SDKs für .NET Vorschauversion
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
- Weitere Informationen zu den Vorteilen der Verwendung von Microsoft Entra ID in Ihrer Anwendung finden Sie unter Integration in Microsoft Entra ID.
- Weitere Informationen zum Anfordern von Zugriffstoken aus Microsoft Entra ID für Benutzer und Dienstprinzipale finden Sie unter Authentifizierungsszenarien für Microsoft Entra ID.