Identidades administradas para Azure SignalR Service
En Azure SignalR Service, puede usar una identidad administrada de Microsoft Entra ID para:
- Obtener tokens de acceso.
- Acceder a los secretos de una instancia de Azure Key Vault.
El servicio solo admite una identidad administrada. Puede crear una identidad asignada por el sistema o una identidad asignada por el usuario. Una identidad asignada por el sistema se dedica a la instancia de Azure SignalR Service y se elimina al eliminar la instancia. Una identidad asignada por el usuario se administra independientemente del recurso de Azure SignalR Service.
En este artículo se explica cómo crear una identidad administrada para Azure SignalR Service y cómo usarla en escenarios sin servidor.
Requisitos previos
Para usar una identidad administrada, debe tener los siguientes elementos:
- Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- Un recurso de Azure SignalR Service.
- Recursos ascendentes a los que desea acceder, como un recurso de Azure Key Vault.
- Una aplicación de Azure Functions (aplicación de funciones).
Adición de una identidad administrada a Azure SignalR Service
Puede agregar una identidad administrada a Azure SignalR Service en Azure Portal o la CLI de Azure. En este artículo se muestra cómo agregar una identidad administrada a Azure SignalR Service en Azure Portal.
Adición de una identidad asignada por el sistema
Para agregar una identidad administrada asignada por el sistema a la instancia de Azure SignalR Service:
En Azure Portal, vaya a la instancia de Azure SignalR Service.
Seleccione Identidad.
En la pestaña Asignado por el sistema, cambie Estado a Activado.
Seleccione Guardar.
SeleccioneSí para confirmar el cambio.
Adición de una identidad asignada por el usuario
Para agregar una identidad asignada por el usuario a la instancia de Azure SignalR Service, debe crear la identidad y, a continuación, agregarla al servicio.
Cree un recurso de identidad administrada asignada por el usuario según estas instrucciones.
En Azure Portal, vaya a la instancia de Azure SignalR Service.
Seleccione Identidad.
En la pestaña Usuario asignado, seleccione Agregar.
En el menú desplegable Identidades administradas asignadas por el usuario, seleccione la identidad.
Seleccione Agregar.
Uso de una identidad administrada en escenarios sin servidor
Azure SignalR Service es un servicio totalmente administrado. Usa una identidad administrada para obtener un token de acceso. En los escenarios sin servidor, el servicio agrega el token de acceso en un encabezado Authorization
de una solicitud ascendente.
Habilitar la autenticación de la identidad administrada en la configuración ascendente
Cuando haya agregado una identidad asignada por el sistema o una identidad asignada por el usuario a la instancia de Azure SignalR Service, puede habilitar la autenticación de identidad administrada en la configuración de punto de conexión ascendente:
En Azure Portal, vaya a la instancia de Azure SignalR Service.
Seleccione Configuración en el menú.
Seleccione el modo de servicio sin servidor.
Escriba el patrón de dirección URL de punto de conexión ascendente en el cuadro de texto Agregar un patrón de dirección URL ascendente. Consulte Configuración de plantillas de dirección URL.
Seleccione Agregar una configuración ascendente y, a continuación, seleccione cualquier asterisco.
En Configuración ascendente, configure los valores del punto de conexión ascendente.
En la configuración de autenticación de identidad administrada, para Audiencia en el token emitido, puede especificar el recurso de destino. El recurso se convertirá en una notificación
aud
en el token de acceso obtenido, que se puede usar como parte de la validación en los puntos de conexión ascendentes. El recurso puede estar en uno de los formatos siguientes:- Identificador de la aplicación (cliente) de la entidad de servicio.
- URI del identificador de la aplicación de la entidad de servicio.
Importante
El uso de un recurso vacío realmente adquiere un token destinado a Microsoft Graph. Como hoy, Microsoft Graph habilita el cifrado de tokens para que no esté disponible para que la aplicación autentique el token que no sea Microsoft Graph. En la práctica habitual, siempre debe crear una entidad de servicio para representar el destino ascendente. Y establezca el id. de aplicación o el URI identificador de aplicación de la entidad de servicio que ha creado.
Autenticación en una aplicación de funciones
Puede establecer fácilmente la validación de acceso para una aplicación de funciones sin cambios en el código mediante Azure Portal:
En Azure Portal, vaya a la aplicación de funciones.
Seleccione Autenticar desde el menú.
Seleccione Agregar el proveedor de identidades.
En la pestaña Aspectos básicos, en la lista desplegable proveedor de identidades, seleccione Microsoft.
En Acción necesaria cuando la solicitud no está autenticada, seleccione Iniciar sesión con Microsoft Entra ID.
La opción para crear un nuevo registro está seleccionada de forma predeterminada. Puede cambiar el nombre del registro. Para obtener más información sobre cómo habilitar un proveedor de Microsoft Entra, consulte Configuración de la aplicación de App Service o Azure Functions para usar un inicio de sesión de Microsoft Entra ID.
Vaya a Azure SignalR Service y siga los pasos para agregar una identidad asignada por el sistema o una asignada por el usuario.
En Azure SignalR Service, vaya a Configuración ascendente y, después, seleccione Usar identidad administrada y Seleccionar una de las aplicaciones existentes. Seleccione la aplicación que creó anteriormente.
Después de configurar estos ajustes, la aplicación de funciones rechazará las solicitudes sin un token de acceso en el encabezado.
Validación de los tokens de acceso
Si no usa WebApp o Azure Functions, también puede validar el token.
El token del encabezado Authorization
es un token de acceso plataforma de identidades de Microsoft.
Para validar los tokens de acceso, la aplicación también debe validar la audiencia y los tokens de firmas. Estos tokens deben validarse con los valores del documento de detección de OpenID. Por ejemplo, fijémonos en la versión independiente del inquilino del documento.
El middleware de Microsoft Entra tiene capacidades integradas para validar los tokens de acceso. Puede examinar los ejemplos de código de la plataforma de identidad de Microsoft para encontrar uno en el lenguaje que prefiera.
Las bibliotecas y ejemplos de código que le muestran cómo controlar la validación de tokens están disponibles. También hay varias bibliotecas de asociados de código abierto disponibles para la validación de JSON Web Token (JWT). Al menos hay una opción para casi cualquier plataforma y lenguaje. Para obtener más información sobre las bibliotecas de autenticación y los ejemplos de código de Microsoft Entra, consulte bibliotecas de autenticación de la plataforma de identidad de Microsoft.
Uso de una identidad administrada para la referencia de Key Vault
Azure SignalR Service puede tener acceso a Key Vault para obtener el secreto mediante la identidad administrada.
- Agregue una identidad asignada por el sistema o una identidad asignada por el usuario para la instancia de Azure SignalR Service.
- Conceda el permiso de lectura de secreto para la identidad administrada en las directivas de acceso de Key Vault. Consulte Asignación de una directiva de acceso de Key Vault mediante Azure Portal.
Actualmente, puede usar esta característica para hacer referencia a un secreto en el patrón de dirección URL ascendente.