Share via


Autorización del acceso a Azure SignalR Service mediante Microsoft Entra ID

Azure SignalR Service admite el identificador de Entra de Microsoft para autorizar solicitudes a sus recursos. Con microsoft Entra ID, puede usar el control de acceso basado en rol (RBAC) para conceder permisos a una entidad de seguridad. Una entidad de seguridad es un grupo de usuarios o recursos, una aplicación o una entidad de servicio, como identidades asignadas por el sistema y identidades asignadas por el usuario.

Microsoft Entra ID autentica la entidad de seguridad y devuelve un token de OAuth 2.0. A continuación, el token se usa para autorizar una solicitud en el recurso de Azure SignalR Service.

La autorización de solicitudes en Azure SignalR Service mediante el identificador de Entra de Microsoft proporciona mayor seguridad y facilidad de uso en comparación con la autorización de claves de acceso. Se recomienda encarecidamente usar el identificador de Entra de Microsoft para autorizar siempre que sea posible, ya que garantiza el acceso con los privilegios mínimos necesarios.

Importante

Deshabilitar la autenticación local puede tener las siguientes consecuencias:

  • El conjunto actual de claves de acceso se elimina permanentemente.
  • Los tokens firmados con el conjunto actual de claves de acceso no estarán disponibles.

Información general de Microsoft Entra ID

Cuando una entidad de seguridad intenta acceder a un recurso de Azure SignalR Service, la solicitud debe estar autorizada. El uso de Microsoft Entra ID para obtener acceso a un recurso requiere dos pasos:

  1. Microsoft Entra ID autentica la entidad de seguridad y, a continuación, devuelve un token de OAuth 2.0.
  2. El token se pasa como parte de una solicitud al recurso de Azure SignalR Service para autorizar la solicitud.

Autenticación del lado cliente con el identificador de Entra de Microsoft

Cuando se usa una clave de acceso, la clave se comparte entre el servidor de aplicaciones (o la aplicación de funciones) y el recurso de Azure SignalR Service. Azure SignalR Service autentica la solicitud de conexión de cliente mediante la clave compartida.

Cuando se usa el identificador de Entra de Microsoft, no hay ninguna clave compartida. En su lugar, Azure SignalR Service usa una clave de acceso temporal para firmar tokens usados en las conexiones de cliente. El flujo de trabajo contiene cuatro pasos:

  1. La entidad de seguridad requiere un token de OAuth 2.0 de Microsoft Entra ID para autenticarse a sí mismo.
  2. La entidad de seguridad llama a la API de autenticación de SignalR para obtener una clave de acceso temporal.
  3. La entidad de seguridad firma un token de cliente con la clave de acceso temporal para las conexiones de cliente durante la negociación.
  4. El cliente usa el token de cliente para conectarse a los recursos de Azure SignalR Service.

La clave de acceso temporal expira en 90 minutos, Se recomienda obtener uno nuevo y girar el anterior una vez por hora.

El flujo de trabajo está integrado en el SDK de Azure SignalR Service para servidores de aplicaciones.

Asignación de roles de Azure para derechos de acceso

Microsoft Entra ID autoriza los derechos de acceso a los recursos protegidos mediante RBAC de Azure. Azure SignalR Service define un conjunto de roles integrados de Azure que abarcan conjuntos comunes de permisos para acceder a los recursos de Azure SignalR Service. También puede definir roles personalizados para el acceso a los recursos de Azure SignalR Service.

Ámbito de recursos

Es posible que tenga que determinar el ámbito de acceso que debe tener la entidad de seguridad antes de asignar cualquier rol de RBAC de Azure a una entidad de seguridad. Se recomienda conceder solo el ámbito más estrecho posible. Los roles de Azure RBAC definidos en un ámbito más amplio los heredan los recursos que están debajo de ellos.

Puede definir el ámbito del acceso a los recursos de Azure SignalR Service en los siguientes niveles, empezando por el ámbito más estrecho.

Ámbito Descripción
Recurso individual Se aplica solo al recurso de destino.
Resource group Se aplica a todos los recursos de un grupo de recursos.
Suscripción Se aplica a todos los recursos de una suscripción.
Grupo de administración Se aplica a todos los recursos de las suscripciones incluidas en un grupo de administración.

Roles integrados de Azure para los recursos de Azure SignalR Service

Role Descripción Caso de uso
SignalR App Server Acceso a la API de creación de conexiones de WebSocket y a las API de autenticación. Se usa con más frecuencia para un servidor de aplicaciones.
Propietario de SignalR Service Acceso total a todas las API del plano de datos, incluidas las API REST, la API de creación de conexiones de WebSocket y las API de autenticación. Use para el modo sin servidor para la autorización con microsoft Entra ID, ya que requiere permisos de API REST y permisos de API de autenticación.
Propietario de la API REST de SignalR Acceso total a las API REST del plano de datos. A menudo se usa para escribir una herramienta que administra conexiones y grupos, pero no realiza conexiones ni llama a las API de autenticación.
Lector de la API REST de SignalR Acceso de solo lectura a las API REST del plano de datos. Normalmente se usa para escribir una herramienta de supervisión que solo llama a las API REST de solo lectura del plano de datos de Azure SignalR Service.

Pasos siguientes