Active Directory機能

最終更新日時:2011/06/02 03:52:27
Windows Server 2008 で追加された Active Directory の新機能のうち、 実環境で利用可能な機能について紹介して行きたいと思います。
← 1 2 3 

複数のパスワードポリシの運用が可能に

Windows Server 2000 および Windows Server 2003 で、Active Directory を構築したことがある人ならばある事実を知って愕然とした人も多かったのではないでしょうか。以前の Windows Server OS 環境において、Active Directory のドメインに所属するユーザのパスワードの文字数や難易度をユーザ・セキュリティグループ単位で変更したいと考えた場合は、そのパスワードのルールを設定しようとする単位分だけの Active Directory ドメインを構築する必要がありました。1つのドメインに対して設定できるパスワードポリシの数は、1つまでといった制約があったためです。

Windows Server 2008 の Active Directory 環境では、ユーザおよびグローバル セキュリティ グループ単位にパスワードを設定することができるようになったほか、複数のパスワードポリシを管理することもできるようになりました。同時にパスワードポリシごとに、アカウント ロックアウトの設定を割り当てることもできるようになりました。この機能により特権ユーザに対してのみ厳しいパスワードポリシを割り当て、一般ユーザには簡単なパスワードを割り当てるといったことも可能になります。

グローバル セキュリティ グループにパスワードポリシを設定する場合に、複数グループへ所属するアカウント向けには、どのパスワードポリシを優先するかといった設定もできるようになっています。

個別のパスワード ポリシを組織単位 (OU) に直接適用することができないため,OU のユーザに適用するには、シャドウ グループを使用する必要があります。個別のパスワード ポリシーを実行するため OU に論理的にマップされた、グローバル セキュリティ グループのことをシャドウ グループと呼んでおり、新しく作成したシャドウ グループに OU のユーザをメンバとして追加した後、このシャドウ グループに個別の設定が可能なパスワード ポリシーをその他の方法と同じように適用します。この方法を利用すると複数の OU に対しても個別のパスワードポリシを設定することができます。ただし、OU 間でユーザを移動する場合は、対応するシャドウ グループのメンバシップも更新する必要があります。

上記設定の注意点としては、この機能を利用する方法としては従来の Active Directory 管理コンソールから簡単に設定できるといった物ではなく、ADSI エディタを使用して Password Settings Object(以下PSO)を作成した後にユーザアカウントやグローバル セキュリティ グループに対して適用します。この際にグローバル セキュリティ グループに適用する場合はユーザアカウントをグローバル セキュリティ グループに追加しないとユーザのプロパティに適用されないため必ず適用を実施しましょう。

具体的に設定の手順を参照してみると以下のように実施します。

  1. MMC スナップインから ADSI エディタを起動します。
  2. 図5のように ADSI エディタの左ペインから
    「 CN=Password Settings Container,CN=System,DC=admintech,DC=local 」を右クリックして[新規作成]→[オブジェクト]を選択します。
    図5 ADSI エディタを使用する
  3. 図6のような[オブジェクトの作成]ウィザードが起動してきたら、項目に従って情報を入力します。
    図6 Password policyを設定する
  4. ウィザードに従ってポリシが作成できたら、ユーザをグローバル セキュリティ グループに対して作成したポリシを図7のように割り当てます。
    図7 グローバルセキュリティ グループに対してパスワードポリシを割り当てる

Password Policy をカスタムで作成する際には、Policy の名前とあわせて 表2の11の項目を必須で入力する必要があります。それ以外の項目については作成後に手動などの方法で追加する事も可能となっています。

表2 Password Policy オブジェクトの必須項目
項番 属性 説明(グループポリシー上の項目含む) Deault Domain Policy(表示)
1 cn msDS-PasswordSettingsで作成するポリシの名前 Unicode文字列 -
2 msDS-PasswordSettingsPrecedence パスワードの優先順位 整数 -
3 msDS-PasswordReversibleEncryptionEnabled 暗号化を元に戻せる状態でパスワードを保存する プール値 無効 (FALSE)
4 msDS-PasswordHistoryLength パスワードの履歴を記録する 整数 24
5 msDS-PasswordComplexityEnabled パスワードは要求する複雑さを満たす プール値 有効 (True)
6 msDS-MinimumPasswordLength パスワードの長さ 整数 7
7 msDS-MinimumPasswordAge パスワードの変更禁止期間 期間 1日
8 msDS-MaximumPasswordAge パスワードの有効期間 期間 42日
9 msDS-LockoutThreshold アカウントのロックアウトのしきい値 整数 0 回の無効なログオン試行
10 msDS-LockoutObservationWindow ロックアウト カウントのリセット 期間 未設定
11 msDS-LockoutDuration ロックアウト期間 期間 未設定

