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).

Configuración de permisos

A continuación, agregue permisos a la aplicación para llamar a Device Update:

  1. Vaya a la página Permisos de API de la aplicación y seleccione Agregar un permiso.
  2. Vaya a API que usa mi organización y busque Azure Device Update.
  3. 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:

  1. Inicie sesión en Azure Portal y vaya a la cuenta que quiera de Device Update for IoT Hub.
  2. Vaya a Identidad en el portal de Device Update for IoT Hub.
  3. Vaya a Identidad en el portal de IoT Hub.
  4. 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.

Pasos siguientes