質問者
AD LDS 同期後の Windowsユーザーについて

質問
-
お世話になります。
現在、AD LDS について動作確認をしています。AD DS, AD LDS のバージョンは 2008 R2 になります。(AD LDS は AD DS のドメインに参加しています。)
AD DS ==> AD LDS への同期後の Windows ユーザーの扱いについて、仕様としてどうなのか分からない点があり質問させていただきます。
AD LDS をインストール後、インスタンスを作成し、下記アプリケーションディレクトリパーティションの Administrators グループへ Windows ユーザー(ローカルユーザー、ドメインユーザー)を追加しようとすると(Administratorsグループの member 属性への追加)問題なくユーザーを追加することができます。
CN=Administrators,CN=Roles,DC=App,DC=hoge,DC=local
その後、AD DS の「DC=hoge,DC=local」を AD LDS の「DC=App,DC=hoge,DC=local」へインポート(同期)をした後、上記のようにユーザーを追加しようとすると、次のエラーが出力します。同期自体は問題なくできているように思います。
-----操作が失敗しました。エラーコード: 0x2095ディレクトリサービスエラーが発生しました。00002095: SvcErr: DSID-032A08CB, problem 5012 (DIR_ERROR), data 6-----
このように AD LDS 同期後の Windows ユーザーは Administrators グループに(CN=Administrators,CN=Roles)追加できないのでしょうか。ご教示宜しくお願いいたします。
すべての返信
-
チャブーンです。
興味があったので簡単に検証してみましたが、結論からいうと、おっしゃるエラーは出ませんでした。
ただし、AD LDSのディレクトリパーティション識別名は CN=Partition,DC=sub,DC=example,DC=localみたいな構成で、「ドメインコンポーネントのみの識別名」構成はとっていません。
もし可能なら、DC=App,DC=hoge,DC=localのようなドメインコンポーネントのみではなく、うえのような(あるいはOなどもありとは思います)識別名で行ってみて何かわからないでしょうか?度の環境どの識別名で行っても問題ある場合、そちらの環境に依存した問題かもしれません。
-
識別名を変えて確認してみました。アプリケーションディレクトリパーティション名をCN及びOの識別名で動作確認したところ、AD DS ==> AD LDSの同期すらできなくなりました。色々と調べたのですが、そもそものところで、ディレクトリパーティション名をCNで指定した場合、AD DS ==> AD LDSの同期は可能なのでしょうか。
また、同期後(adamsync実行後)、以下のグループに追加できなくなる件ですが、何か禁則事項があったりするものでしょうか。#同期前はグループ追加は可能です。
CN=Administrators,CN=Roles,DC=App,DC=hoge,DC=local
気になる点としては、Administratorsグループに限らず、以下DNにグループを新規に作成し、このグループにWindowsユーザー(ローカルユーザー、ドメインユーザー)を追加しようとしても同様のエラーになります。この辺の動作が今ひとつ把握できません。
CN=test,CN=Users,DC=App,DC=hoge,DC=local
問題の切り分けのために、AD DS, AD LDSを作り直して確認しましたが、エラーとしてはやはり同様の出力となりました。
何かお気づきの点がありましたら、ご教示宜しくお願いいたします。 -
チャブーンです。
NameErr: DSID-0305109C, problem2005 (NAMING_VIOLATION) の件ですが、AD DS側で新規にオブジェクトが生成され、adamsync /syncコマンドを実行すると、生成されるようです。/log オプションで状況を確認しましたが、はっきりとしたエラー状況はわかりません(新規追加されたオブジェクトから上位のエントリに向かって順に変更が加えられ、AL LDSパーティションDNに変更が加えられるところでエラーが出て停止していました)。そのため、したのコマンドを試してみたところ、"Ldap_Add_sWそのような属性はありません。"と表示されるものの複製は完了し、/syncエラーは出なくなりました。
adamsync /fs [サーバ名] "[AD LDSの構成DN]"
上記についてですが、AD LDSの構成DNがCN=のときに発生し、DC=では発生しませんでした。ですが、CN=のパーティション名はウィザードにも例として載っているぐらいですから、設定として誤りとは思えません。CNを使ってはいけない、という情報もありません。(検証結果について訂正しました)
なお、検証はWindows Server 2008 R2 RTMで試しています。SP1 で解消されているかどうかはわかりませんが、試していただく価値があるかもしれません。上記のエラーについては、/fsオプションで回避できないか、お試しください。
あと、当初のご質問のエラー(0x2095) ですが、LDAPの汎用エラーというところで、何かの理由でAD DSドメインコントローラに接続できない、ということかもしれません。こういうケースでは名前解決や認証(ドメインコントローラとのセキュアチャネル問題やkerberos認証ができない、といった複数の問題があります)が問題のケースが多いと思いますので、AD DSドメインコントローラとAD LDSメンバサーバ両方のイベントログをきちんと確認されることをお奨めします。NAMING_VIOLATIONエラーとはおそらく無関係です。
上記以上の話は実機の内容を(専門家が)きちんと見ないとわからないので、きちんとした解決をお望みなら、MSの有償サポートへの依頼をご検討ください。
- 編集済み チャブーンMVP, Moderator 2011年2月20日 20:10 検証結果について、訂正しました。
-
ご指摘いただいた点、確認してみました。
まず、/sync オプションの代わりに /fs オプションでどうか?ですが、こちらの環境でも同様の結果となりました。(DC=だと同期は完了します。)但し、当初の問題が(Windowsユーザー(ドメイン、ローカル)を CN=Administrators,CN=Roles に追加出来ない件)解消されていない為、引き続き調査しました。/sync と /fs オプションの違いはもう少し調べようと思います。
次に、同期コマンド実行時(Adamsync)、エラーになると処理が停止してしまうことを回避するために"/force -1" オプションでエラーをスキップさせて、同期処理を完了させてからログを確認するようにしました。
改めてログを確認したところ、CN=ForeignSecurityPrincipals の同期処理時にエラーになっていたので、(エラーになるのは問題ない??とも思っていますが)AD LDS 側で同期実行前に CN=ForeignSecurityPrincipals を自動的に作成するようにしました。(Windowsユーザーをドメインユーザー、ローカルユーザーそれぞれ1ユーザーずつCN=Administrators,CN=Roles に追加してから、同期処理を実行しました。)※同期前であればユーザー追加は可能。
その結果、当初からの問題であった同期後、Windowsユーザー(ドメイン、ローカル)をCN=Administartors,CN=Rolses に追加出来ない件は解消されました。やや場当たり的な対応ですが、ForeignSecurityPrincipals など、もう少し調べたいと思います。また、SP1 にあげてみてどうか?についてはこちらの環境の都合上、確認できませんでした。
もう一点、ログを見ていて気になったのですが、AD DS 側で規定値のパスワードポリシーとは別にもうひとつパスワードポリシーを作成していたのですが、(ADSIエディター => CN=Password Settings Container,CN=System 右クリック => 新規作成=> オブジェクト)このパスワードポリシーの同期についても失敗しました。チャブーンさんからご指摘頂いた以下の点に該当すると思います。(エラーメッセージは違いますが)
>NameErr: DSID-0305109C, problem2005 (NAMING_VIOLATION) の件ですが、AD DS側で新規に>オブジェクトが生成され、adamsync /syncコマンドを実行すると、生成されるようです。
気になるのが、同期失敗後、AD LDS で手動で、CN=Password Settings Container にパスワードポリシーを設定しようとしても同期実行時と同じエラー(WILL_NOT_PERFORM)でパスワードポリシーが作成できません。この辺の基本的な動きが把握できていませんが、AD LDS 全体をもう少し調べたいと思います。