Compartir por


Protección de aplicaciones con evaluación continua de acceso

Este artículo le ayuda, como desarrollador, a mejorar la seguridad de las aplicaciones con la evaluación continua de acceso. Aprenderá a garantizar la compatibilidad con Zero Trust en las aplicaciones que reciben autorización para acceder a los recursos al obtener tokens de acceso de Microsoft Entra ID.

Cuando Microsoft Entra ID emite estos tokens de acceso, evalúa completamente las condiciones de esa autorización. Microsoft Entra ID realiza acciones de autorización estándar, como garantizar el consentimiento, cada vez que emite tokens para las solicitudes de token iniciales y cuando actualiza los tokens.

Microsoft Entra ID usa principalmente JSON Web Tokens (JWT) para tokens de acceso. Una API de recursos puede descodificar, validar e interpretar el JWT sin necesidad de volver a llamar a Microsoft Entra ID en cada llamada a la API de recursos. El estándar JWT define una declaración exp que identifica la hora de expiración a partir de la cual no debe aceptar el token JWT para el procesamiento. Los tokens de Microsoft Entra, por defecto, expiran entre 60 y 90 minutos después de ser emitidos. Asegúrese de que las aplicaciones almacenan en caché y usan tokens de acceso durante el período durante el cual el identificador de Microsoft Entra no evalúa las condiciones de autorización.

Evaluación de condiciones fuera de la emisión del token

Los retrasos pueden producirse entre los cambios de condición de usuario y la aplicación de cambios de directiva cuando Microsoft Entra ID emite tokens. Un enfoque de duración reducida de tokens puede degradar las experiencias de usuario y la confiabilidad sin eliminar los riesgos.

Una solución consiste en evaluar las condiciones en cada llamada a un recurso protegido. La manera más común de implementar esta ejecución es la introspección de tokens. La introspección de tokens no usa un formato JWT para el token. En su lugar, la introspección de tokens usa una cadena opaca que la API de recursos no puede interpretar. La API de recursos envía el token al proveedor de identidades en cada llamada. A continuación, el proveedor de identidades comprueba si hay condiciones y devuelve datos que la API de recursos puede usar para completar la operación. Este proceso puede ser costoso, ya que agrega otra solicitud web de ida y vuelta a cada llamada API.

Para solucionar este gasto con la Evaluación Continua de Acceso (CAE), una API de recursos puede escuchar los eventos que Microsoft Entra ID inserta sobre los tokens que emite para la API de recursos. Por ejemplo, cuando la aplicación llama a Microsoft Graph API, Microsoft Graph puede comprobar si recibió eventos de Microsoft Entra ID sobre el token. Si las condiciones de la autenticación original son diferentes y el usuario debe volver a autenticarse, Microsoft Graph devuelve un error a la aplicación que realiza la llamada.

Microsoft Entra ID envía un evento a los recursos de Microsoft habilitados para CAE cuando se produce cualquiera de estos eventos:

  • Cuenta de usuario deshabilitada o eliminada
  • Se ha cambiado o restablecido la contraseña de usuario
  • Autenticación multifactor de usuario habilitada
  • El administrador revoca explícitamente todos los tokens de actualización de un usuario.
  • Microsoft Entra ID Protection detecta el riesgo de usuario elevado.

Además, los recursos de Microsoft habilitados para CAE pueden aplicar directivas de acceso condicional basadas en la ubicación.

Mejora de la seguridad y la resistencia de las aplicaciones con CAE

El siguiente vídeo Una aplicación más segura y resiliente basada en Microsoft Entra Continuous Access Evaluation muestra cómo construir una aplicación cliente con soporte para CAE.

En la presentación de vídeo se describe cómo funcionan las aplicaciones con la autenticación moderna y estos pasos:

  1. La aplicación solicita tokens al servicio de identidad de Microsoft
  2. La aplicación recibe un token de acceso
  3. La aplicación llama a la API o realiza la autorización con JWT
  4. Introspección
  5. Señales y eventos compartidos
  6. Evaluación de eventos críticos
  7. Evaluación de directivas de acceso condicional
  8. Denominada API Evaluación Continua de Acceso
  9. Desafío de reclamaciones

La evaluación continua de acceso permite que la autorización de una aplicación acceda a un recurso revocado fuera de la duración del token de acceso. Por ejemplo, una aplicación tiene un token que es válido durante 75 minutos más. Un usuario tiene un estado de alto riesgo debido a credenciales vulneradas. CAE bloquea el acceso de la aplicación al recurso, lo que requiere que el usuario vuelva a autenticarse antes de continuar. Por lo tanto, CAE logra su objetivo principal para mejorar la seguridad de las aplicaciones.

Como el acceso a un recurso se puede revocar fuera de la duración de un token, el identificador de Microsoft Entra puede emitir tokens durante una duración más larga. En el caso de las aplicaciones que admiten CAE, el identificador de Entra de Microsoft puede emitir tokens válidos durante un máximo de 28 horas. Aunque esta duración de tokens más larga no mejora la resistencia de la aplicación, reduce los costos de la aplicación, ya que la aplicación necesita solicitar tokens con mucha menos frecuencia.

CAE mejora la resistencia de una aplicación a los problemas que la aplicación podría encontrar al adquirir un token de acceso de Microsoft Entra ID. Siempre que sea posible, Microsoft Entra ID proporciona un intervalo de actualización como parte de una respuesta de token que contiene un token de acceso. Las bibliotecas de autenticación de Microsoft (MSAL) usan esta hora de actualización para actualizar proactivamente el token. El tiempo de actualización es una fracción (normalmente la mitad) del tiempo de expiración del token. Siempre que MSAL pueda actualizar el token de acceso antes de la fecha de expiración del token, la aplicación es resistente a los problemas de actualización de tokens.

Por ejemplo, cuando una aplicación admite CAE, el identificador de Entra de Microsoft emite un token que autoriza a la aplicación a llamar a Microsoft Graph que es válido durante 24 horas. A continuación, Microsoft Entra ID indica a MSAL que actualice el token de forma proactiva después de 12 horas. Si MSAL intenta actualizar el token de acceso produce un error porque el token de acceso original sigue siendo válido durante 12 horas más, la aplicación es más resistente a los problemas cuando adquiere tokens de Microsoft Entra ID.

Implementación de la evaluación continua del acceso en la aplicación

Como se describe en Uso de las API habilitadas para evaluación continua de acceso en las aplicaciones, tanto la aplicación como la API de recursos a la que accede deben estar habilitadas para CAE. Sin embargo, la preparación del código para usar un recurso habilitado para CAE no impide el uso de API que no están habilitadas para CAE. Las aplicaciones que no usan MSAL pueden agregar compatibilidad con desafíos de notificaciones, solicitudes de notificaciones y funcionalidades de cliente para usar CAE.

Pasos siguientes