Compartir vía


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
  1. Vaya a la instancia de IoT Hub que conectó a la instancia de Device Update. Haga clic en Control de acceso (IAM).
  2. Haga clic en + Agregar ->Agregar asignación de roles.
  3. En la pestaña Rol, seleccione Colaborador de datos de IoT Hub.
  4. 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".
  5. Haga clic en Siguiente ->Revisar y asignar.

Para validar que ha establecido los permisos correctamente:

  1. Vaya a la instancia de IoT Hub que conectó a la instancia de Device Update. Haga clic en Control de acceso (IAM).
  2. Haga clic en Comprobación de acceso
  3. Seleccione Usuario, grupo o entidad de servicio y busque "Azure Device Update"
  4. 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:

  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 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:

  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