Compartir a través de


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.

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 valor key, la CLI detecta automáticamente una directiva adecuada al interactuar con Azure IoT Hub Device Provisioning Service (DPS).

  • Cuando --auth-type tiene el valor login, 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

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