Uso de una identidad administrada
Este artículo le muestra cómo crear y usar una identidad administrada en Azure Web PubSub.
Importante
Azure Web PubSub solo admite una identidad administrada. Puede agregar o bien una identidad administrada por el sistema o una identidad administrada por el usuario.
Adición de una identidad asignada por el sistema
Para establecer una identidad administrada en Azure Portal, cree una instancia de Azure Web PubSub y, después, active la característica.
En Azure Portal, cree un recurso Web PubSub. Vaya al recurso en el portal.
En el menú de la izquierda, seleccione Identidad.
Seleccione la pestaña Sistema asignado y después establezca Estado en Activado. Seleccione Guardar.
Adición de una identidad asignada por el usuario
Para crear un recurso de Web PubSub usando una identidad administrada por el usuario, cree la identidad y después agregue el identificador del recurso de la identidad a su servicio.
Cree un recurso de identidad administrada asignada por el usuario.
En Azure Portal, cree un recurso Web PubSub. Vaya al recurso en el portal.
En el menú de la izquierda, seleccione Identidad.
Seleccione la pestaña Usuario asignado y, a continuación, seleccione Agregar.
Busque la identidad que creó y selecciónela. Seleccione Agregar.
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 Web PubSub envía eventos a un controlador de eventos, utiliza 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.
Configuración de la autenticación de identidad administrada para un controlador de eventos
Agregue una identidad asignada por el sistema o una asignada por el usuario.
Vaya a Configurar centro y agregue o edite un controlador de eventos ascendente.
En Autenticación, seleccione Usar identidad administrada, y después seleccione la casilla Especificar el público del token emitido. La audiencia se convierte en la notificación
aud
en el token de acceso. La notificación puede formar parte de la validación del controlador de eventos.Para la autenticación, puede elegir una de estas opciones:
- Usar una aplicación existente de Microsoft Entra. Se usa el identificador de aplicación de la aplicación que elija.
- Usar el URI de identificación de la aplicación de la entidad de servicio.
Importante
Al usar un recurso vacío se adquiere realmente un destino de token para Microsoft Graph. Actualmente, Microsoft Graph habilita el cifrado de tokens, por lo que no es compatible que una aplicación autentique el token de otra forma que no sea con Microsoft Graph. Siempre debería crear una entidad de servicio que represente a su destino ascendente. Establezca el valor Id. de aplicación o URI de id. de aplicación para la entidad de servicio que ha creado.
Autenticación en una aplicación de Azure Functions
Puede establecer fácilmente la validación del acceso a una aplicación de funciones sin realizar cambios en el código.
En Azure Portal, vaya a la aplicación de funciones.
En el menú izquierdo, seleccione Autenticación.
Seleccione Agregar un proveedor de identidades.
En la pestaña Aspectos básicos, en 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 su recurso de Web PubSub y agregue una identidad administrada por el sistema o una identidad administrada por el usuario.
En el menú de la izquierda de su recurso de Web PubSub, seleccione Configuración.
Seleccione Editar para editar la configuración de su centro de control y, después, seleccione Editar para editar la configuración de su controlador de eventos. En Autenticación, seleccione Usar identidad administrada y marque la casilla Seleccionar de aplicaciones existentes. Seleccione la aplicación que creó.
Una vez establecidas estas configuraciones, la aplicación de funciones rechaza las solicitudes que no tienen un token de acceso en el encabezado.
Validación de un token de acceso
Si no está usando la característica Web Apps de Azure App Service 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. Los tokens de firma 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 nuestros ejemplos para encontrar uno escrito en el lenguaje que desea usar.
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 bibliotecas de autenticación de la plataforma de identidad de Microsoft.
Si el controlador de eventos hospeda en Azure Functions o Web Apps, una forma fácil es configurar el inicio de sesión de Microsoft Entra.
Uso de una identidad administrada para una referencia de almacén de claves
Web PubSub puede acceder a un almacén de claves para obtener un secreto mediante una identidad administrada.
Agregue una identidad asignada por el sistema o una identidad asignada por el usuario para Azure Web PubSub.
En el almacén de claves, conceda permisos de lectura de secretos para la identidad administrada usando directivas de acceso. Para más información, consulte Asignación de una directiva de acceso de Key Vault en Azure Portal.
Actualmente, esta característica se puede usar en el escenario siguiente:
- Use la sintaxis
{@Microsoft.KeyVault(SecretUri=<secret-identity>)}
para obtener secretos de un almacén de claves en la configuración de la plantilla URL del controlador de eventos.