Control de acceso basado en roles (RBAC) de Azure y Device Update
Device Update utiliza la funcionalidad RBAC de Azure para autorizar y autenticar los usuarios y las API de servicio. Para que otros usuarios y aplicaciones tengan acceso a Device Update, es necesario concederles acceso a este recurso. También es necesario configurar el acceso a la entidad de servicio de Azure Device Update para implementar correctamente las actualizaciones y administrar los dispositivos.
Configuración de roles de control de acceso
Estos son los roles que se admiten en 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 la implementación de actualizaciones en los dispositivos |
Lector de implementaciones de Device Update | Puede ver la implementación de actualizaciones en los dispositivos |
Puede combinar varios roles para proporcionar el nivel de acceso adecuado. Por ejemplo, un desarrollador puede importar y administrar actualizaciones utilizando el rol Administrador de contenido de Device Update, pero necesita el rol Lector de implementaciones de Device Update para poder ver el progreso de una actualización. Por otro lado, un operador de soluciones que tenga el rol Lector de Device Update puede ver todas las actualizaciones, pero necesita el rol Administrador de implementaciones de Device Update para poder implementar una actualización específica en los dispositivos.
Configuración del acceso a la entidad de servicio de Azure Device Update en IoT Hub
Device Update for IoT Hub se comunica con IoT Hub para las implementaciones y administra las actualizaciones a gran escala. Para habilitar la actualización de dispositivos para este fin, los usuarios deben configurar el acceso de colaborador de datos de IoT Hub para la entidad principal del servicio de actualización de dispositivos de Azure en los permisos de IoT Hub.
Si no se establecen estos permisos, no se permitirán las acciones de implementación, administración de dispositivos y actualizaciones, y diagnóstico. Las siguientes operaciones se bloquearán:
- Crear implementación
- Cancelar implementación
- Reintentar implementación
- Get Device
Los permisos se pueden establecer en IoT Hub Access Control (IAM). Consulte Configuración del acceso para la entidad de servicio de Azure Device Update en un centro de IoT vinculado.
Autenticación en las 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.
Creación de 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 variará 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, agregue la plataforma de aplicaciones móviles y de escritorio con
https://login.microsoftonline.com/common/oauth2/nativeclient
para el URI de redirección. - Sitio web con inicio de sesión implícito, agregue una plataforma web y seleccione Tokens de acceso (usados para flujos implícitos).
Nota:
Microsoft recomienda usar el flujo de autenticación más seguro disponible. La autenticación de flujo implícito 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, agregue 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 algunos ejemplos de formas de solicitar un token de autorización.
Uso de la CLI de Azure
az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'
Uso de la biblioteca MSAL de PowerShell
MSAL.PS El módulo de PowerShell es un contenedor de la biblioteca de autenticación de Microsoft para .NET (MSAL .NET). Admite varios métodos de autenticación.
Uso con las 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
Uso con las credenciales de usuario y el 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
Uso con las credenciales de la 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 a los servicios de Azure una identidad administrada automáticamente en Microsoft Entra ID de forma segura. Esto elimina la necesidad de que los desarrolladores tengan que administrar las credenciales proporcionando una identidad. Device Update for IoT Hub admite identidades administradas asignadas por el sistema.
Identidad administrada asignada por el sistema
Para agregar y eliminar una identidad administrada asignada por el sistema en Azure Portal:
- Inicie sesión en Azure Portal y vaya a la cuenta que quiera de Device Update for IoT Hub.
- Vaya a Identidad en el portal de Device Update for IoT Hub.
- Vaya a Identidad en el portal de IoT Hub.
- En la pestaña System-assigned (Asignada por el sistema), seleccione Activar y haga clic en Guardar.
Para quitar la identidad administrada asignada por el sistema de una cuenta de Device Update for IoT Hub, seleccione Desactivar y haga clic en Guardar.