Compartir a través de


Guía de Microsoft Entra ID para desarrolladores de software independientes

Microsoft Entra ID es un servicio de administración de identidades y acceso basado en la nube que permite a los empleados acceder a los recursos. Los analistas del sector reconocen de forma coherente a Microsoft Entra ID como líder. Ha sido siete veces líder en el Cuadrante mágico de Gartner para la administración de acceso. KuppingerCole clasifica a Microsoft Entra ID como positivo en todas las dimensiones de la administración de acceso. Frost & Sullivan llamó a Microsoft la Compañía del año 2022 para la industria global de Administración de identidades y acceso. Leer historias sobre algunas de las más de 300 000 organizaciones que usan Microsoft Entra ID.

Este artículo es el primero de una serie sobre cómo los desarrolladores de software independientes (ISV) pueden compilar y optimizar aplicaciones para Microsoft Entra ID. En esta serie, puede obtener más información sobre estos temas:

Desarrollo con la plataforma de identidad de Microsoft

Las aplicaciones son el núcleo de Microsoft Entra ID. Cuando un usuario accede a un recurso, accede a ese recurso con una aplicación. La Plataforma de identidad de Microsoft consta de las herramientas y los servicios que permiten a los desarrolladores la creación en Microsoft Entra ID. La plataforma de identidad de Microsoft comienza con Microsoft Entra ID, el servicio en la nube que proporciona operaciones como el inicio de sesión, el cierre de sesión y el registro de aplicaciones que requiere una aplicación. La plataforma de identidad de Microsoft incorpora Bibliotecas de autenticación de Microsoft de código abierto (MSAL) en varios lenguajes y marcos y Microsoft Graph que proporciona las API para acceder a datos y operaciones en Microsoft Entra ID.

Para los desarrolladores, la plataforma de identidad de Microsoft incluye las siguientes características.

  • Autentique a un usuario, autorice una aplicación y genere tokens de API.
  • Simplifique la integración de características de seguridad directamente con la Biblioteca de autenticación de Microsoft (MSAL) o a través de una API de nivel superior, como Microsoft.Identity.Web o Azure.Identity.
  • En lugar de implementar OAuth 2.0 desde cero, use las MSAL para abstraer la complejidad con API sólidas que eliminan el trabajo del desarrollador.
  • Asegúrese de que las aplicaciones siguen los procedimientos recomendados para la seguridad en cumplimiento de los estándares y protocolos del sector, como OAuth 2.0.
  • Unifique los casos de autenticación entre aplicaciones y experiencias con compatibilidad con el inicio de sesión único (SSO).
  • Optimice la integración de identidades sociales con Microsoft External ID.
  • Proteja los datos y los recursos con código de asociación mínimo y compatibilidad nativa con funcionalidades de Microsoft Entra ID, como Acceso condicional (CA), Evaluación continua de acceso (CAE), Protección de id. de Microsoft Entra y administración de dispositivos.
  • Cree aplicaciones que protejan de forma segura los tokens de autenticación al tiempo que garantizan el cumplimiento de directivas y dispositivos. Confíe en la compatibilidad con la autenticación con agentes modernos, como Microsoft Authenticator o componentes de sistema operativo integrados, como el Administrador de cuentas web (WAM) en Windows.

Integración de aplicaciones con Microsoft Entra ID

Las aplicaciones que se integran con las identidades de usuario, servicio o grupo de Microsoft Entra ID interactúan con un inquilino de Microsoft Entra ID. Un inquilino es una instancia dedicada de Microsoft Entra ID que normalmente representa una organización o un grupo dentro de una empresa mayor. El inquilino contiene el directorio de la organización, almacena objetos como cuentas profesionales o educativas o cuentas asociadas invitadas. También se almacenan grupos, aplicaciones, dispositivos y otros objetos. El inquilino proporciona los puntos de conexión web que las aplicaciones usan para realizar operaciones, como la autenticación.

Una aplicación realiza solicitudes a un punto de conexión de inquilino para obtener tokens que identifican a los usuarios o a las API de recursos que pueden usar para autorizar el acceso a los recursos. Las identidades de aplicación dentro de Microsoft Entra ID permiten a las aplicaciones solicitar tokens de un inquilino de Microsoft Entra ID al tiempo que proporcionan a los usuarios el nivel correcto de contexto sobre quién intenta autenticarlos.

Aunque la mayoría de las empresas solo requieren un inquilino de Microsoft Entra ID, los escenarios pueden requerir que las organizaciones tengan varios inquilinos para cumplir sus objetivos empresariales. Una gran empresa puede incluir varias unidades de negocio independientes que podrían requerir coordinación y colaboración en toda la empresa. Las ciudades de una región o escuelas de un distrito pueden tener requisitos similares. En estos escenarios, cada unidad podría tener su propio inquilino con su propia configuración y directivas. Dado que la nube de Microsoft Entra ID hospeda inquilinos, las organizaciones pueden configurar la colaboración entre inquilinos con una fricción mínima.

