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 asegurarse de que el soporte con Confianza cero en las aplicaciones que reciben autorización para acceder a los recursos cuando adquieren 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 notificación de expiración que identifica el tiempo de expiración exacto o posterior que no debe aceptar el token JWT para su procesamiento. De forma predeterminada, los tokens de Microsoft Entra expiran de 60 a 90 minutos después de emitirse. Las aplicaciones deben almacenar en caché y usar tokens de acceso durante este período durante el cual Microsoft Entra ID no evalúa las condiciones de autorización.
Evaluación de condiciones fuera de la emisión del token
Los clientes de Microsoft se preocupan por los retrasos entre los cambios de condición de usuario y la aplicación de cambios de directiva cuando Microsoft Entra ID emite tokens. Este enfoque de duración de tokens reducido puede degradar las experiencias del 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 aplicació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 eventos que Microsoft Entra ID inserta sobre los tokens que emite Microsoft Entra ID 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 acerca del 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
- La contraseña se ha cambiado o restablecido
- Autenticación multifactor de usuario habilitada
- El administrador revoca explícitamente todos los tokens de actualización de un usuario
- La protección de id. de Microsoft Entra detecta un 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
En el vídeo Aplicaciones más seguras y resistentes basadas en la evaluación continua de acceso de Microsoft Entra se muestran la creación de una aplicación cliente con compatibilidad con CAE.
Vea la presentación anterior para obtener información sobre cómo funcionan las aplicaciones al usar la autenticación moderna con estos pasos:
- Cómo funcionan las aplicaciones que usan autenticación moderna
- La aplicación solicita tokens a la identidad de Microsoft
- La aplicación recibe un token de acceso
- La aplicación llama a API o autorización con JWT
- Introspección
- Señales y eventos compartidos
- Evaluación de eventos críticos
- Evaluación de directivas de acceso condicional
- Evaluación continua de acceso de llamada de API
- Desafío de notificaciones
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, Microsoft Entra ID puede emitir tokens durante más tiempo. En el caso de las aplicaciones que admiten CAE, Microsoft Entra ID 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, el Microsoft Entra ID emite un tiempo 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 el token de manera proactiva. La hora 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, Microsoft Entra ID 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
Tal y como se describe en Uso de las API habilitadas para la evaluación continua de acceso en las aplicaciones, tanto la aplicación como la API de recursos a la que se tiene acceso 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
- Evaluación continua de acceso para las identidades de carga de trabajo en Microsoft Entra ID describe las ventajas de seguridad de CAE para una organización.
- Aplicación de principios de Confianza cero a la administración de sesiones de autenticación con evaluación continua de acceso describe cómo proteger las sesiones de autenticación sin afectar a la experiencia del usuario y la productividad, y modernizar la administración de sesiones.
- Aumento de la resistencia de las aplicaciones de autenticación y autorización desarrolladas presenta una serie de artículos que proporcionan instrucciones sobre cómo aumentar la resistencia en las aplicaciones mediante la Plataforma de identidad de Microsoft y Microsoft Entra ID. Contienen procedimientos recomendados para el uso de tokens, así como para la llamada a los recursos.
- Creación de aplicaciones con un enfoque de confianza cero para la identidad proporciona información general sobre los permisos y los procedimientos recomendados de acceso.
- Integración de aplicaciones con Microsoft Entra ID y la plataforma de identidad de Microsoft ayuda a los desarrolladores a crear e integrar aplicaciones que los profesionales de TI pueden proteger en la empresa.