- - PR -
Openldap上のアカウントをActiveDirectoryへ移行
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-06-19 19:45
現在、Linux + OpenLDAPの環境を構築して社内システムのアカウントを一元管理しています。
今回クライアント管理の為、新規にActiveDirectoryの環境を構築します。 そこで質問なのですが、既存のLinux + OpenLDAPの環境とActiveDirectory間での アカウントの同期処理を行いたいのですが、何か良い方法はないものでしょうか? アカウント管理のメインとなるのはLinux側となる為、Linux上でアカウント情報の 変更があった際にActiveDirectoryへ情報を流し込むような仕組みが出来ればと 考えております。 SFU等を導入すれば可能になったりするのでしょうか? ネット上にも情報があまり無いため困ってます。。。 ご教授の程、よろしくお願いします。 | ||||
|
投稿日時: 2007-06-19 21:07
こんばんわ.
OpenLDAP と Active Directory の関係が逆であれば, SFU などでも可能かもしれません. ですが,OpenLDAP 側を master とするのは難しい気がします. Windows を OpenLDAP で認証するようにするのではダメなのでしょうか? であれば,GINA と LDAP で検索すると良いかもしれません. 以上,ご参考までに. | ||||
|
投稿日時: 2007-06-21 04:27
チャブーンです。
OpenLDAP との連携ということで、直球でいくなら MS 製の MIIS というエンタープライズ製品を使います。ただし MIIS は高価で、検討事項も必要になるでしょう。 http://blogs.msdn.com/dotnetinterop/archive/2005/07/07/436050.aspx http://sourceforge.net/projects/openldap-ma 簡単な方法であれば、Linux と Windows に LDIF をベースにしたスクリプトを同期的にかけるとかいった方法になるのではないでしょうか。直接の答えではないですが、参考情報がしたにありますね。 http://www.9203.net/~takech/pukiwiki/index.php?LDAP%2FOpenLDAP%2FActiveDirectory%A4%C8%A4%CE%CF%A2%B7%C8 [ メッセージ編集済み 編集者: チャブーン 編集日時 2007-06-21 04:34 ] | ||||
|
投稿日時: 2007-06-21 13:02
ご回答ありがとうございます。
>kazさん 社内ではOpenLDAPのSSOシステムでありとあらゆる社内システムの認証をしている為 今更ActiveDirectoryをメインとする事は難しいんですよ・・・ ADの認証を直接LDAPへ投げる方法が出来ればそれに越した事はないのですが、 その場合、AD上のアカウントはどういった扱いになるのでしょうか??? >チャブーンさん http://www.9203.net/~takech/pukiwiki/index.php?LDAP%2FOpenLDAP%2FActiveDirectory%A4%C8%A4%CE%CF%A2%B7%C8 のページは私も参考にはしています。 やはりLDIFをベースにしたスクリプト仕掛けるしかないのですかね〜。。。 linux側から直接 ldapadd 等のコマンドを使用してAD上のアカウント操作が出来る ようになれば一番楽なのですが。 そんな方法はないですよね? | ||||
|
投稿日時: 2007-06-21 13:35
こんにちわ.
であればなおのこと,GINA で LDAP な認証基盤に統一してしまった方が良さそうな. Active Directory で分割してしまう必要があるのでしょうか? ※既に Active Directory な domain を作ってしまっているとか? | ||||
|
投稿日時: 2007-06-29 19:34
OpenLDAPからアカウント情報のLdifをActiveDirectory用に生成して、
ldapadd のコマンドでActiveDirectory側登録を実施する前提で 以下の事まで可能となりました。 OpenLDAP側でLDIFファイルの生成 =========test.ldif======================================= dn: CN=test04 User,OU=Users,DC=ad,DC=example,DC=co,DC=jp changetype: add objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user sAMAccountName: test04 sn: テスト givenName: ユーザー04 displayName: テスト ユーザー04 userPrincipalName: test04@ad.example.co.jp ========================================================= OpenLDAPサーバーからActiveDirectory側へアカウントの追加 [コマンド] # ldapadd -x -h server01.ad.example.co.jp -f test.ldif 上記でActiveDirectory上にアカウントの追加までは可能になりましたが、 ここで問題が発生しています。 上記はAD側で "OU=Users,DC=ad,DC=example,DC=co,DC=jp" のOUへ 匿名アクセスを許可しており、"ANONYMOUS LOGON"グループにフルコントロールを 与えている為に実現しています。 さすがに匿名アクセスは嫌なので、以下のコマンドで特定のユーザー(test01)を 使用してアカウントの追加をするとパスワードが受け付けられないようで エラーとなってしまます。 [コマンド] # ldapadd -x -h server01.ad.example.co.jp -D "cn=test01,ou=users,dc=ad,dc=example,dc=co,dc=jp" -f test.ldif -w test [エラー] ldap_bind: Invalid credentials (49) additional info: 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 531, vece ldapaddコマンドを使用した際のADへ認証を投げるパスワードエンコードみたいな物が AD側とOpenLDAP側で異なる為に起こっているのでしょうか? ここが解決出来れば当初の理想にかなり近付けるのでご教授よろしくお願いします。 >kazさん GINAを少し調べたのですが、GINAはクライアント側の認証モジュールを入れ替えないと いけないのでしょうか?クライアント数が大量(1万台以上)にある為にそういった 作業は避けたいのですが、そういった作業が発生しないのであればもう少し詳しく ご教授願いたく思います。 | ||||
|
投稿日時: 2007-06-30 21:48
チャブーンです。
みたところ、接続時のバインド認証で蹴られている感じですね。 Active Directory の LDAP 対応ですが、Simple Bind はサポートしていますので、Simple 認証が行われた場合クリアテキストでちゃんと通るはずですよ。 パスワードに "test" という単語を当てているようですが、Active Directory アカウントでは、文字数や複雑性の要件からこのパスワードはデフォルトでは使えないはずです。まずはバインドする DN とパスワードをもう一度確認してもらったほうがいいかもしれません。もっと細かく知りたいなら、ネットワークトレース (パケットキャプチャ) をとって確認されることを奨めます。 あと、この問題と関係あるかはわかりませんが、匿名で書き込みが可能な状態にもっていった、ということですが、Windows Server 2003 だと、rootDSE 以外は匿名アクセスそのものができないようになっていて、これを直すには、OU のアクセス許可のほかに Directory Service オブジェクトの dSHeuristics 属性をいじらないといけなかったはずなんです。そのあたりはチェックされたでしょうか? それと、GINA の入れ替えについてですが、他の方がおっしゃっているのはたぶんしたの製品ではないでしょうか。 http://www.co-conv.jp/product/co-gina/index.html したのページにマニュアルがあるので、まずは読んでみてはどうでしょうか。 http://www.co-conv.jp/product/co-gina/shiyou.html | ||||
|
投稿日時: 2007-07-02 01:22
チャブーンです。
簡単に確認してみましたが、必要な OU とその下の ACL をきちんと制御すれば、ldapadd から任意のユーザで Simple Bind させ、その権限でオブジェクトを書き込むことはできました。 Simple Bind はもちろん匿名認証ではないので、dSHeuristics 属性の変更はとくに必要なさそうです。 パスワードに関する設定は SSL をとおさないと設定できないので、必要なら LDAPS か StartTLS を使う必要があるでしょうね。ただし、このしくみではパスワードの透過的な同期には対応できないでしょうから、この場合 SFU の NIS パスワード同期の機能あたりを使うのがよさそうです。 |