Toegang tot Azure IoT Hub Device Provisioning Service (DPS) beheren met behulp van Microsoft Entra ID (preview)
U kunt De Microsoft Entra-id gebruiken om aanvragen te verifiëren bij DPS-API's (Azure IoT Hub Device Provisioning Service), zoals apparaatidentiteit maken en directe methode aanroepen. U kunt ook op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken om dezelfde service-API's te autoriseren. Door deze technologieën samen te gebruiken, kunt u machtigingen verlenen voor toegang tot Azure IoT Hub Device Provisioning Service-API's (DPS) voor een Microsoft Entra-beveiligingsprincipaal. Deze beveiligingsprincipaal kan een gebruiker, groep of toepassingsservice-principal zijn.
Het verifiëren van toegang met behulp van Microsoft Entra ID en het beheren van machtigingen met behulp van Azure RBAC biedt verbeterde beveiliging en gebruiksgemak ten opzichte van beveiligingstokens. Als u potentiële beveiligingsproblemen die inherent zijn aan beveiligingstokens wilt minimaliseren, raden we u aan om waar mogelijk Microsoft Entra ID te gebruiken met uw Azure IoT Hub Device Provisioning Service (DPS).
Notitie
Verificatie met Microsoft Entra-id wordt niet ondersteund voor de APPARAAT-API's van Azure IoT Hub Device Provisioning Service (DPS), zoals het registreren van apparaat- of apparaatregistratiestatuszoekacties. Gebruik symmetrische sleutels, X.509 of TPM om apparaten te verifiëren bij Azure IoT Hub Device Provisioning Service (DPS).
Verificatie en autorisatie
Wanneer een Microsoft Entra-beveiligingsprincipaal toegang aanvraagt tot een AZURE IoT Hub Device Provisioning Service-API (DPS), wordt de identiteit van de principal eerst geverifieerd. Voor verificatie moet de aanvraag een OAuth 2.0-toegangstoken bevatten tijdens runtime. De resourcenaam voor het aanvragen van het token is https://azure-devices-provisioning.net
. Als de toepassing wordt uitgevoerd in een Azure-resource zoals een Azure-VM, Azure Functions-app of Azure-app Service-app, kan deze worden weergegeven als een beheerde identiteit.
Nadat de Microsoft Entra-principal is geverifieerd, is de volgende stap autorisatie. In deze stap gebruikt Azure IoT Hub Device Provisioning Service (DPS) de roltoewijzingsservice van Microsoft Entra om te bepalen welke machtigingen de principal heeft. Als de machtigingen van de principal overeenkomen met de aangevraagde resource of API, autoriseert Azure IoT Hub Device Provisioning Service (DPS) de aanvraag. Voor deze stap moeten dus een of meer Azure-rollen worden toegewezen aan de beveiligingsprincipaal. Azure IoT Hub Device Provisioning Service (DPS) biedt enkele ingebouwde rollen met algemene groepen machtigingen.
Toegang tot Azure IoT Hub Device Provisioning Service (DPS) beheren met behulp van Azure RBAC-roltoewijzing
Met Microsoft Entra ID en RBAC vereist Azure IoT Hub Device Provisioning Service (DPS) de principal die de API aanvraagt het juiste machtigingsniveau voor autorisatie. Als u de principal de machtiging wilt geven, geeft u deze een roltoewijzing.
- Als de principal een service-principal voor gebruikers, groepen of toepassingen is, volgt u de richtlijnen in Azure-rollen toewijzen met behulp van Azure Portal.
- Als de principal een beheerde identiteit is, volgt u de richtlijnen in Een beheerde identiteit toewijzen aan een resource met behulp van Azure Portal.
Wijs altijd de juiste rol toe aan het laagst mogelijke resourcebereik. Dit is waarschijnlijk het BEREIK van Azure IoT Hub Device Provisioning Service (DPS).
Azure IoT Hub Device Provisioning Service (DPS) biedt de volgende ingebouwde Azure-rollen voor het autoriseren van toegang tot DPS-API's met behulp van Microsoft Entra ID en RBAC:
Rol | Beschrijving |
---|---|
Inzender voor Device Provisioning Service-gegevens | Biedt volledige toegang tot de gegevensvlakbewerkingen van Device Provisioning Service. |
Device Provisioning Service-gegevenslezer | Hiermee is volledige leestoegang tot de eigenschappen van device Provisioning Service-gegevensvlak mogelijk. |
U kunt ook aangepaste rollen definiëren voor gebruik met Azure IoT Hub Device Provisioning Service (DPS) door de benodigde machtigingen te combineren. Zie Aangepaste rollen maken voor op rollen gebaseerd toegangsbeheer van Azure voor meer informatie.
Resourcebereik
Voordat u een Azure RBAC-rol toewijst aan een beveiligingsprincipaal, bepaalt u het toegangsbereik dat de beveiligingsprincipaal moet hebben. Het is altijd het beste om alleen het smalst mogelijke bereik te verlenen. Azure RBAC-rollen die zijn gedefinieerd in een breder bereik, worden overgenomen door de onderliggende resources.
In deze lijst worden de niveaus beschreven waarop u toegang tot IoT Hub kunt bereiken, te beginnen met het smalste bereik:
- De Azure IoT Hub Device Provisioning Service (DPS). In dit bereik is een roltoewijzing van toepassing op azure IoT Hub Device Provisioning Service (DPS). Roltoewijzing in kleinere bereiken, zoals inschrijvingsgroep of afzonderlijke inschrijving, wordt niet ondersteund.
- De resourcegroep. In dit bereik is een roltoewijzing van toepassing op alle IoT-hubs in de resourcegroep.
- Het abonnement. In dit bereik is een roltoewijzing van toepassing op alle IoT-hubs in alle resourcegroepen in het abonnement.
- Een beheergroep. In dit bereik is een roltoewijzing van toepassing op alle IoT-hubs in alle resourcegroepen in alle abonnementen in de beheergroep.
Machtigingen voor DPS-API's (Azure IoT Hub Device Provisioning Service)
In de volgende tabel worden de machtigingen beschreven die beschikbaar zijn voor DPS-API-bewerkingen (Azure IoT Hub Device Provisioning Service). Als u wilt dat een client een bepaalde bewerking aanroept, moet u ervoor zorgen dat de toegewezen RBAC-rol van de client voldoende machtigingen biedt voor de bewerking.
RBAC-actie | Beschrijving |
---|---|
Microsoft.Devices/provisioningServices/attestationmechanism/details/action |
Details van attestation-mechanisme ophalen |
Microsoft.Devices/provisioningServices/enrollmentGroups/read |
Inschrijvingsgroepen lezen |
Microsoft.Devices/provisioningServices/enrollmentGroups/write |
Inschrijvingsgroepen schrijven |
Microsoft.Devices/provisioningServices/enrollmentGroups/delete |
Inschrijvingsgroepen verwijderen |
Microsoft.Devices/provisioningServices/enrollments/read |
Inschrijvingen lezen |
Microsoft.Devices/provisioningServices/enrollments/write |
Inschrijvingen schrijven |
Microsoft.Devices/provisioningServices/enrollments/delete |
Inschrijvingen verwijderen |
Microsoft.Devices/provisioningServices/registrationStates/read |
Registratiestatussen lezen |
Microsoft.Devices/provisioningServices/registrationStates/delete |
Registratiestatussen verwijderen |
Azure IoT-extensie voor Azure CLI
De meeste opdrachten voor Azure IoT Hub Device Provisioning Service (DPS) ondersteunen Microsoft Entra-verificatie. U kunt het type verificatie bepalen dat wordt gebruikt voor het uitvoeren van opdrachten met behulp van de --auth-type
parameter, die accepteert of login
waarden accepteertkey
. De key
waarde is de standaardwaarde.
Wanneer
--auth-type
dekey
waarde is, detecteert de CLI automatisch een geschikt beleid wanneer deze communiceert met Azure IoT Hub Device Provisioning Service (DPS).Wanneer
--auth-type
delogin
waarde is, wordt een toegangstoken van de Azure CLI die is aangemeld in de principal gebruikt voor de bewerking.De volgende opdrachten worden momenteel ondersteund
--auth-type
:az iot dps enrollment
az iot dps enrollment-group
az iot dps registration
Zie de azure IoT-extensie voor de releasepagina van Azure CLI voor meer informatie.
SDK's en voorbeelden
- Azure IoT SDK's voor Node.js Provisioning Service
- Release van Azure IoT SDK voor Java Preview
- • Microsoft Azure IoT SDK's voor .NET Preview-release
Toegang tot Microsoft Entra-id vanuit Azure Portal
Notitie
Microsoft Entra ID-toegang vanuit Azure Portal is momenteel niet beschikbaar tijdens de preview-versie.
Volgende stappen
- Zie Integreren met Microsoft Entra ID voor meer informatie over de voordelen van het gebruik van Microsoft Entra ID in uw toepassing.
- Zie Verificatiescenario's voor Microsoft Entra ID voor gebruikers en service-principals voor meer informatie over het aanvragen van toegangstokens van Microsoft Entra ID.