Procedimientos recomendados de desarrollo para la administración de identidad y acceso de confianza cero
Este artículo le ayuda, como desarrollador, a comprender los procedimientos recomendados de administración de identidad y acceso para el ciclo de vida del desarrollo de aplicaciones. Empiece a desarrollar aplicaciones seguras que se ajusten a la confianza cero con la administración de identidad y acceso (IAM).
El marco de seguridad de Confianza cero utiliza los principios de comprobación explícita, el acceso con privilegios mínimos y la presunción de vulneraciones. Proteja los usuarios y los datos a la vez que permite escenarios comunes, como el acceso a aplicaciones desde fuera del perímetro de red. Reduzca la dependencia de la confianza implícita a las interacciones detrás de un perímetro de red seguro que pueda ser vulnerable a los ataques de seguridad.
Las tendencias de seguridad del sector afectan a los requisitos de la aplicación
Aunque la implementación de confianza cero continúa evolucionando, el recorrido de cada organización es único y, a menudo, comienza con la identidad de usuario y aplicación. Estas son directivas y controles que muchas organizaciones priorizan a medida que implementan la confianza cero:
- Implementación de directivas de higiene y rotación de credenciales para aplicaciones y servicios. Cuando los atacantes ponen en peligro secretos, como certificados o contraseñas, pueden lograr cierta profundidad de acceso al sistema para adquirir tokens haciéndose pasar por una identidad de una aplicación. Después, acceden a datos confidenciales, se mueven lateralmente y establecen la persistencia.
- Implementación de la autenticación sólida. Los administradores de TI configuran directivas que requieren autenticación multifactor y dispositivos FIDO2 sin contraseña.
- Restricción del consentimiento del usuario a las aplicaciones con permisos de bajo riesgo que son de un publicador verificado. El acceso a los datos de las API como Microsoft Graph le permite crear aplicaciones enriquecidas. Las organizaciones y los clientes evalúan las solicitudes de permisos y la confiabilidad de la aplicación antes de conceder el consentimiento. Los administradores de TI están adoptando el principio de comprobación explícitamente al requerir la comprobación del publicador. Aplican el principio de privilegios mínimos solo permitiendo el consentimiento del usuario para permisos de bajo riesgo.
- Bloqueo de las API y los protocolos heredados. Los administradores de TI están bloqueando los protocolos de autenticación anteriores, como la "autenticación básica", y requieren protocolos modernos, como OpenID Connect y OAuth2.
Uso de bibliotecas de autenticación de confianza basadas en estándares.
Desarrolle la aplicación con estándares y bibliotecas conocidos y aceptados a fin de aumentar la portabilidad y la seguridad de las aplicaciones. Las bibliotecas de autenticación de confianza basadas en estándares permanecen actualizadas para que las aplicaciones respondan a las tecnologías y amenazas más recientes. Las metodologías de desarrollo basadas en estándares proporcionan información general sobre los estándares admitidos y sus ventajas.
En lugar de usar protocolos con vulnerabilidades conocidas y documentación extensa, desarrolle la aplicación con bibliotecas, como la biblioteca de autenticación de Microsoft (MSAL), la biblioteca de autenticación de Microsoft Identity Web y los kits de desarrollo de software de Azure (SDK). MSAL y los kits de desarrollo de software (SDK) permiten usar estas características sin necesidad de escribir código adicional:
- Acceso condicional
- Administración y registro de dispositivos
- Autenticación sin contraseña y FIDO2
MSAL y Microsoft Graph son las mejores opciones para desarrollar aplicaciones de Microsoft Entra. Los desarrolladores que usan MSAL garantizan el cumplimiento de los protocolos. Microsoft optimiza MSAL para mejorar la eficacia cuando se trabaja directamente con Microsoft Entra ID.
Registro de aplicaciones en Microsoft Entra ID
Siga los Procedimientos recomendados de seguridad para las propiedades de la aplicación en Microsoft Entra ID. El registro de aplicación de Microsoft Entra ID es fundamental, puesto que una configuración errónea o la falta de protección de la aplicación puede provocar tiempo de inactividad o situaciones de peligro.
Las propiedades de la aplicación que mejoran la seguridad incluyen URI de redireccionamiento, tokens de acceso (no usar con flujos implícitos), certificados y secretos, URI de id. aplicación y propiedad de la aplicación. Se recomienda realizar una evaluación periódica de la seguridad y el mantenimiento de las aplicaciones, de forma muy similar a una evaluación del modelo de amenazas de seguridad para el código.
Delegación de la administración de identidad y acceso
Desarrolle la aplicación para usar tokens para la comprobación explícita de identidades y el control de acceso que definen y administran los clientes. Microsoft recomienda desarrollar sus propios sistemas de administración de nombres de usuario y contraseñas.
Mantenga las credenciales fuera del código para que los administradores de TI puedan rotar las credenciales sin desactivar ni volver a implementar la aplicación. Use un servicio como Azure Key Vault o las identidades administradas de Azure para delegar IAM.
Planeamiento y diseño para el acceso con privilegios mínimos
Un principio clave de confianza cero es el acceso con privilegios mínimos. Desarrolle y documente lo suficiente la aplicación para que los clientes puedan configurar correctamente directivas con privilegios mínimos. Al admitir tokens y API, proporcione a los clientes una buena documentación de los recursos a los que llama la aplicación.
Proporcione siempre los privilegios mínimos necesarios para que el usuario realice tareas específicas. Por ejemplo, use ámbitos granulares en Microsoft Graph.
Explore los ámbitos mediante Graph Explorer para llamar a una API y examinar qué permisos son necesarios. Se muestran en orden, desde los privilegios más bajos a los más altos. Elegir el privilegio más bajo posible hará que la aplicación sea menos vulnerable a los ataques.
Siga las instrucciones de Mejora de la seguridad con el principio de privilegios mínimos para reducir las superficies expuestas a ataques de las aplicaciones y el radio de explosión de vulneración de seguridad en el caso de que se produzca un riesgo.
Administración segura de tokens
Cuando la aplicación solicite tokens de Microsoft Entra ID, adminístrelos de forma segura:
- Valide que están correctamente en el ámbito de la aplicación.
- Almacénelos en caché correctamente.
- Úselos según lo previsto.
- Controle los problemas de token comprobando las clases de error y codificando las respuestas adecuadas.
- En lugar de leer directamente los tokens de acceso, vea sus ámbitos y detalles en las respuestas de token.
Compatibilidad con la Evaluación continua de acceso (CAE)
La evaluación continua de acceso (CAE) permite a Microsoft Graph denegar rápidamente el acceso en respuesta a eventos de seguridad. Entre los ejemplos se incluyen estas actividades de administrador de inquilinos:
- Eliminar o deshabilitar una cuenta de usuario.
- Habilitación de la autenticación multifactor (MFA) para un usuario.
- Revocar explícitamente los tokens emitidos por un usuario.
- Detectar un usuario que se mueve al estado de alto riesgo.
Cuando se admite CAE, los tokens que emite Microsoft Entra ID para llamar a Microsoft Graph son válidos durante 24 horas, en lugar del estándar, que es válido de 60 a 90 minutos. CAE agrega resistencia a la aplicación al permitir que MSAL actualice de forma proactiva el token mucho antes de que este expire.
Definición de roles de aplicación para que el equipo de TI los asigne a usuarios y grupos
Los roles de aplicación ayudan a implementar el control de acceso basado en roles en las aplicaciones. Entre los ejemplos comunes de roles de aplicación se incluyen Administrador, Lector y Colaborador. El control de acceso basado en rol permite a la aplicación restringir las acciones confidenciales a usuarios o grupos en función de sus roles definidos.
Convertirse en publicador verificado
Como editor verificado, verifica su identidad con su cuenta de Microsoft Partner Network y completa el proceso de comprobación establecido. Para los desarrolladores de aplicaciones multiinquilino, ser un editor verificado les ayuda a generar confianza con los administradores de TI en los inquilinos de los clientes.
Pasos siguientes
- Personalizar tokens describe la información que puede recibir en tokens de Microsoft Entra. Aprenda a personalizar los tokens para mejorar la flexibilidad y el control, y al mismo tiempo aumentar la seguridad de confianza cero para las aplicaciones con privilegios mínimos.
- Configuración de notificaciones de grupo y roles de aplicación en tokens describe cómo configurar las aplicaciones con definiciones de roles de aplicación y asignar grupos de seguridad a roles de aplicación. Este enfoque mejora la flexibilidad y el control, y al mismo tiempo aumenta la seguridad de confianza cero de las aplicaciones con privilegios mínimos.
- 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.
- En la guía Integraciones de identidades se explica cómo integrar soluciones de seguridad con productos de Microsoft para crear soluciones de confianza cero.
- Las responsabilidades de desarrollador y administrador para el registro, autorización y acceso de aplicaciones le ayudan a colaborar mejor con sus profesionales de TI.
- En el artículo Tipos de identidad y de cuenta para aplicaciones únicas y multiinquilino se explica cómo puede elegir si la aplicación solo permite a los usuarios de su inquilino de Microsoft Entra ID, cualquier inquilino de Microsoft Entra o usuarios con cuentas personales de Microsoft.
- Procedimientos recomendados de autorización le ayuda a implementar los mejores modelos de autorización, permisos y consentimiento para las aplicaciones.
- En el artículo Protección de API se describen los procedimientos recomendados para proteger la API mediante su registro, la definición de permisos y del consentimiento, y la aplicación del acceso para lograr los objetivos de confianza cero.