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.
Se aplica a:
Inquilinos externos (más información)
Este tutorial le guía a través de la integración de proveedores de protección contra el robo de cuentas de terceros (ATO) con autenticación mediante API nativa en el identificador externo de Microsoft Entra. Mediante el uso de un firewall de aplicaciones web (WAF) para interceptar las solicitudes de autenticación, puede implementar desafíos de MFA basados en riesgos durante el inicio de sesión para protegerse frente a ataques automatizados y riesgos de cuentas.
Important
La protección de ATO de terceros para la autenticación nativa se admite a través de un WAF situado delante de los puntos de conexión de la API de autenticación nativa. Esta es la arquitectura admitida para flujos de API nativas. Id. externa de Microsoft Entra no expone una configuración del tipo RiskPreventionProvider para la autenticación nativa; la evaluación del riesgo la realiza su proveedor externo a través del WAF, y Microsoft Entra aplica el requisito de MFA resultante mediante el contexto de autenticación de Acceso condicional. Los flujos de inicio de sesión delegados por el explorador (hospedados en web) no se tratan en este tutorial.
Nota:
En este tutorial se supone que realiza manualmente solicitudes HTTP sin procesar para ejecutar el flujo de autenticación. Cuando sea posible, use un SDK de autenticación compatible y compilado por Microsoft. Consulte Tutorial: Preparación de la aplicación móvil Android para la autenticación nativa y Tutorial: Preparación de la aplicación móvil iOS/macOS para la autenticación nativa.
Prerrequisitos
- Un inquilino externo. Si no tiene uno, cree un inquilino externo.
- Una aplicación registrada en el Centro de administración de Microsoft Entra con la siguiente configuración:
- El ID de aplicación (cliente) y el ID de directorio (tenant) han sido registrados.
- Consentimiento del administrador concedido.
- El cliente público y los flujos de autenticación nativos están habilitados.
- Flujo de usuario creado en el Centro de administración de Microsoft Entra y asociado a la aplicación.
- Un cliente de prueba registrado en su entorno para realizar pruebas de flujo de inicio de sesión.
- Una cuenta con al menos un rol Administrador de Extensibilidad de Autenticación o Administrador de Aplicaciones en el inquilino externo.
- Un dominio personalizado asociado al inquilino externo.
- Una cuenta de proveedor de protección de ATO de terceros (en este tutorial se usa LexisNexis Risk Solutions como ejemplo) con los siguientes valores de configuración:
- Credenciales de API de interrogación de sesión.
- Actualice el acceso a la API.
- Detalles de integración del SDK.
- Una cuenta de plataforma WAF (en este tutorial se usa Cloudflare) con privilegios de administrador de dominio.
Funcionamiento de la protección de ATO
Cuando un usuario intenta iniciar sesión con la autenticación nativa, la solicitud de autenticación fluye a través de un firewall de aplicaciones web (WAF) que intercepta el punto de conexión /token. Waf evalúa la solicitud con el proveedor de ATO de terceros mediante sus API de evaluación de riesgos. Si la solicitud se marca como sospechosa en función de la huella digital del dispositivo, el análisis de comportamiento u otras señales de riesgo, WAF desencadena una directiva de acceso condicional con un contexto de autenticación que requiere MFA. A continuación, el usuario debe completar el desafío de MFA antes de que continúe la autenticación.
Este enfoque permite aplicar protecciones basadas en riesgos durante el flujo de inicio de sesión nativo sin necesidad de redirecciones basadas en explorador, manteniendo la experiencia del usuario de la aplicación nativa al tiempo que protege frente a ataques de adquisición de cuentas.
Componentes de arquitectura
Esta integración implica varios componentes clave que funcionan conjuntamente para proporcionar autenticación basada en riesgos:
- Inquilino externo: Una instancia dedicada de Microsoft Entra ID para administrar identidades externas y acceso al cliente.
- Aplicación nativa: Una aplicación móvil o de escritorio que usa el identificador externo de Microsoft Entra (autenticación nativa) para registrar a los usuarios e iniciar sesión.
- API nativas: Los puntos de conexión de servicio que permiten a las aplicaciones móviles y de escritorio realizar flujos de registro, inicio de sesión y autoservicio de restablecimiento de contraseña (SSPR) en la aplicación, sin una redirección del explorador.
- Firewall de aplicaciones web (WAF): Firewall que inspecciona el tráfico HTTP entrante y saliente, intercepta las solicitudes de autenticación y coordina con el proveedor de terceros para la evaluación de riesgos.
- Proveedor de ATO de terceros: Proveedor de terceros que ofrece servicios de detección de bots, huellas digitales de dispositivos y evaluación de riesgos.
- Directiva de acceso condicional (CA): Directiva que especifica qué usuarios, aplicaciones y condiciones están en el ámbito y los controles necesarios para conceder acceso, desencadenados por el contexto de autenticación.
- Contexto de autenticación: Una característica de acceso condicional que permite aplicar directivas granulares a acciones o escenarios específicos en lugar de en el nivel de aplicación.
Pasos de configuración
- Cree un flujo de inicio de sesión para un cliente externo.
- Cree una configuración de WAF.
- Habilite MFA para el inquilino.
- Configure el contexto de autenticación de acceso condicional.
- Cree una directiva de acceso condicional mediante el contexto de autenticación.
- Actualice la capa de WAF para interceptar solicitudes de API específicas durante el flujo de inicio de sesión.
- Actualiza el flujo de llamada a la API de inicio de sesión de la aplicación nativa para introducir la autenticación multifactor.
Configuración del flujo de inicio de sesión básico para el inquilino externo
Si no tiene uno, cree un inquilino externo.
Si aún no lo ha hecho, registre una aplicación en el Centro de administración de Microsoft Entra. Asegúrese de:
- Registre el identificador de aplicación (cliente) y el identificador de directorio (inquilino) para su uso posterior.
- Conceda el consentimiento del administrador a la aplicación.
- Habilite el cliente público y los flujos de autenticación nativos.
Si aún no lo ha hecho, cree un flujo de usuario en el Centro de administración de Microsoft Entra. Al crear el flujo de usuario, tome nota de los atributos de usuario que configure según sea necesario. Estos atributos son los que Microsoft Entra espera que la aplicación envíe.
Asocie el registro de su aplicación con el flujo de usuarios.
Para el flujo de inicio de sesión, registre un usuario cliente que se usará para realizar pruebas. Alternativamente, puedes obtener este usuario de prueba después de ejecutar el flujo de registro.
Creación de una configuración de WAF
Se requiere una configuración de WAF para interceptar las solicitudes de autenticación para la evaluación de riesgos. En este tutorial se usa Cloudflare como ejemplo, pero puede usar cualquier WAF que admita la interceptación de solicitudes y la ejecución lógica personalizada.
Important
Un dominio personalizado debe estar asociado al inquilino externo antes de configurar el WAF. Sin un dominio personalizado, waf no puede interceptar las solicitudes de autenticación.
Para obtener instrucciones detalladas sobre la configuración de WAF de Cloudflare, consulte Configuración de WAF de Cloudflare con el identificador externo de Microsoft Entra.
Habilitación de la autenticación multifactor (MFA) para el inquilino
Para aplicar desafíos de autenticación multifactor (MFA) cuando se detectan intentos de inicio de sesión sospechosos, primero habilite MFA para el tenant. En este tutorial se usa OTP de correo electrónico como método de autenticación de segundo factor para los usuarios durante los inicios de sesión de riesgo.
Para obtener instrucciones detalladas sobre la configuración, consulte Habilitación de la autenticación multifactor de Microsoft Entra.
Nota:
Actualmente, la autenticación multifactor basada en riesgos para la autenticación nativa solo se puede aplicar para el procedimiento de inicio de sesión "correo electrónico con contraseña". El usuario debe tener el correo electrónico configurado como un método de autenticación seguro.
Configuración del contexto de autenticación de acceso condicional
El contexto de autenticación de acceso condicional (contexto de autenticación) permite aplicar directivas de acceso condicional en un nivel granular basado en acciones específicas o confidencialidad de datos, en lugar de simplemente en el nivel de aplicación. En este escenario, se utiliza el contexto de autenticación para desencadenar la autenticación multifactor (MFA) solo cuando el WAF determina que un intento de inicio de sesión se considera arriesgado, en lugar de requerir MFA para todos los intentos de inicio de sesión.
Inicie sesión en el Centro de administración de Microsoft Entra.
En la sección Acceso condicional , seleccione Contextos de autenticación y, a continuación, seleccione Nuevo contexto de autenticación.
Agregue un nombre (obligatorio) y una descripción (opcional).
Seleccione un identificador para el contexto de autenticación. Los identificadores van de c1 a c99. En este ejemplo, seleccione c3.
Selecciona Crear.
Sugerencia
El identificador de contexto de autenticación se usa en el punto de conexión /token para indicar que el usuario usa un contexto de autenticación específico. Anote el identificador que seleccionó (por ejemplo, c3), ya que lo necesitará al configurar el proceso de WAF.
Creación de una directiva de acceso condicional mediante el contexto de autenticación
Inicie sesión en el centro de administración de Microsoft Entra como mínimo con el perfil de Administrador de acceso condicional.
Vaya a Entra ID>Acceso condicional>Directivas, y luego seleccione + Nueva directiva.
Escriba un nombre para la directiva y seleccione el usuario o grupo de usuarios específico (o todos los usuarios) a los que afecta la directiva. El usuario debe tener correo electrónico como un método de autenticación seguro si desea aplicar MFA de correo electrónico con las API de autenticación nativas.
En Recursos de destino, seleccione Contexto de autenticación en la lista desplegable y, a continuación, seleccione el contexto de autenticación que creó anteriormente.
En Asignar, seleccione la acción que se debe aplicar al usuario (por ejemplo, requerir autenticación multifactor). Seleccione Seleccionar, establezca Habilitar directiva en Activado y, a continuación, seleccione Crear.
En este momento, tiene una directiva de acceso condicional configurada para requerir autenticación multifactor (MFA) para el usuario seleccionado cuando inicie sesión en cualquiera de las aplicaciones del inquilino.
Configurar trabajador de WAF para la evaluación de riesgos
En esta sección se describe cómo configurar el WAF para interceptar las solicitudes /token y realizar la evaluación de riesgos con el proveedor de ATO de terceros.
Actualización de la capa de WAF para interceptar solicitudes de API específicas durante el flujo de inicio de sesión
En este tutorial se usa un WAF de Cloudflare. Las instrucciones de configuración de WAF de Cloudflare se proporcionan en la sección Creación de una configuración de WAF de este tutorial.
Inicie sesión en la cuenta de Cloudflare para el dominio externo (mencionado en el paso Crear una configuración de WAF) asociado al inquilino externo con al menos privilegios de administrador de dominio .
Vaya a Rutas de trabajo y seleccione Crear aplicación.
Seleccione Iniciar con Hola mundo.
Una vez implementado el worker, seleccione la pestaña Configuración. Seleccione +Agregar en Dominios y Rutas.
Seleccione Ruta.
Captura de pantalla de la configuración de Dominios & Rutas con opciones de dominio personalizado y ruta para asignar un endpoint de Worker. Seleccione el dominio en Zona. Agregue el siguiente valor en el campo Ruta :
*<custom_domain>/<external_tenant_id(guid)>/oauth2/v2.0/token*Seleccione Fail Closed para el modo de fallo.
Seleccione Agregar ruta.
Si la configuración del WAF está configurada correctamente, el worker intercepta todas las solicitudes al endpoint /token del cliente externo. Configure la lógica del trabajador para determinar cuáles solicitudes debe desafiar MFA y para evaluar los riesgos con el proveedor externo de evaluación de riesgos.
Configuración de la lógica de trabajo para la evaluación de riesgos
Configure la lógica del trabajador en:
- Extraiga información relevante de la solicitud de autenticación (huella digital del dispositivo, dirección IP, datos de comportamiento).
- Envíe estos datos a la API de evaluación de riesgos del proveedor de ATO de terceros.
- Evalúe la puntuación de riesgo devuelta por el proveedor.
- Si la puntuación de riesgo supera el umbral, modifique la solicitud para incluir el contexto de autenticación que desencadena MFA.
- Reenvíe la solicitud al punto de conexión /token de Microsoft Entra.
Sugerencia
Para obtener un ejemplo completo de implementación de Android SDK mediante la protección ATO basada en WAF, consulte la aplicación de muestra de protección ATO de LexisNexis Risk Solutions.
Integración de proveedores de terceros
En este tutorial se usa LexisNexis Risk Solutions como proveedor de ATO de terceros. La API de consulta de sesión proporcionada por LexisNexis se usa para la evaluación de riesgos. Consulte la siguiente documentación de LexisNexis:
- API de consulta de sesión
- Actualizar API
- Documentación del SDK: Introducción al SDK de ThreatMetrix y preguntas más frecuentes
Actualización del flujo de llamadas de la API de inicio de sesión de la aplicación nativa para admitir MFA
El flujo de inicio de sesión estándar mediante puntos de conexión de API nativos se describe en la documentación de referencia de la API de autenticación nativa. Este flujo no invoca MFA de forma predeterminada. En esta sección se describe cómo actualizar la aplicación nativa para admitir MFA basado en riesgos.
En este tutorial, invocará MFA basado en riesgos mediante el contexto de autenticación configurado en los pasos anteriores.
Nota:
Actualmente, MFA basado en riesgos solo se puede aplicar para el flujo "Correo electrónico con contraseña".
El siguiente flujo usa waf como capa para evaluar el riesgo de las llamadas /token.
Flujo lógico para iniciar MFA
Invoque
/tokencon el contexto de autenticación definido para el flujo de MFA.El
/initiatepunto de conexión sigue usando unCredentialTokencomo objeto de estado para el flujo de autenticación de primer factor.El
/challengepunto de conexión sigue usando unCredentialTokencomo objeto de estado para el flujo de autenticación de primer factor.En
/token, el riesgo se evalúa en la capa de WAF. Si la capa WAF decide analizar la solicitud mediante un desafío, se realiza una nueva/tokenllamada con laAuthContextconfigurada para el flujo MFA ("c3" en este ejemplo).El
/introspectpunto de conexión lee los métodos deCredentialVerificationInputStatey los devuelve al usuario.El
/challengepunto de conexión elige el método de autenticación fuerte utilizado para el desafío, leyendo los métodos de autenticación segura deCredentialVerificationInputStatey comparándolos con los tipos de desafíos de la solicitud. Cuando se selecciona un método y se pasa a EC UCV para la operación de desafío, el identificador y el tipo del método seleccionado se escriben enCredentialVerificationIntermediateState.El
/tokenpunto de conexión lee el identificador y el tipo de método de autenticación segura deCredentialVerificationIntermediateStatey lo pasa a la operación de comprobación de UCV de EC, junto con el valor de oob de la solicitud. Cuando EC UCV se devuelve correctamente, el/tokencontrolador aparece y se combinaCredentialVerificationIntermediateStateenCredentialToken. Al hacerlo, FlowToken enStsRequestse actualiza con los detalles de MFA.StsRequestse ejecuta a través del pipeline para completar el proceso de autenticación.
Sugerencia
La aplicación nativa debe estar preparada para controlar el flujo de MFA cuando se desencadene. Asegúrese de que su aplicación pueda llamar al /introspect endpoint, manejar el OTP de correo electrónico para /challenge y enviar el valor de OTP en la llamada final /token.
Prueba del flujo de un extremo a otro
Una vez finalizada la configuración, valide la integración:
- Inicie sesión con un usuario de cliente de prueba desde un contexto de bajo riesgo (por ejemplo, un dispositivo conocido y una dirección IP). El inicio de sesión debería completarse sin una solicitud de MFA.
- Repita el inicio de sesión desde un contexto que el proveedor de ATO de terceros clasifique como arriesgado (por ejemplo, un nuevo dispositivo, una dirección IP anónima o un tráfico de bot simulado según las instrucciones de prueba del proveedor). El WAF debe activar el contexto de autenticación de Acceso condicional, y tu aplicación debe recibir un desafío que requiera MFA mediante OTP por correo electrónico antes de emitir los tokens.
- Confirme que la
/tokenrespuesta después de MFA contiene los tokens de acceso e identificador esperados, y que la telemetría de inicio de sesión en el panel del inquilino y del proveedor refleja la decisión de riesgo.
Si MFA no se desencadena según lo previsto, compruebe que el usuario tiene el correo electrónico configurado como un método de autenticación seguro, la directiva de acceso condicional tiene como destino el contexto de autenticación correcto (por ejemplo, c3) y el trabajo de WAF invoca la API de riesgo del proveedor y reenvía el contexto de autenticación en la /token llamada.
Pasos siguientes
Ahora que ha integrado la protección de ATO con autenticación nativa, explore estos recursos relacionados:
- Referencia de API de autenticación nativa
- Tutorial: Preparación de la aplicación móvil Android para la autenticación nativa
- Tutorial: Preparación de la aplicación móvil iOS/macOS para la autenticación nativa
- Configuración de directivas de acceso condicional
- Contexto de autenticación en el acceso condicional
- Configuración de dominios personalizados para inquilinos externos
- Habilitación de la autenticación multifactor de Microsoft Entra
- Configuración de WAF de Cloudflare con el identificador externo de Microsoft Entra
- Aplicación de Ejemplo de Protección de ATO de LexisNexis Risk Solutions