RBAC de Azure y Azure Device Update for IoT Hub
Para que los usuarios y las aplicaciones accedan a Azure Device Update for IoT Hub, se les debe conceder acceso al recurso Device Update. La entidad de servicio Device Update también debe obtener acceso a su centro de IoT asociado para implementar actualizaciones y administrar dispositivos.
En este artículo se explica cómo Device Update y Azure IoT Hub usan el control de acceso basado en roles de Azure (RBAC de Azure) para proporcionar autenticación y autorización para los usuarios y las API de servicio. En el artículo también se describe la autenticación de Microsoft Entra ID para las API de REST de Device Update y la compatibilidad con identidades administradas en Device Update y Azure IoT Hub.
Roles de control de acceso de Device Update
Device Update admite los siguientes roles de RBAC. Para obtener más información, consulte Configuración del control de acceso a la cuenta de Device Update.
Nombre de rol | Descripción |
---|---|
Administrador de Device Update | Tiene acceso a todos los recursos de Device Update |
Lector de Device Update | Puede ver todas las actualizaciones e implementaciones |
Administrador de contenido de Device Update | Puede ver, importar y eliminar actualizaciones |
Lector de contenido de Device Update | Puede ver las actualizaciones |
Administrador de implementaciones de Device Update | Puede administrar implementaciones de actualizaciones en dispositivos |
Lector de implementaciones de Device Update | Puede ver la implementación de actualizaciones en los dispositivos |
Puede asignar una combinación de roles para proporcionar el nivel correcto de acceso. Por ejemplo, puede usar el rol Administrador de contenido de Device Update para importar y administrar actualizaciones, pero necesita el rol Lector de implementaciones de Device Update para ver el progreso de una actualización. Por el contrario, con el rol Lector de actualizaciones de dispositivos puede ver todas las actualizaciones, pero necesita el rol Administrador de implementaciones de Device Update para implementar una actualización en los dispositivos.
Acceso de entidad de servicio de Device Update a IoT Hub
Device Update se comunica con su centro de IoT asociado para implementar y administrar actualizaciones a escala. Para habilitar esta comunicación, debe conceder a la entidad de servicio de Device Update acceso al centro de IoT con el rol Colaborador de datos de IoT Hub.
La concesión de este permiso permite las siguientes acciones de implementación, administración de dispositivos y actualizaciones y diagnóstico:
- Creación de una implementación
- Cancelar implementación
- Reintentar implementación
- Obtener dispositivo
Puede establecer este permiso desde la página de Control de acceso (IAM) de IoT Hub. Para obtener más información, consulte Configuración del acceso al centro de IoT para la entidad de servicio de Device Update.
API de REST de Device Update
Device Update usa Microsoft Entra ID para la autenticación en sus API de REST. Para empezar, debe crear y configurar una aplicación cliente.
Crear una aplicación cliente de Microsoft Entra
Para integrar una aplicación o un servicio con Microsoft Entra ID, en primer lugar, debe registrar una aplicación cliente con Microsoft Entra ID. La configuración de la aplicación cliente varía en función del flujo de autorización que necesite: usuarios, aplicaciones o identidades administradas. Por ejemplo:
Para llamar a Device Update desde una aplicación móvil o de escritorio, seleccione Cliente público o nativo (móvil y escritorio) en Seleccionar una plataforma y escriba
https://login.microsoftonline.com/common/oauth2/nativeclient
para el URI de redirección.Para llamar a Device Update desde un sitio web con inicio de sesión implícito, use la plataforma Web. En Flujos de concesión implícita e híbridos, seleccione Tokens de acceso (usados para flujos implícitos).
Nota:
Use el flujo de autenticación más seguro disponible. La autenticación de flujo implícita requiere un alto grado de confianza en la aplicación y conlleva riesgos que no están presentes en otros flujos. Solo debe usar este flujo cuando otros flujos más seguros, como las identidades administradas, no sean viables.
Configuración de permisos
A continuación, conceda permisos a la aplicación para llamar a Device Update.
- Vaya a la página Permisos de API de la aplicación y seleccione Agregar un permiso.
- Vaya a API que usa mi organización y busque Azure Device Update.
- Seleccione user_impersonation y, después, Agregar permisos.
Solicitud de token de autorización
La API de REST de Device Update requiere un token de autorización de OAuth 2.0 en el encabezado de solicitud. En las secciones siguientes se muestran ejemplos de algunas maneras de solicitar un token de autorización.
CLI de Azure
az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'
Biblioteca MSAL de PowerShell
El módulo de PowerShell MSAL.PS
es un contenedor de la Biblioteca de autenticación de Microsoft para .NET (MSAL .NET) que admite varios métodos de autenticación.
Credenciales de usuario:
$clientId = '<app_id>' $tenantId = '<tenant_id>' $authority = "https://login.microsoftonline.com/$tenantId/v2.0" $Scope = 'https://api.adu.microsoft.com/user_impersonation' Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope
Credenciales de usuario con código de dispositivo:
$clientId = '<app_id>’ $tenantId = '<tenant_id>’ $authority = "https://login.microsoftonline.com/$tenantId/v2.0" $Scope = 'https://api.adu.microsoft.com/user_impersonation' Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -Interactive -DeviceCode
Credenciales de aplicación:
$clientId = '<app_id>’ $tenantId = '<tenant_id>’ $cert = '<client_certificate>' $authority = "https://login.microsoftonline.com/$tenantId/v2.0" $Scope = 'https://api.adu.microsoft.com/.default' Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -ClientCertificate $cert
Compatibilidad con identidades administradas
Las identidades administradas proporcionan servicios de Azure con identidades de Microsoft Entra ID seguras y administradas automáticamente. Las identidades administradas eliminan la necesidad de que los desarrolladores administren las credenciales proporcionando identidades. Device Update admite identidades administradas asignadas por el sistema.
Para agregar una identidad administrada asignada por el sistema para Device Update:
- En Azure Portal, vaya a la cuenta de Device Update.
- En el panel de navegación izquierdo, seleccione Configuración>Identidad.
- En Sistema asignado en la página Identidad, establezca Estado en Activado.
- Seleccione Guardar y, después, seleccione Sí.
Para agregar una identidad administrada asignada por el sistema para IoT Hub:
- En Azure Portal, vaya hasta su instancia de IoT Hub.
- En el panel de navegación izquierdo, seleccione Configuración de seguridad>Identidad.
- En Asignado por el sistema en la página Identidad, seleccione Activado en Estado.
- Seleccione Guardar y, después, seleccione Sí.
Para quitar la identidad administrada asignada por el sistema de una cuenta de Device Update o un centro de IoT, establezca o seleccione Desactivar en la página Identidad y, a continuación, seleccione Guardar.