注1) msDS-MinimumPasswordAge の値は、msDS-MaximumPasswordAge の値以下に設定します
注2) msDS-LockoutObservationWindow の値は、msDS-LockoutDuration の値未満に設定はしません
注3) msDS-MaximumPasswordAge の値は、 0以上の値にする必要があります

項目を入力するにあたっては、整数値フィールドには「 0 」以上の整数,プール値には「 TRUE 」もしくは「 FALSE 」,期間値については d:hh:mm:ss 形式で入力を実施します。また、ldifdeコマンドでこの設定を作成する場合については、TechNetサイトの付録 『B: PSO 属性の制限事項』を参照ください。

ここまでの設定が完了したら、「 Active Directory ユーザーとコンピュータ 」を起動し、適用したユーザのプロパティを表示します。その際に、「 Active Directory ユーザーとコンピュータ」の「表示」の「拡張機能」を有効にし,適用したユーザのオブジェクトを右クリックし「プロパティ」を選択します。
「プロパティ」内の「属性エディタ」をクリックし、ユーザー オブジェクトの属性を表示します。その際に右下にある「フィルタ」をクリックし,「読み取り専用属性の表示」配下の「構築済み」オプションを有効にします。
「 msDS-ResultantPSO 」に先ほど設定したパスワードポリシの「 distinguishedName 」が表示されていることが確認できます。

ユーザやグローバル セキュリティ グループに複数追加されている可能性があるため,パスワードポリシのオプションには「msDS-PasswordSettingsPrecedence」が用意されており,この値を小さくしたパスワードポリシを優先する構造になっています。
現在どのポリシが割り当たっているかは、ユーザのプロパティから図8のように参照することができます。

図8 現在の適用されているPassWord Policyを表示する
図8 現在の適用されているPassWord Policyを表示する

具体的にはパスワードポリシーは、以下の順番で優先的に適用されます。

  1. .ユーザに直接関連付けられている場合は、ユーザに関連付けられたポリシー
  2. ユーザに複数のポリシが直接関連付けられている場合は、優先順位の値が最も低いポリシー ( PSOのmsDS-PasswordSettingsPrecendence 属性による)
  3. ユーザに同じ優先順位のポリシーが複数関連付けられている場合は、 objectGUID の値が最も低いポリシー
  4. ユーザに直接関連付けられたポリシーが存在しない場合は、ユーザが所属するグローバル セキュリティ グループに関連付けられたポリシー
  5. ユーザに直接関連付けられたポリシーが存在しない場合に、ユーザが所属するグローバル セキュリティ グループに関連付けられたポリシーが複数ある場合は優先順位の値が最も低いポリシー ( PSOのmsDS-PasswordSettingsPrecendence 属性による)
  6. ユーザに直接関連付けられたポリシーが存在しない場合に、ユーザが所属するグローバル セキュリティ グループに関連付けられたポリシーの優先順位の値が同じ PSO が複数ある場合は、objectGUID の値が最も小さいポリシー
  7. ユーザに関連づけられたポリシーが存在しない場合は、デフォルトのドメインパスワードポリシー

少し気になる点としては、本機能を利用して「パスワードの有効期間」を10秒(検証のため,短く設定),「パスワードの履歴を記録する」を24回といた単位に設定した場合に、コンピュータをログオフして再度ログオンしようとしたところ,パスワードの変更を実施するように促されました。パスワードを変更する際に前回と同じパスワード(複雑さの条件などは当然満たしている)に変更しようとした場合も,なぜか複雑さを満たしていないような図9のようにメッセージが表示されました。動作としての問題は特にないようでした。

図9:ドメインのパスワード変更失敗

※パスワードポリシー設定の手順の細かい設定値については、 『Step-by-Step Guide for Fine-Grained Password and Account Lockout Policy Configuration』を参照ください。

INDEX

▲このページのトップへ