Sincronizar Active Directory con la base de datos

Sincronizar Active Directory con la base de datos

Nos encontramos en una situación en la que nos gustaría ofrecer a nuestros clientes la posibilidad de gestionar ellos mismos sus usuarios. Se trata de unos 300 clientes con hasta un total de 10.000 usuarios.

Además de crear, actualizar y eliminar usuarios, muy a menudo leerán información sobre los usuarios para obtener estadísticas y otra información útil disponible. Toda esta funcionalidad, deberá estar disponible desde una página web de Intranet (.NET Framework 4) a la que los usuarios accederán a través de Citrix o similar.

Ahora el problema es que realmente nos gustaría que los usuarios no consultaran AD directamente para cada solicitud, sino que los hicieran acceder a una base de datos que esté sincronizada con AD. Sería suficiente ejecutar esta sincronización algunas veces al día (tal vez cada 5 horas). Cuando crean un usuario, no debería estar disponible de inmediato, sino revisarse y luego crearse dentro de dos días (el siguiente paso sería eliminar esta revisión manual, pero eso está fuera del alcance de esta pregunta).

¿Qué opinas de esta sincronización de AD? ¿Alguien tiene alguna experiencia con esto? ¿Es algo que se hace en otras organizaciones, donde habrá muchas solicitudes que se manejan mejor mediante una base de datos que AD (supongo)?

¿Existe alguna técnica para escribir un script que sincronice AD ​​con las tablas de la base de datos? Mi principal preocupación son las relaciones entre grupos y miembros, que pueden ser bastante complicadas. ¿O existe software que sincroniza AD con una base de datos?

Cualquier comentario será muy apreciado. Gracias.

Respuesta1

Puede configurar Lightweight Directory Services (solía ser ADAM) para replicar el esquema y los objetos de AD en una base de datos LDAP externa que los usuarios pueden consultar y obtener la información de la que está hablando. Esto le permite ser específico acerca de lo que expone externamente sincronizando solo aquellos objetos que desea publicar y no exponiendo otros objetos AD.

Respuesta2

Sincronizar Active Directory desde una base de datos es un requisito bastante común, no necesariamente para el caso de uso que usted describe, sino más comúnmente para las empresas que administran a sus empleados en una herramienta de recursos humanos que los almacena en una base de datos.

Puede sincronizar fácilmente el contenido de la base de datos con AD usandoConector de sincronización LDAP (LSC)que es una herramienta de código abierto diseñada a medida para este propósito. En resumen, esta herramienta reemplaza ese script que podría escribir a mano, menos los errores que encontrará y además varias funciones para facilitar la sincronización.

He configurado una sincronización similar desde una base de datos Oracle a un servidor LDAP (recuerde que AD también es un servidor LDAP), para más de 70.000 usuarios, incluidas las membresías de grupos. Después de la primera inicialización, la sincronización se ejecutó en poco menos de 10 minutos.

El siguiente enlace debería ser de su interés, adopte LSC o no:Muchos consejos técnicos sobre la sincronización de datos hacia/desde Active Directory.

Respuesta3

Si tiene algunas habilidades de programación, puede configurar y adaptarPSSOd. Contiene:

  • Un script perl que sincroniza AD con un servidor OpenLDAP o una base de datos SQL.
  • AServicio para UnixDaemon, que permite tener también sincronizadas las contraseñas.

información relacionada