Control del acceso a Azure IoT Hub Device Provisioning Service (DPS) mediante Microsoft Entra ID (versión preliminar)
Puede usar Microsoft Entra ID para autenticar las solicitudes a las API de Azure IoT Hub Device Provisioning Service (DPS), como crear una identidad de dispositivo e invocar un método directo. También puede usar el control de acceso basado en roles de Azure (RBAC de Azure) para autorizar esas mismas API del servicio. Al usar estas tecnologías de forma conjunta, puede conceder permisos para acceder a las API de Azure IoT Hub Device Provisioning Service (DPS) a una entidad de seguridad de Microsoft Entra. Esta entidad de seguridad podría ser un usuario, grupo o entidad de servicio de aplicación.
La autenticación del acceso con Microsoft Entra ID y el control de permisos con RBAC de Azure proporcionan una mayor seguridad y facilidad de uso respecto a los tokens de seguridad. Para minimizar posibles problemas de seguridad inherentes a los tokens de seguridad, se recomienda usar Microsoft Entra ID con la instancia de Azure IoT Hub Device Provisioning Service (DPS) siempre que sea posible.
Nota:
La autenticación con Microsoft Entra ID no se admite para las API de dispositivo de Azure IoT Hub Device Provisioning Service (DPS) (como el dispositivo de registro o la búsqueda de estado de registro de dispositivos). Use claves simétricas, X.509 o TPM para autenticar dispositivos en Azure IoT Hub Device Provisioning Service (DPS).
Autenticación y autorización
Cuando una entidad de seguridad de Microsoft Entra solicita el acceso a una API de Azure IoT Hub Device Provisioning Service (DPS), primero se autentica la identidad de la entidad de seguridad. Para realizar la autenticación, la solicitud debe contener un token de acceso de OAuth 2.0 en el entorno de ejecución. El nombre del recurso para solicitar el token es https://azure-devices-provisioning.net
. Si la aplicación se ejecuta en un recurso de Azure, como una máquina virtual de Azure, una aplicación de función de Azure Functions o una aplicación de Azure App Service, se puede representar como una identidad administrada.
Una vez autenticada la entidad de Microsoft Entra, el siguiente paso es la autorización. En este paso, Azure IoT Hub Device Provisioning Service (DPS) usa el servicio de asignación de roles de Microsoft Entra para determinar qué permisos tiene la entidad de seguridad. Si los permisos de la entidad de seguridad coinciden con el recurso o la API solicitados, Azure IoT Hub Device Provisioning Service (DPS) autoriza la solicitud. Así, este paso exige que se asignen uno o varios roles de Azure a la entidad de seguridad. Azure IoT Hub Device Provisioning Service (DPS) proporciona algunos roles integrados que tienen grupos comunes de permisos.
Gestión del acceso a Azure IoT Hub Device Provisioning Service (DPS) mediante la asignación de roles de Azure RBAC
Con Microsoft Entra ID y RBAC, Azure IoT Hub Device Provisioning Service (DPS) necesita que la entidad de seguridad que solicita la API tenga el nivel de permiso adecuado para la autorización. Para conceder permiso a la entidad de seguridad, asígnele también una asignación de roles.
- Si la entidad de seguridad es un usuario, grupo o entidad de servicio de aplicación, siga las instrucciones de Asignación de roles de Azure mediante Azure Portal.
- Si la entidad de seguridad es una identidad administrada, siga las instrucciones de Asignación de acceso de una identidad administrada a un recurso mediante Azure Portal.
Para garantizar los privilegios mínimos, asigne siempre el rol adecuado en el ámbito de recursos más bajo posible,que es probable que sea el ámbito de Azure IoT Hub Device Provisioning Service (DPS).
Azure IoT Hub Device Provisioning Service (DPS) proporciona los siguientes roles integrados de Azure para autorizar el acceso a las API DPS mediante Microsoft Entra ID y RBAC:
Role | Descripción |
---|---|
Colaborador de datos del servicio de aprovisionamiento de dispositivos | Permite el acceso completo a las operaciones del plano de datos del servicio de aprovisionamiento de dispositivos. |
Lector de datos del servicio aprovisionamiento de dispositivos | Permite el acceso de lectura completo a las propiedades del plano de datos del servicio de aprovisionamiento de dispositivos. |
También puede definir roles personalizados para su uso con Azure IoT Hub Device Provisioning Service (DPS) mediante la combinación de los permisos que necesita. Para más información, consulte Creación de roles personalizados para el control de acceso basado en roles de Azure.
Ámbito de recursos
Antes de asignar un rol de Azure RBAC a una entidad de seguridad, determine el ámbito de acceso que debería tener la entidad de seguridad. Siempre es mejor conceder únicamente el ámbito más restringido posible. Los roles de Azure RBAC definidos en un ámbito más amplio los heredan los recursos que están debajo de ellos.
En la lista se describen los niveles en los que puede definir el ámbito de acceso a IoT Hub, empezando por el ámbito más restringido:
- Azure IoT Hub Device Provisioning Service (DPS). En este ámbito, una asignación de roles se aplica al servicio Azure IoT Hub Device Provisioning (DPS). No se admite la asignación de roles en ámbitos más pequeños, como el grupo de inscripción o la inscripción individual.
- el grupo de recursos. En este ámbito, se aplica una asignación de roles a todos los centros de IoT del grupo de recursos.
- Suscripción. En este ámbito, se aplica una asignación de roles a todos los centros de IoT de todos los grupos de recursos de la suscripción.
- Un grupo de administración. En este ámbito, se aplica una asignación de roles a todos los centros de IoT de todos los grupos de recursos de todas las suscripciones del grupo de administración.
Permisos para las API de Azure IoT Hub Device Provisioning Service (DPS)
En las tablas siguientes se describen los permisos disponibles para las operaciones de API de Azure IoT Hub Device Provisioning Service (DPS). Para permitir que un cliente llame a una operación determinada, asegúrese de que el rol RBAC asignado del cliente ofrezca permisos suficientes para esa operación.
Acción de RBAC | Descripción |
---|---|
Microsoft.Devices/provisioningServices/attestationmechanism/details/action |
Captura detalles del mecanismo de atestación |
Microsoft.Devices/provisioningServices/enrollmentGroups/read |
Lee grupos de inscripción |
Microsoft.Devices/provisioningServices/enrollmentGroups/write |
Escribe grupos de inscripción |
Microsoft.Devices/provisioningServices/enrollmentGroups/delete |
Elimina grupos de inscripción |
Microsoft.Devices/provisioningServices/enrollments/read |
Lectura de inscripciones |
Microsoft.Devices/provisioningServices/enrollments/write |
Escribe inscripciones |
Microsoft.Devices/provisioningServices/enrollments/delete |
Elimina inscripciones |
Microsoft.Devices/provisioningServices/registrationStates/read |
Lee estados de registro |
Microsoft.Devices/provisioningServices/registrationStates/delete |
Elimina estados de registro |
Extensión de Azure IoT para la CLI de Azure
La mayoría de los comandos de Azure IoT Hub Device Provisioning Service (DPS) admiten la autenticación de Microsoft Entra. Puede controlar el tipo de autenticación que se usa para ejecutar comandos mediante el parámetro --auth-type
, que acepta los valores key
o login
. El valor predeterminado es key
.
Cuando
--auth-type
tiene el valorkey
, la CLI detecta automáticamente una directiva adecuada al interactuar con Azure IoT Hub Device Provisioning Service (DPS).Cuando
--auth-type
tiene el valorlogin
, se utiliza un token de acceso de la entidad de seguridad que ha iniciado sesión en la CLI de Azure para llevar a cabo la operación.Los comandos siguientes admiten actualmente
--auth-type
:az iot dps enrollment
az iot dps enrollment-group
az iot dps registration
Para obtener más información, consulte la página de versiones de la extensión de Azure IoT para la CLI de Azure.
SDK y ejemplos
- SDK de Azure IoT para Node.js Provisioning Service
- Versión preliminar del SDK de Azure IoT para Java
- Versión preliminar del SDK de Microsoft Azure IoT para .NET
Acceso de Microsoft Entra ID desde Azure Portal
Nota:
El acceso a Microsoft Entra ID desde Azure Portal no está disponible actualmente durante la versión preliminar.
Pasos siguientes
- Para obtener más información sobre las ventajas de usar Microsoft Entra en la aplicación, vea Integración con Microsoft Entra ID.
- Para obtener más información sobre la solicitud de tokens de acceso de Microsoft Entra ID para usuarios y entidades de servicio, consulte el artículo sobre escenarios de autenticación de Microsoft Entra ID.