Microsoft Entra ID admite lo siguiente entre una amplia gama de protocolos.

  • OAuth 2.0 es el estándar del sector para la autorización. Las aplicaciones solicitan un token de acceso con el protocolo OAuth 2.0 para obtener autorización para que una aplicación acceda a un recurso protegido.
  • OpenID Connect (OIDC) es un estándar de autenticación interoperable basado en OAuth 2.0. Las aplicaciones solicitan un token de identificador con el protocolo OIDC para autenticar al usuario actual.
  • Lenguaje de Marcado para Confirmaciones de Seguridad (SAML) 2.0 es un estándar de autenticación. Las aplicaciones solicitan una aserción de SAML, también denominada token SAML, de Microsoft Entra ID para intercambiar datos de autenticación y autorización entre una aplicación y Microsoft Entra ID. Las aplicaciones usan SAML para autenticar al usuario actual.
  • System for Cross-Domain Identity Management (SCIM) no es para la autenticación y autorización. SCIM es un protocolo de aprovisionamiento que automatiza la sincronización de información de usuarios y grupos entre Microsoft Entra ID y las aplicaciones de conexión. La sincronización aprovisiona usuarios y grupos en una aplicación.

Las operaciones principales que realizan las aplicaciones con Microsoft Entra ID solicitan y procesan tokens. En el pasado, hacer que el usuario se identifique con un nombre de usuario y una contraseña a menudo eran suficientes para un proveedor de identidades, como Microsoft Entra ID, para emitir un token a una aplicación. Este token respondió a la pregunta"¿ Quién es el usuario y a qué puede acceder la aplicación?" En la actualidad, un enfoque más seguro para comprobar las cuentas de identidad para obtener más señales es:

  • ¿Quién es el usuario?
  • ¿A qué puede acceder la aplicación?
    • ¿Desde qué dispositivo?
    • ¿Con qué fuerza de credenciales?
    • ¿Desde qué ubicaciones de red?

Los clientes de Microsoft Entra ID pueden usar características como Acceso condicional para determinar qué preguntas o condiciones desean evaluar para garantizar el acceso seguro a los recursos.

Los desarrolladores que compilan aplicaciones que requieren el control de identidades de usuario no necesitan escribir código para tener en cuenta esta complejidad en la emisión de tokens. Las funcionalidades de MSAL integradas permiten el procesamiento de solicitudes de autenticación. Con el Acceso condicional habilitado, cuando una aplicación solicita un token, Microsoft Entra ID garantiza la aplicación de directivas. Comprueba las solicitudes en las directivas, como la ubicación del usuario (por ejemplo, si residen dentro de la red corporativa) o la evaluación de señales de riesgo para el usuario. La evaluación de riesgos del usuario puede requerir más interacción del usuario, como la autenticación multifactor (MFA). Una vez que Microsoft Entra ID comprueba el cumplimiento de las restricciones de directiva, emite un token. Cuando no se puede comprobar el cumplimiento, Microsoft Entra ID no emite un token a la aplicación y proporciona al usuario el contexto de por qué no puede acceder a un recurso.

Como las directivas de acceso condicional ahora son más sofisticadas. Hay un amplio conjunto de señales que determina si un usuario o servicio debe recibir un token. Por ejemplo, puede ser importante determinar si un dispositivo móvil usa Administración de aplicaciones móviles (MAM), si Intune administra un equipo Windows desde una aplicación de escritorio. O bien, es posible que tenga que proteger los tokens mediante el enlace a un dispositivo de origen de una solicitud. Esta diligencia ayuda a garantizar el cumplimiento y la seguridad con una fricción mínima al desarrollador. Las bibliotecas de Microsoft ofrecen el scaffolding necesario a la vez que mantienen la flexibilidad para responder a requisitos de directiva específicos.

Autenticación y autorización con Microsoft Entra ID

Microsoft Entra ID admite flujos de autenticación y autorización dentro de los exploradores para proteger los recursos basados en web (como sitios web y API) y en plataformas cliente como Windows, macOS, Linux, iOS y Android. Los proveedores de tecnología de todo el ecosistema interactúan con Microsoft para garantizar que los clientes, sus organizaciones y asociados tengan experiencias sin problemas de control de credenciales. Microsoft Edge funciona directamente con Microsoft Entra ID para admitir el inicio de sesión único en todo el dispositivo para autenticar a los usuarios en sus dispositivos Windows. Google Chrome (versión 111) y Firefox (versión 91) tienen esta funcionalidad. Las aplicaciones web que usan identidades de Microsoft Entra ID usan automáticamente estas características en sus aplicaciones basadas en explorador para ofrecer una experiencia de inicio de sesión sin problemas para los clientes.

