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.
Las siguientes acciones se bloquearán con la próxima versión si no se establecen estos permisos:
- Crear implementación
- Cancelar implementación
- Reintentar implementación
- Get Device
- Vaya a la instancia de IoT Hub que conectó a la instancia de Device Update. Haga clic en Control de acceso (IAM).
- Haga clic en + Agregar ->Agregar asignación de roles.
- En la pestaña Rol, seleccione Colaborador de datos de IoT Hub.
- Haga clic en Next. En Asignar acceso a, seleccione User, group, or service principle (Usuario, grupo o entidad de servicio). Haga clic en + Seleccionar miembros y busque "Azure Device Update".
- Haga clic en Siguiente ->Revisar y asignar.
Para validar que ha establecido los permisos correctamente:
- Vaya a la instancia de IoT Hub que conectó a la instancia de Device Update. Haga clic en Control de acceso (IAM).
- Haga clic en Comprobación de acceso
- Seleccione Usuario, grupo o entidad de servicio y busque "Azure Device Update"
- Después de hacer clic en "Azure Device Update", compruebe que el rol colaborador de datos de IoT Hub aparece en Asignaciones de roles
Autenticación en las API de REST de Device Update
Device Update usa Azure Active Directory (AD) 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 Azure AD
Para integrar una aplicación o un servicio con Azure AD, en primer lugar, debe registrar una aplicación cliente con Azure AD. 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).
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 Azure AD de manera 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.