Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La autenticación con intermediación recopila credenciales de usuario mediante el agente de autenticación del sistema para autenticar una aplicación. Un agente de autenticación del sistema es una aplicación que se ejecuta en la máquina de un usuario que administra los protocolos de enlace de autenticación y el mantenimiento de tokens para todas las cuentas conectadas.
La autenticación intermediada ofrece las siguientes ventajas:
- Habilita el inicio de sesión único (SSO): Permite a las aplicaciones simplificar la forma en que los usuarios se autentican con Microsoft Entra ID y proteger los tokens de actualización de Microsoft Entra ID frente a la exfiltración y el uso indebido.
- Seguridad mejorada: Muchas mejoras de seguridad se incorporan con el broker, sin necesidad de actualizar la lógica de la aplicación.
- Soporte mejorado para funciones: Con la ayuda del intermediario, los desarrolladores pueden acceder a amplias capacidades del sistema operativo y de los servicios.
- Integración del sistema: Aplicaciones que usan el broker y se integran de forma nativa con el selector de cuentas incorporado, permitiendo al usuario seleccionar rápidamente una cuenta existente en lugar de volver a introducir las mismas credenciales una y otra vez.
- Protección de tokens: Garantiza que los tokens de actualización están enlazados al dispositivo y permiten a las aplicaciones adquirir tokens de acceso enlazados al dispositivo. Consulte Protección de tokens.
Windows proporciona un agente de autenticación denominado Administrador de cuentas web (WAM). WAM permite a los proveedores de identidades, como Microsoft Entra ID, conectar de forma nativa al sistema operativo y proporcionar servicios de inicio de sesión seguros a las aplicaciones. La autenticación mediada permite que la aplicación realice todas las operaciones permitidas por las credenciales de inicio de sesión interactivo.
Se admiten cuentas personales de Microsoft y cuentas profesionales o educativas. En las versiones compatibles de Windows, la interfaz de usuario predeterminada basada en explorador se reemplaza por una experiencia de autenticación más fluida, similar a las aplicaciones de Windows integradas.
Linux usa el inicio de sesión único de Microsoft para Linux como agente de autenticación.
Configurar la aplicación para la autenticación con agente
Para habilitar la autenticación mediante agente en su aplicación, siga estos pasos:
En Azure Portal, vaya a Microsoft Entra ID y seleccione Registros de aplicaciones en el menú izquierdo.
Seleccione el registro de la aplicación y, a continuación, seleccione Autenticación.
Agregue el URI de redireccionamiento adecuado al registro de la aplicación a través de una configuración de plataforma:
En Configuraciones de plataforma, seleccione + Agregar una plataforma.
En Configurar plataformas, seleccione el icono del tipo de aplicación (plataforma) para configurar sus opciones, como aplicaciones móviles y de escritorio.
En URI de redirección personalizadas, introduzca el siguiente URI de redirección para su plataforma:
Plataforma URI de redirección Windows 10+ o WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}macOS msauth.com.msauth.unsignedapp://authpara aplicaciones no firmadas
msauth.{bundle_id}://authpara aplicaciones firmadasLinux https://login.microsoftonline.com/common/oauth2/nativeclientReemplace
{your_client_id}o{bundle_id}por el identificador de aplicación (cliente) del panel Información general del registro de la aplicación.Seleccione Configurar.
Para más información, consulte Adición de un URI de redirección a un registro de aplicación.
De nuevo en el panel Autenticación , en Configuración avanzada, seleccione Sí para Permitir flujos de cliente públicos.
Seleccione Guardar para aplicar los cambios.
Para autorizar la aplicación para recursos específicos, vaya al recurso en cuestión, seleccione Permisos de API y habilite Microsoft Graph y otros recursos a los que quiera acceder.
Importante
También debe ser el administrador del inquilino para conceder el consentimiento a la aplicación al iniciar sesión por primera vez.
Asignación de roles
Para ejecutar correctamente el código de la aplicación con autenticación mediada, conceda permisos a su cuenta de usuario mediante el control de acceso basado en roles (RBAC) de Azure. Asigne un rol adecuado a su cuenta de usuario para el servicio de Azure correspondiente. Por ejemplo:
- Azure Blob Storage: asigne el rol Colaborador de datos de la cuenta de almacenamiento.
- Azure Key Vault: asigne el rol Responsable de secretos de Key Vault.
Si se especifica una aplicación, debe tener permisos de API establecidos para user_impersonation Acceso a Azure Storage (paso 6 de la sección anterior). Este permiso de API permite que la aplicación acceda a Azure Storage en nombre del usuario que inició sesión después de conceder el consentimiento durante el inicio de sesión.
Implementación del código
La biblioteca de identidades de Azure admite la autenticación intermediada mediante InteractiveBrowserCredential. Por ejemplo, para usar InteractiveBrowserCredential en una aplicación de consola de Node.js para autenticarse en Azure Key Vault con SecretClient, siga estos pasos:
Instale los paquetes @azure/identity y @azure/identity-broker :
npm install @azure/identity @azure/identity-brokerCree una instancia de InteractiveBrowserCredential mediante opciones de agente y registre el complemento de agente nativo:
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity"; import { nativeBrokerPlugin } from "@azure/identity-broker"; // Register the native broker plugin for brokered authentication useIdentityPlugin(nativeBrokerPlugin); // Use InteractiveBrowserCredential with broker for interactive or silent authentication // On Windows: Uses Windows Authentication Manager (WAM) - you'll be prompted to sign in // On macOS: Opens a browser window for authentication, since the broker flow isn't currently supported. // On Linux: Uses Microsoft Single Sign-on (SSO) for Linux. const credential = new InteractiveBrowserCredential({ brokerOptions: { enabled: true, useDefaultBrokerAccount: true, // For Node.js console apps, we need to provide an empty buffer for parentWindowHandle parentWindowHandle: new Uint8Array(0), }, });
Sugerencia
Vea el código de aplicación de ejemplo completo en el repositorio de GitHub del SDK de Azure para JavaScript.
En el ejemplo anterior, la propiedad useDefaultBrokerAccount se establece en true, lo que habilita un flujo de autenticación silenciosa e intermediada con la cuenta predeterminada del sistema. De este modo, el usuario no tiene que seleccionar repetidamente la misma cuenta. Si la autenticación silenciosa con agente falla, o useDefaultBrokerAccount se establece en false, InteractiveBrowserCredential recurre a la autenticación interactiva con agente.
La siguiente captura de pantalla muestra la experiencia alternativa de autenticación interactiva y mediada:
En el siguiente vídeo se muestra la experiencia alternativa de autenticación interactiva mediada:
Contenido relacionado
- Autenticar aplicaciones JavaScript en los servicios de Azure mediante la biblioteca Azure Identity
- Autenticación de aplicaciones JavaScript en servicios de Azure durante el desarrollo local mediante entidades de servicio
- Biblioteca de identidades de Azure para JavaScript
- Biblioteca de Azure Identity Broker para JavaScript