Sincronize o Active Directory com o banco de dados

Sincronize o Active Directory com o banco de dados

Estamos numa situação em que gostaríamos de oferecer aos nossos clientes a possibilidade de gerir eles próprios os seus utilizadores. São cerca de 300 clientes com até um total de 10.000 usuários.

Além de criar, atualizar e remover usuários, eles frequentemente lerão informações sobre os usuários para obter estatísticas e outras informações úteis disponíveis. Todas essas funcionalidades deverão estar disponíveis em uma página da intranet (.NET Framework 4) que os usuários acessarão através do Citrix ou similar.

Agora, o problema é que realmente gostaríamos que os usuários não consultassem o AD diretamente para cada solicitação, mas sim que acessassem um banco de dados sincronizado com o AD. Seria suficiente executar esta sincronização algumas vezes por dia (talvez a cada 5 horas). Quando eles criam um usuário, ele não deve estar disponível imediatamente, mas revisado e criado em dois dias (o próximo passo seria remover esta revisão manual, mas isso está fora do escopo desta questão).

O que você acha dessa sincronização do AD? Alguém tem alguma experiência com isso e é algo feito em outras organizações, onde você terá muitas solicitações que são melhor tratadas por um banco de dados do que pelo AD (presumo)?

Existe alguma técnica para escrever um script que sincronize o AD com tabelas de banco de dados? A minha principal preocupação são as relações grupos/membros, que podem ser bastante complicadas. Ou existe software que sincroniza o AD com um banco de dados?

Quaisquer comentários serão muito apreciados. Obrigado.

Responder1

Você pode configurar o Lightweight Directory Services (usado como ADAM) para replicar o esquema e os objetos do AD em um banco de dados LDAP externo que os usuários podem consultar e obter as informações sobre as quais você está falando. Isso permite que você seja específico sobre o que expõe externamente, sincronizando apenas os objetos que deseja publicar e não expondo outros objetos do AD.

Responder2

Sincronizar o Active Directory a partir de um banco de dados é um requisito bastante comum - não necessariamente para o caso de uso descrito, mas mais comumente para empresas que gerenciam seus funcionários em uma ferramenta de RH que os armazena em um banco de dados.

Você pode sincronizar facilmente o conteúdo do banco de dados com o AD usandoConector de sincronização LDAP (LSC)que é uma ferramenta de código aberto projetada sob medida para essa finalidade. Resumindo, esta ferramenta substitui aquele script que você pode escrever à mão, menos os bugs que você encontrará e mais várias funções para facilitar a sincronização.

Configurei uma sincronização semelhante de um banco de dados Oracle para um servidor LDAP (lembre-se de que o AD também é um servidor LDAP), para mais de 70.000 usuários, incluindo membros de grupos. Após a primeira inicialização, a sincronização foi executada em pouco menos de 10 minutos.

O link a seguir deve ser do seu interesse, quer você adote o LSC ou não:Muitas dicas técnicas sobre sincronização de dados de/para o Active Directory.

Responder3

Se você tiver algumas habilidades de programação, poderá configurar e adaptarPSSOd. Contém:

  • Um script perl que sincroniza o AD com um servidor OpenLDAP ou um banco de dados SQL.
  • AServiço para UnixDaemon, que permite também sincronizar senhas.

informação relacionada