私たちは、お客様が自分でユーザーを管理できるように提供したいと考えている状況にあります。約300人の顧客で、合計で最大10,000人のユーザーがいます。
ユーザーの作成、更新、削除に加えて、ユーザーに関する統計情報やその他の有用な情報を頻繁に読み取ります。このすべての機能は、ユーザーがCitrixなどを介してアクセスするイントラネットWebページ(.NET Framework 4)から利用できる必要があります。
ここで問題となるのは、ユーザーが要求ごとにADに直接クエリを実行するのではなく、ADと同期されているデータベースにアクセスするようにすることです。この同期を毎日数回(おそらく5時間ごとに)実行するだけで十分です。ユーザーを作成するときは、すぐに利用できるようにする必要はありませんが、レビューしてから2日以内に作成します(次のステップはこの手動レビューを削除することですが、この質問の範囲外です)。
このADの同期についてどう思いますか?誰かがそれを使った経験がありますか?それは他の組織で行われていることですか?ADよりもデータベースによって処理されるリクエストがたくさんあります(私は推測します)?
ADをデータベーステーブルと同期するようなスクリプトを作成するためのテクニックはありますか?私の主な関心事は、かなり複雑になる可能性のあるグループ/メンバーの関係です。または、ADをデータベースと同期するソフトウェアはありますか?
コメントをいただければ幸いです。ありがとうございました。
ライトウェイトディレクトリサービス(以前はADAM)をセットアップして、ADスキーマとオブジェクトを外部LDAP DBに複製し、ユーザーがクエリを実行して、話している情報を取得できるようにすることができます。これにより、公開するオブジェクトを同期するだけで、他のADオブジェクトを公開しないことで、外部に公開する内容を具体的に指定できます。
データベースからActiveDirectoryを同期することは、非常に一般的な要件です。必ずしも説明するユースケースではなく、データベースに格納するHRツールで従業員を管理する企業にとってより一般的です。
この目的のためにカスタム設計されたオープンソースツールである LDAP同期コネクタ(LSC) を使用して、データベースの内容をADに非常に簡単に同期できます。つまり、このツールは、手書きで作成する可能性のあるスクリプトから、遭遇するバグを除いたものに加えて、同期を容易にするさまざまな関数を置き換えるものです。
グループメンバーシップを含む70.000人を超えるユーザーに対して、Oracle DBからLDAPサーバー(ADもLDAPサーバーであることを忘れないでください)への同様の同期を設定しました。最初の初期化後、同期は10分弱で実行されました。
LSCを採用しているかどうかに関係なく、次のリンクに関心があるはずです。 Active Directoryとの間でデータを同期するための多くの技術的なヒント 。