本記事はマイクロソフト社員によって公開されております。
こんにちは。Windows Commercial Support Directory Services チームです。
信頼関係を構成している環境で、信頼先のドメインユーザーを利用した認証が一時的に失敗する事象についてご案内いたします。
1, 症状
以下の図のように、信頼関係を構成しているドメインにおいて、contoso.com ドメインのサーバーに fabrikam.com のドメインユーザーで RDP 接続を実施している構成があります。contoso.com ではサイトが SiteA と SiteB に分かれており、RDP 接続のサーバーは SiteB に所属しています。
また、contoso.com の PDC エミュレーターの役割を持つドメインコントローラーは SiteA に所属しています。この構成において、一時的に RDP 接続に失敗する事象が発生する可能性があります。この問題は、既定では 30 日毎に発生する場合があり、contoso.com ドメインの DC1 と DC2 の複製が行われると解消します。
2, 原因
ドメイン間で信頼関係を構成すると、それぞれのドメインにて信頼関係のパスワードを共有します。このパスワードは、Active Directory の信頼されたドメインオブジェクト (TDO) に格納されています。TDO に格納されたパスワードは既定で 30 日毎に変更されており、変更されたパスワードがすべてのドメインコントローラーに複製が行われるまでに時間がかかることを考慮し、パスワード変更後 1 時間は古いパスワードで認証が行われます。1 時間を超えても、変更後のパスワードが複製されていない古いパスワードを持ったドメインコントローラーでは認証が失敗します。
上記の構成図で、信頼関係のパスワードが DC1 と DC3 で変更が行われると、DC1 と DC2 のサイトが分かれているために、変更された信頼関係のパスワードが DC2 に複製されるまでに時間がかかる場合がございます。
3, 解決
本事象を回避するためには、以下の 3 つの方法のいずれかを実施します。
3-1. サイト間の複製間隔を 1 時間よりも短く設定する。
3-2. サイト間で変更通知を有効にする。
3-3. レジストリを変更し、古いパスワードを利用する時間をサイト間複製よりも長い時間に設定する。
それぞれの方法について手順をご案内いたします。
3-1, サイト間の複製間隔を 1 時間よりも短く設定する
サイト間の複製間隔は既定で 180 分となっております。以下の設定を行うことで、サイト間の複製間隔を変更することができます。
設定方法
- ドメインコントローラーに管理者権限を持ったユーザーでログオンします。
- [Active Directory サイトとサービス] を起動します。
- [Sites] - [Inter-Site Transports] 配下の対象のサイトリンクを選択します。
- 対象のサイトリンクを右クリックし、プロパティを開きます。
- [全般] タブから、”レプリケートの間隔” を変更し、[OK] をクリックします。設定単位は “分” です。
3-2, サイト間で変更通知を有効にする
サイト間の複製は既定では変更通知が無効になっており、定期的な間隔で複製が行われております。以下の設定を行うことで、サイト間の複製に対しても変更通知を有効にし、信頼関係のパスワードが更新されるとすぐに複製が行うことが可能となります。
設定方法
- ドメインコントローラーに管理者権限を持ったユーザーでログオンします。
- [Active Directory サイトとサービス] を起動します。
- [Sites] - [Inter-Site Transports] 配下の対象のサイトリンクを選択します。
- 対象のサイトリンクを右クリックし、プロパティを開きます。
- [属性エディター] タブから、[options] を選択します。
- フィルターの設定により表示されていない場合があります。既定では値を持っていない属性なので、[値を持つ属性のみを表示] というフィルターは無効にします。
- [options] の属性で [編集] をクリックし、値に 1 を入力して [OK] をクリックします。
- 0x1 = ( USE_NOTIFY) と表示されれば、対象のサイトリンクでサイト間の変更通知が有効になったことを示します。
※ サイト間通知の設定が反映されるまでに時間がかかる場合がございます。反映されない場合はしばらく時間を空けてご確認をいただけますようお願い申し上げます。
※ Options 属性に既に他の値が設定されている場合は、以下をご参考に USE_NOTIFY が設定される値を設定していただけますようお願い申し上げます。options 属性の設定値は下記の通りです。
0x1 USE_NOTIFY 0x2 TWOWAY_SYNC 0x3 USE_NOTIFY | TWOWAY_SYNC 0x4 DISABLE_COMPRESSION 0x5 USE_NOTIFY | DISABLE_COMPRESSION 0x6 TWOWAY_SYNC | DISABLE_COMPRESSION 0x7 USE_NOTIFY | TWOWAY_SYNC | DISABLE_COMPRESSION
3-3, レジストリを変更し、古いパスワードを利用する時間をサイト間複製よりも長い時間に設定する
以下のレジストリを設定することで、古いパスワードを利用する時間を変更することができます。既定は 1 時間です。
- 設定手順
すべてのドメインコントローラーで以下のレジストリを設定します。
1
2
3
4キー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kdc
名前: AllowedReplicationLatency
種類: REG_DWORD
データ: 遅延期間 (分単位)AllowedReplicationLatency が存在していない場合は追加します。
以下のコマンドを実行して KDC を再起動します。
1
net stop kdc && net start kdc
以上です。
本投稿が少しでも皆様のお役に立てば幸いです。
※ 本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。