|
¿Que es el Active Directory? Autor:David E. Davila Fontecha
Pretendemos explicar de la manera mas breve y sencilla que es el Active Directory y como podemos utilizarlo para el manejo de la seguridad en el desarrollo de aplicaciones en la plataforma .NET
Al active directory lo podemos ver de dos maneras: - el primero como un espacio de nombres que esta integrado con el sistema de nombres de dominio (DNS) de Internet
- el segundo como el software que permite implementar en un servidor cualquiera (WINDOWS) un controlador de dominio.
En el contexto de las redes y el que nos interesa para implementar seguridad en nuestras aplicaciones definiremos a un directorio activo como una estructura jerárquica que almacena información acerca de los objetos de la red, como ser servidores, impresoras, cuentas de usuarios y equipos, así como dominios, aplicaciones, servicios, políticas de seguridad y cualquier elemento de la red. Active Directory, proporcionan administración de usuarios, equipos y recursos compartidos. Los servicios de directorio que administran el correo electrónico, como Microsoft Exchange, permiten que los usuarios busquen a otros usuarios y envíen correo electrónico. Ahora explicando un poco de cómo podemos utlizarlo en nuestras aplicaciones lo haremos por medio de un ejemplo que hemos podido implementar con éxito. Al desarrollar aplicaciones multiusuarios ya sean para Internet o de escritorio los usuarios del sistema y de la base de datos no los debemos almacenamos en las tablas de la base de datos, ósea que no tenemos tablas de usuarios donde se encuentran los usuarios y contraseñas esto no es buena practica ni porque encriptemos las contraseñas y mucho menos si ponemos los usuarios y contraseñas en código duro como he podido observar en algunos articulos y códigos de un colaborador (¡espero que sea solo a manera de ejemplo que utiliza esta pésima practica!), pero continuemos mejor. Lo que hacemos es utilizar el Active Directory del Servidor este es el que contiene los usuarios y contraseñas de dominio. Dentro del dominio de crean grupos de usuarios a los cuales se agregan los usuarios creados individualmente de manera que esta practica nos facilita a futuro la administración de usuarios ya que es posible heredar privilegios a partir de los grupos creados. Adicionalmente a esto podemos aplicar privilegios específicos a los usuarios individuales ya sean miembros de los grupos o no. Ahora traslademos toda esta teoría a la práctica. ¿Que es lo que hacemos para manejar la seguridad en la aplicación en desarrollo? El login lo hacemos contra el active directory, no contra la base de datos, ósea que si el usuario pertenece al grupo con privilegios de acceso a la aplicación la logra ejecutar de lo contrario nunca la podra ejecutar. Y es el active directory el que se encarga del manejo de la seguridad, toda esta seguridad la podemos implementar hasta en la ejecución de procedimientos almacenados de la base de datos asignado permisos de ejecución ya sea a los grupos o usuarios en especifico definiendo de esta forma que usuarios pueden ejecutar procedimientos de INSERT, UPDATE o DELETE. El verdadero trabajo de implementar toda esta plataforma no esta en la configuración ni asignación de privilegios sino en la generacion de las politicas de administración de un directorio de dominio.
|