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:
- Microsoft Entra ID autentica la entidad de seguridad y, a continuación, devuelve un token de OAuth 2.0.
- 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:
- La entidad de seguridad requiere un token de OAuth 2.0 de Microsoft Entra ID para autenticarse a sí mismo.
- La entidad de seguridad llama a la API de autenticación de SignalR para obtener una clave de acceso temporal.
- La entidad de seguridad firma un token de cliente con la clave de acceso temporal para las conexiones de cliente durante la negociación.
- 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
Para obtener información sobre cómo crear una aplicación de Azure y usar la autorización de Microsoft Entra, consulte Autorización de solicitudes a recursos de Azure SignalR Service con aplicaciones de Microsoft Entra.
Para obtener información sobre cómo configurar una identidad administrada y usar la autorización de Microsoft Entra, consulte Autorización de solicitudes a recursos de Azure SignalR Service con identidades administradas de Microsoft Entra.
Para más información sobre los roles y las asignaciones de roles, consulte ¿Qué es el control de acceso basado en roles de Azure (RBAC de Azure)?.
Para obtener información sobre cómo crear roles personalizados, consulte Pasos para crear un rol personalizado.
Para obtener información sobre cómo usar solo la autenticación de Microsoft Entra, consulte Deshabilitar la autenticación local.