Autorización del acceso a Azure SignalR Service mediante Microsoft Entra ID
Azure SignalR Service admite Microsoft Entra ID 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 e identidades asignadas por el usuario.
Microsoft Entra ID autentica la entidad de seguridad y devuelve un token de OAuth 2.0. El token sirve entonces para autorizar una solicitud en el recurso de Azure SignalR Service.
La autorización de solicitudes en Azure SignalR Service con Microsoft Entra ID proporciona mayor seguridad y facilidad de uso que la autorización de clave compartida. Se recomienda encarecidamente usar el identificador de Microsoft Entra ID 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 los siguientes consecuencias:
- El conjunto actual de claves de acceso se elimina permanentemente.
- Los tokens firmados mediante el conjunto actual de claves de acceso se deshabilitan.
Información general de Microsoft Entra ID
Cuando una entidad de seguridad intenta tener acceso 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 después devuelve un token de OAuth 2.0.
- El token se pasa como parte de una solicitud a Azure SignalR Service para autorizar la solicitud.
Autenticación del lado cliente mediante Microsoft Entra ID
Cuando usa una clave de acceso, esta se comparte entre el servidor de aplicaciones (o aplicación de funciones) y el recurso de Azure SignalR Service. Azure SignalR Service autentica la solicitud de conexión de cliente usando la clave compartida.
Cuando se usa el identificador de Microsoft Entra ID, 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 clientes. El flujo de trabajo contiene cuatro pasos:
- La entidad de seguridad necesita un token de OAuth 2.0 de Microsoft Entra ID para autenticarse.
- 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 este token para conectarse a los recursos de Azure SignalR Service.
La clave de acceso temporal expira en 90 minutos, Recomendamos obtener una nueva y rotar la antigua una vez cada 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 el RBAC de Azure. Azure SignalR Service define un conjunto de roles integrados de Azure que abarcan conjuntos comunes de permisos para acceder a recursos de Azure SignalR Service. También puede definir roles personalizados para el acceso a recursos de Azure SignalR Service.
Ámbito del recurso
Antes de asignar un rol del RBAC de Azure a una entidad de seguridad, puede que deba determinar el ámbito de acceso que debería tener la entidad de seguridad. Recomendamos que conceda únicamente el ámbito más restringido posible. Los roles de Azure RBAC definidos en un ámbito más amplio los heredan los recursos que están debajo de ellos.
Puede limitar el acceso a los recursos de Azure SignalR Service en los niveles siguientes, empezando por el ámbito más reducido.
Á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 recursos de Azure SignalR Service
Role | Descripción | Caso de uso |
---|---|---|
Servidor de aplicaciones SignalR | Acceda a la API de creación de conexiones de WebSocket y a las API de autenticación. | Normalmente se usa para un servidor de aplicaciones. |
Propietario de SignalR Service | Acceso total a todas las API del plano de datos, incluidas las API de REST, la API de creación de conexiones de WebSocket y las API de autenticación. | Úselo en el modo sin servidor para admitir la autorización con Microsoft Entra ID, ya que requiere permisos de la API de REST y de la API de autenticación. |
Propietario de la API REST de SignalR | Acceso total a las API REST del plano de datos. | Suele usarse para escribir una herramienta que administre las conexiones y los grupos, pero que no realice conexiones ni llamadas 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. | Suele usarse para escribir una herramienta de supervisión que llama solo a las API de REST de solo lectura del plano de datos de Azure SignalR Service. |
Pasos siguientes
Para aprender a crear una aplicación de Azure y usar la autorización de Microsoft Entra, consulte Autorizar solicitudes a recursos de Azure SignalR Service con aplicaciones de Microsoft Entra.
Para aprender a configurar una identidad administrada y usar la autorización de Microsoft Entra, consulte Autorizar solicitudes a recursos de Azure SignalR Service con identidades administradas de Microsoft Entra.
Para saber más sobre roles y asignación de roles, consulte ¿Qué es el control de acceso basado en rol de Azure (Azure RBAC)?
Para saber 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.