Sincronizar o Active Directory com o banco de dados

4

Estamos em uma situação em que gostaríamos de oferecer aos nossos clientes a capacidade de gerenciar seus próprios usuários. São cerca de 300 clientes com um total de 10.000 usuários.

Além de criar, atualizar e remover usuários, eles frequentemente leem informações sobre usuários para estatísticas e outras informações úteis disponíveis. Toda essa funcionalidade deve estar disponível em uma página da Web da Intranet (.NET Framework 4) que os usuários acessarão por meio do Citrix ou similar.

Agora, o problema é que gostaríamos que os usuários não consultassem diretamente o AD para cada solicitação, mas sim que eles acessassem um banco de dados sincronizado com o AD. Seria suficiente executar essa 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 deve ser revisado e criado dentro de dois dias (a próxima etapa seria remover essa revisão manual, mas isso está fora do escopo dessa pergunta).

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

Existe alguma técnica lá fora para escrever um script que sincroniza o AD com as tabelas de banco de dados? Minha principal preocupação são as relações entre grupos / membros, que podem ser bastante complicadas. Ou existem softwares que sincronizam o AD com um banco de dados?

Qualquer comentário será muito apreciado. Obrigado.

    
por Tommy Jakobsen 15.06.2010 / 20:50

3 respostas

2

Você pode configurar o Lightweight Directory Services (usado para ser o ADAM) para replicar o esquema e os objetos do AD em um banco de dados LDAP externo que os usuários possam 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.

    
por 15.06.2010 / 20:53
2

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

Você pode facilmente sincronizar o conteúdo do banco de dados com o AD usando o LSC (LDAP Synchronization Connector) , que é uma ferramenta de software livre personalizada. projetado para este propósito. Em suma, essa ferramenta substitui o script que você pode escrever à mão, menos os erros que você encontrará e mais várias funções para facilitar a sincronização.

Eu 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 associações a grupos. Após a primeira inicialização, a sincronização foi executada em menos de 10 minutos.

O link a seguir deve ser do seu interesse, se você adotar o LSC ou não: Muitas dicas técnicas sobre sincronizando dados para / do Active Directory .

    
por 19.07.2010 / 12:45
1

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

  • Um script perl que sincroniza o AD com um servidor OpenLDAP ou um banco de dados SQL.
  • Um daemon do Serviço para Unix , que permite que você também tenha senhas sincronizadas.
por 17.05.2013 / 11:48