Identidades administradas para Azure SignalR Service

En Azure SignalR Service, puede usar una identidad administrada de Microsoft Entra ID para:

  • Obtener tokens de acceso.
  • Acceso a secretos en 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:

  1. En Azure Portal, vaya a la instancia de Azure SignalR Service.

  2. Seleccione Identidad.

  3. En la pestaña Asignado por el sistema, cambie Estado a Activado.

    Screenshot that shows selections for adding a system-assigned identity in the portal.

  4. Seleccione Guardar.

  5. Seleccione 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.

  1. Cree un recurso de identidad administrada asignada por el usuario según estas instrucciones.

  2. En Azure Portal, vaya a la instancia de Azure SignalR Service.

  3. Seleccione Identidad.

  4. En la pestaña Usuario asignado, seleccione Agregar.

  5. En el menú desplegable Identidades administradas asignadas por el usuario, seleccione la identidad.

    Screenshot that shows selections for adding a user-assigned identity in the portal.

  6. 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

Después de agregar 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 del punto de conexión ascendente:

  1. En Azure Portal, vaya a la instancia de Azure SignalR Service.

  2. Seleccione Configuración en el menú.

  3. Seleccione el modo de servicio sin servidor.

  4. En el cuadro de texto Agregar un patrón de dirección URL ascendente, escriba el patrón de dirección URL del punto de conexión ascendente. Consulte Configuración de la plantilla de dirección URL.

  5. Seleccione Agregar una configuración ascendente y, a continuación, seleccione cualquier asterisco.

    Screenshot that shows Azure SignalR Service settings for adding an upstream URL pattern.

  6. En Ascendente Configuración, configure los valores del punto de conexión ascendente.

    Screenshot of upstream settings for Azure SignalR Service.

  7. 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 aud notificación 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 tener uno de los siguientes formatos:

    • Id. de aplicación (cliente) de la entidad de servicio.
    • URI del identificador de aplicación de la entidad de servicio.

    Importante

    El uso de un recurso vacío adquiere un token de destino 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 identificador de aplicación o el URI del 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:

  1. En Azure Portal, vaya a la aplicación de funciones.

  2. Seleccione Autenticar desde el menú.

  3. Seleccione Agregar el proveedor de identidades.

  4. En la pestaña Aspectos básicos , en la lista desplegable Proveedor de identidades, seleccione Microsoft.

  5. En Acción que se va a realizar cuando la solicitud no está autenticada, seleccione Iniciar sesión con el identificador de Entra de Microsoft.

  6. 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 Id. de Microsoft Entra.

    Screenshot that shows basic information for adding an identity provider.

  7. Vaya a Azure SignalR Service y siga los pasos para agregar una identidad asignada por el sistema o una identidad asignada por el usuario.

  8. En Azure SignalR Service, vaya a Configuración ascendente y, después, seleccione Usar identidad administrada y Seleccione entre las aplicaciones existentes. Seleccione la aplicación que creó anteriormente.

Después de configurar estas opciones, 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. Para obtener un ejemplo, consulte la versión independiente del inquilino del documento.

El middleware de Microsoft Entra tiene funcionalidades integradas para validar los tokens de acceso. Puede examinar los Plataforma de identidad de Microsoft ejemplos de código para buscar uno en el idioma 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 Plataforma de identidad de Microsoft bibliotecas de autenticación.

Uso de una identidad administrada para una referencia de Key Vault

Azure SignalR Service puede acceder a Key Vault para obtener secretos mediante la identidad administrada.

  1. Agregue una identidad asignada por el sistema o una identidad asignada por el usuario a la instancia de Azure SignalR Service.
  2. Conceda permiso de lectura de secretos 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.

Pasos siguientes