Identidades administradas para el servicio Azure Web PubSub

En este artículo se muestra cómo crear una identidad administrada para el servicio Azure Web PubSub y cómo usarla.

Importante

El servicio Azure Web PubSub solo admite una identidad administrada. Esto significa que puede agregar una identidad asignada por el sistema o asignada por el usuario.

Adición de una identidad asignada por el sistema

Para configurar una identidad administrada en Azure Portal, primero tiene que crear una instancia del servicio Azure Web PubSub y después habilitar la característica.

  1. Cree una instancia del servicio Azure Web PubSub en el portal como lo haría habitualmente. Búsquela en el portal.

  2. Seleccione Identidad.

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

    Add a system-assigned identity in the portal

Adición de una identidad asignada por el usuario

La creación de una instancia del servicio Azure Web PubSub con una identidad asignada por el usuario requiere que se cree la identidad y luego se agregue su identificador de recurso al servicio.

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

  2. Cree una instancia del servicio Azure Web PubSub en el portal como lo haría habitualmente. Búsquela en el portal.

  3. Seleccione Identidad.

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

  5. Busque la identidad que creó anteriormente y selecciónela. Seleccione Agregar.

    Add a user-assigned identity in the portal

Uso de una identidad administrada en escenarios de eventos de cliente

Azure Web PubSub es un servicio totalmente administrado, por lo que no puede usar una identidad administrada para obtener tokens manualmente. En su lugar, cuando el servicio Azure Web PubSub envía eventos al controlador de eventos, usará la identidad administrada para obtener un token de acceso. Luego, el servicio establece el token de acceso en el encabezado Authorization de la solicitud HTTP.

Habilitación de la autenticación de identidades administradas en la configuración del controlador de eventos

  1. Agregue una identidad asignada por el sistema o una asignada por el usuario.

  2. Vaya a Configure Hub Configuración y agregue o edite un controlador de eventos ascendente.

    msi-setting

  3. En la sección Autenticación , seleccione Usar autenticación y active Especificar la audiencia del token emitido. La audiencia se convertirá en la aud notificación en el token de acceso obtenido, que se puede usar como parte de la validación en el controlador de eventos. Puede elegir una de las opciones siguientes:

    • Seleccione entre las aplicaciones existentes de Microsoft Entra. Se usará el identificador de la aplicación que elija.
    • Identificador 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. 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 funcionalidades integradas para validar los tokens de acceso. Puede examinar nuestros ejemplos para encontrar uno en el idioma que elija.

Proporcionamos bibliotecas y ejemplos de código que le muestran cómo controlar la validación de tokens. 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 autorización y los ejemplos de código de Microsoft Entra, consulte Plataforma de identidad de Microsoft bibliotecas de autenticación.

Especialmente, si el controlador de eventos hospeda en Azure Function o Web Apps, una manera fácil es configurar el inicio de sesión de Microsoft Entra.

Uso de una identidad administrada para la referencia de Key Vault

El servicio Web PubSub puede tener acceso a Key Vault para obtener el secreto mediante la identidad administrada.

  1. Agregue una identidad asignada por el sistema o una identidad asignada por el usuario para el servicio Web PubSub.

  2. 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, esta característica se puede usar en los escenarios siguientes:

  • Utilice la sintaxis {@Microsoft.KeyVault(SecretUri=<secret-identity>)} para obtener secretos de KeyVault en la configuración de la plantilla de dirección URL del controlador de eventos.

Pasos siguientes