Para permitir que las aplicaciones nativas proporcionen esta experiencia unificada de SSO, Microsoft Entra introdujo agentes de autenticación, aplicaciones que se ejecutan en el dispositivo de un usuario para administrar protocolos de enlace de autenticación y mantener tokens para cuentas conectadas. En la tabla siguiente se enumeran los agentes de autenticación para sistemas operativos comunes.

Sistema operativo Agente de autenticación
iOS Aplicación Microsoft Authenticator
Android Aplicación Microsoft Authenticator o aplicación Portal de empresa de Intune
Windows Administrador de cuentas web componente de sistema operativo integrado disponible en Windows 10, Windows Server 2019 y versiones posteriores, Windows 11

Con los agentes de autenticación, los desarrolladores de aplicaciones nativas pueden usar nuevas funcionalidades de Microsoft Entra ID, como directivas de acceso condicional basadas en dispositivos, sin tener que volver a escribir código a medida que las nuevas características estén disponibles en la nube. Las aplicaciones que no usan un agente de autenticación pueden ver la adopción limitada de aplicaciones por parte de los clientes de Microsoft Entra ID que requieren esas características.

Delegación de la administración de identidades y acceso a Microsoft Entra ID

Puede crear aplicaciones que deleguen la administración de identidades y acceso a Microsoft Entra ID mediante cualquier herramienta de desarrollador, biblioteca o marco que implemente OAuth 2.0, OIDC o SAML con las advertencias descritas anteriormente. Muchas implementaciones de OIDC con la Certificación OpenID para uno o varios perfiles de certificación, incluidos los perfiles de autenticación, requieren una configuración adicional mínima para trabajar con Microsoft Entra ID. Para facilitar el desarrollo de la plataforma de Microsoft Entra ID, varias bibliotecas optimizadas de Microsoft funcionan con servicios y funcionalidades de Microsoft.

  • Al compilar aplicaciones web, API u otras cargas de trabajo (como demonios o servicios en ASP.NET Core o ASP.NET), use Microsoft Identity Web.
  • Si se basa en Microsoft Azure, use las SDK de Azure que incluyan las bibliotecas cliente de Azure Identity.
  • Si no puede usar una de estas bibliotecas, use una MSAL para el entorno de desarrollo, tal como se muestra en la tabla siguiente.
Biblioteca Plataformas y marcos compatibles
MSAL para Android Android
MSAL Angular Aplicaciones de una sola página con los marcos de trabajo Angular y Angular.js
MSAL Objective-C iOS, iPadOS, macOS
MSAL Go Windows, macOS, Linux
Java de MSAL Windows, macOS, Linux
MSAL.js Marcos de trabajo JavaScript/TypeScript, como Vue.js, Ember.js, o Durandal.js
MSAL.NET .NET, .NET Framework, Xamarin Android, Xamarin iOS
MSAL Node Aplicaciones web con Express, aplicaciones de escritorio con Electron y aplicaciones de consola multiplataforma
MSAL Python Windows, macOS, Linux
MSAL React Aplicaciones de una sola página con React y bibliotecas basadas en React (Next.js y Gatsby.js)

La familia de bibliotecas MSAL proporciona la funcionalidad principal de adquisición y almacenamiento en caché de tokens. Basado en los clientes MSAL, Microsoft Identity Web y Azure Identity, simplifican la adquisición de tokens con funcionalidades de biblioteca de autenticación.

Siempre que sea posible, recomendamos a los ISV compilar en MSAL o una biblioteca basada en MSAL. MSAL admite la autenticación asincrónica, escenarios de Acceso condicional, protección de tokens, Directivas de protección de aplicaciones de Microsoft Intune y Administración de aplicaciones móviles, Evaluación continua de acceso de Microsoft, etc.

En todas las plataformas disponibles, el marco de autenticación MSAL unificado se integra perfectamente con la plataforma de identidad de Microsoft para una autenticación de usuario coherente y segura. Dado que MSAL abstrae la complejidad en torno a la renovación proactiva de tokens, el almacenamiento en caché y la revocación, los desarrolladores pueden asegurarse de que los flujos de autenticación sean seguros, sólidos y confiables.

Acceso a otros recursos

A menudo, las aplicaciones necesitan más que la autenticación y autorización (como el acceso a los datos de directorio del inquilino). El acceso puede incluir la obtención de atributos del usuario, los grupos, los miembros del grupo, las aplicaciones, la gobernanza y la protección de identidades.

Microsoft Graph proporciona acceso a la identidad y acceso del inquilino, los usuarios, los grupos y las aplicaciones. Microsoft Graph es la puerta de enlace a los datos y la inteligencia en Microsoft 365. Puede usar su modelo de programación unificado para acceder a la gran cantidad de datos de Microsoft 365, Windows y Enterprise Mobility + Security (EMS).

Pasos siguientes