JavaScriptが検索に必要です。
ナビゲーション・リンクをスキップ
印刷ビューの終了
Oracle Directory Server Enterprise Edition管理ガイド 11gリリース1(11.1.1.5.0)
検索フィルタ・アイコン
検索アイコン

ドキュメント情報

はじめに

第1部 Directory Serverの管理

1.  Directory Serverのツール

2.  Directory Serverのインスタンスと接尾辞

3.  Directory Serverの構成

4.  Directory Serverのエントリ

5.  Directory Serverのセキュリティ

6.  Directory Serverのアクセス制御

7.  Directory Serverのパスワード・ポリシー

パスワード・ポリシーおよびワークシート

パスワード・ポリシーの設定

アカウント・ロックアウトのポリシー

パスワード変更のポリシー

パスワード内容のポリシー

パスワード有効期限のポリシー

最終認証時間追跡のポリシー

パスワード・ポリシー定義用ワークシート

デフォルト・パスワード・ポリシーの管理

パスワード・ポリシー属性とdsconfサーバー・プロパティとの相関関係

デフォルト・パスワード・ポリシーの設定を表示するには:

デフォルト・パスワード・ポリシーの設定を変更するには:

パスワードのないバインドの防止

特殊パスワード・ポリシーの管理

どのパスワード・ポリシーを適用するか

パスワード・ポリシーを作成するには:

パスワード・ポリシーを個別アカウントに割り当てるには:

ロールおよびCoSを使用して、パスワード・ポリシーを割り当てるには:

初回ログインのパスワード・ポリシーを設定するには:

pwdSafeModifyTRUEである場合のコマンドラインからのパスワード変更

期限切れパスワードのリセット

パスワード変更の拡張操作により、パスワードをリセットするには:

パスワード失効時の猶予認証を許可するには:

アカウント・プロパティの設定

アカウントの検索制限を設定するには:

アカウントのサイズ制限を設定するには:

アカウントの時間制限を設定するには:

アカウントのアイドル・タイムアウトを設定するには:

アカウントの手動ロック

アカウント・ステータスをチェックするには:

アカウントを非アクティブにするには:

アカウントを再度アクティブにするには:

パスワード・ポリシーの互換性

互換性モードの設定

互換性モードの選択のガイドライン

新しいDirectory Server 11gリリース1(11.1.1.5.0)のデプロイメント

Directory Server 11gリリース1(11.1.1.5.0)へのデプロイメントの移行

管理パスワード・リセットの分類

8.  Directory Serverのバックアップとリストア

9.  Directory Serverのグループ、ロールおよびCoS

10.  Directory Serverのレプリケーション

11.  Directory Serverのスキーマ

12.  Directory Serverの索引作成

13.  Directory Serverの属性値の一意性

14.  Directory Serverのロギング

15.  Directory Serverの監視

第2部 Directory Proxy Serverの管理

16.  Directory Proxy Serverのツール

17.  Directory Proxy Serverのインスタンス

18.  LDAPデータ・ビュー

19.  Directory Proxy Serverの証明書

20.  Directory Proxy Serverのロード・バランシングとクライアント・アフィニティ

21.  Directory Proxy Serverの配布

22.  Directory Proxy Serverによる仮想化

23.  仮想データ変換

24.  Directory Proxy ServerとバックエンドLDAPサーバーの接続

25.  クライアントとDirectory Proxy Serverの接続

26.  Directory Proxy Serverのクライアント認証

27.  Directory Proxy Serverのロギング

28.  Directory Proxy Serverの監視とアラート

第3部 Directory Service Control Centerの管理

29.  Directory Service Control Centerの構成

索引

特殊パスワード・ポリシーの管理

特殊パスワード・ポリシーは、pwdPolicy(5dsoc)エントリ内で定義します。ポリシーはディレクトリ・ツリーの任意の場所で定義できますが、通常はそのポリシーで制御するアカウントでレプリケートされたサブツリーで行います。ポリシーは、cn=policy name,subtreeという形式のDNを持ちます。

パスワード・ポリシーを定義したら、目的のユーザー・エントリにpwdPolicySubentry(5dsat)属性を設定して、パスワード・ポリシーを割り当てます。

この項の項目は次のとおりです。

どのパスワード・ポリシーを適用するか

Directory Serverでは、複数のパスワード・ポリシーを構成できます。この項では、デフォルト・パスワード・ポリシーおよび特殊パスワード・ポリシーについて説明します。さらに、この項では、特定のアカウントに複数のパスワードポリシーを適用できる場合に、どのポリシーを強制するかについても説明します。

最初にDirectory Serverのインスタンスを作成すると、そのインスタンスはデフォルト・パスワード・ポリシーを持ちます。このデフォルト・パスワード・ポリシーは、構成エントリcn=PasswordPolicy,cn=configに表されます。デフォルトのパスワード・ポリシーはディレクトリ・マネージャを除くディレクトリ内のすべてのアカウントに適用されます。

すべてのDirectory Serverのパスワード・ポリシーと同様に、cn=PasswordPolicy,cn=configはオブジェクト・クラスpwdPolicy(5dsoc)およびオブジェクト・クラスsunPwdPolicy(5dsoc)を持ちます。


注意: Directory Serverのインスタンスを作成すると、パスワード・ポリシーの属性はDirectory Server 5互換モードのままとなり、以前のバージョンからのアップグレードが容易になります。Directory Server 5互換モードでは、Directory Serverはオブジェクト・クラスpasswordPolicy(5dsoc)を持つパスワード・ポリシー・エントリも処理します。

アップグレードが完了すると、全機能モードで新しいパスワード・ポリシーを使用します。これについては、Oracle Directory Server Enterprise Editionアップグレードおよび移行ガイドで説明しています。管理の移行は、ディレクトリ・アプリケーションに対して透過的に行われます。

この章では、新しいパスワード・ポリシー機能を使用したパスワード・ポリシーの構成について扱います。


デフォルト・パスワード・ポリシーを変更することで、デフォルト設定をオーバーライドできます。dsconf(1M)コマンドを使用して、デフォルト・パスワード・ポリシーのサーバー・プロパティを設定できます。このようなサーバー・プロパティ名は通常、pwd-の接頭辞で始まります。このようなプロパティの設定を変更する場合、インスタンスのデフォルト・パスワード・ポリシーをオーバーライドします。ただし、レプリケーションでは、レプリカに対する変更はコピーされません。デフォルト・パスワード・ポリシーに対する変更はインスタンスの構成の一部であり、ディレクトリ・データの一部ではありません。

デフォルト・パスワード・ポリシーの構成の他に、特殊パスワード・ポリシーも構成できます。特殊パスワード・ポリシーはディレクトリ・ツリーのエントリにより定義されます。特殊パスワード・ポリシーのエントリはデフォルト・パスワード・ポリシーと同じオブジェクト・クラスpwdPolicy(5dsoc)を持つため、同じポリシー属性を取ります。特殊パスワード・ポリシーは正規のディレクトリ・エントリなので、ポリシー・エントリは通常のディレクトリ・エントリと同じ方法でレプリケートされます。

ユーザー・エントリは、操作属性pwdPolicySubentry(5dsat)の値により特殊パスワード・ポリシーを参照します。ユーザー・エントリにより参照されると、特殊パスワード・ポリシーはインスタンスのデフォルト・パスワード・ポリシーをオーバーライドします。多くのデプロイメントでは、ユーザー・ロールを割り当てます。pwdPolicySubentryの値を設定することにより、サービス・クラス(CoS)と連携してユーザー・アカウントに適用するパスワード・ポリシーを決定するよう、ロールを構成できます。ロールによって設定されたパスワード・ポリシーをオーバーライドするには、そのユーザーのエントリ・ディレクトリのpwdPolicySubentry値を変更します。

この項を要約すると、最初にデフォルト・パスワード・ポリシーを適用します。デフォルト・パスワード・ポリシーを変更することで、デフォルトをオーバーライドできます。次に特殊パスワード・ポリシー・エントリを作成することで、デフォルト・パスワード・ポリシーをオーバーライドできます。パスワード・ポリシーにロールおよびCoSを割り当てる場合、個別エントリのパスワード・ポリシーを指定することで、CoSが割り当てられたポリシーをオーバーライドできます。

パスワード・ポリシーを作成するには:

特殊パスワード・ポリシーの作成および変更は、他のディレクトリ・エントリの作成および変更と同様の方法で行います。次の手順では、テキスト・エディタを使用して、LDIFでパスワード・ポリシー・エントリを記述する方法について説明します。さらには、-aオプション付きのldapmodifyコマンドを使用して、パスワード・ポリシー・エントリをディレクトリに追加します。

このタスクの実行には、DSCCが使用できます。詳細は、「Directory Service Control Centerのインタフェース」およびDSCCのオンライン・ヘルプを参照してください。

始める前に

特に記述がないかぎり、ここで示す例のデータはExample.ldifからのものとなります。

  1. 作成するポリシーについて、パスワード・ポリシー・ワークシートへの記入を済ませます。

    サンプルは、「パスワード・ポリシー定義用ワークシート」を参照してください。

  2. ワークシートに基づき、LDIFでパスワード・ポリシー・エントリを記述します。

    たとえば、次のポリシー・エントリは、Example.comでの臨時従業員用のパスワード・ポリシーを指定します。この従業員のサブツリーのルートはdc=example,dc=comです。

    dn: cn=TempPolicy,dc=example,dc=com
    objectClass: top
    objectClass: pwdPolicy
    objectClass: sunPwdPolicy
    objectClass: LDAPsubentry
    cn: TempPolicy
    pwdAttribute: userPassword
    pwdCheckQuality: 2
    pwdLockout: TRUE
    pwdLockoutDuration: 300
    pwdMaxFailure: 3
    pwdMustChange: TRUE

    デフォルト・パスワード・ポリシーの設定の他にも、ここで示すポリシーは追加動作を指定しています。パスワードの品質チェックが実行されます。3回連続してバインドが失敗すると、5分(300秒)間アカウントがロックされます。パスワードは、リセットの後に変更する必要があります。ポリシーがユーザー・アカウントに割り当てられると、ここで明示的に指定された設定で、デフォルト・パスワード・ポリシーがオーバーライドされます。

  3. パスワード・ポリシー・エントリをディレクトリに追加します。

    たとえば、次のコマンドにより、dc=example,dc=comの下にExample.comの臨時従業員用パスワード・ポリシーが追加されます。パスワード・ポリシーはpwp.ldifというファイルに保存されています。

    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f pwp.ldif
    Enter bind password: 
    adding new entry cn=TempPolicy,dc=example,dc=com
    
    $ ldapsearch -D uid=kvaughan,ou=people,dc=example,dc=com -w --b dc=example,dc=com \
    "(&(objectclass=ldapsubentry)(cn=temppolicy))"
    Enter bind password:
    version: 1
    dn: cn=TempPolicy,dc=example,dc=com
    objectClass: top
    objectClass: pwdPolicy
    objectClass: LDAPsubentry
    cn: TempPolicy
    pwdCheckQuality: 2
    pwdLockout: TRUE
    pwdLockoutDuration: 300
    pwdMaxFailure: 3
    pwdMustChange: TRUE
    $

    Example.ldifに示すように、kvaughanは人事マネージャであり、dc=example,dc=comエントリを変更するためのアクセス権を持っています。Example.ldifに示すように、Vaughanのバインド・パスワードは、briberyです。

関連項目

定義したポリシーにより、どのユーザー・アカウントを管理するかを定義するには、「パスワード・ポリシーを個別アカウントに割り当てるには:」または「ロールおよびCoSを使用して、パスワード・ポリシーを割り当てるには:」を参照してください。

パスワード・ポリシーを個別アカウントに割り当てるには:

次の手順では、既存のパスワード・ポリシーを1つのユーザー・アカウントに割り当てます。


注意: この手順を実行する前に、割り当てる特殊パスワード・ポリシーを用意しておく必要があります。「パスワード・ポリシーを作成するには:」を参照してください。


このタスクの実行には、DSCCが使用できます。詳細は、「Directory Service Control Centerのインタフェース」およびDSCCのオンライン・ヘルプを参照してください。

特に記述がないかぎり、ここで示す例のデータはExample.ldifからのものとなります。

ロールおよびCoSを使用して、パスワード・ポリシーを割り当てるには:

次の手順では、ロールおよびサービス・クラス(CoS)を適用して、既存の特殊パスワード・ポリシーをユーザー・セットに割り当てます。ロールおよびCoSの詳細は、第9章「Directory Serverのグループ、ロールおよびCoS」を参照してください。


注意: この手順を実行する前に、割り当てる特殊パスワード・ポリシーを用意しておく必要があります。「パスワード・ポリシーを作成するには:」を参照してください。


このタスクの実行には、DSCCが使用できます。詳細は、「Directory Service Control Centerのインタフェース」およびDSCCのオンライン・ヘルプを参照してください。

特に記述がないかぎり、ここで示す例のデータはExample.ldifからのものとなります。

  1. パスワード・ポリシーにより管理されるエントリのロールを作成します。

    たとえば、次のコマンドにより、Example.comの臨時従業員用のフィルタ処理されたロールが作成されます。

    $ cat tmp.ldif
    dn: cn=TempFilter,ou=people,dc=example,dc=com
    objectclass: top
    objectclass: LDAPsubentry
    objectclass: nsRoleDefinition
    objectclass: nsComplexRoleDefinition
    objectclass: nsFilteredRoleDefinition
    cn: TempFilter
    nsRoleFilter: (&(objectclass=person)(status=contractor))
    description: filtered role for temporary employees
    
    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f tmp.ldif
    Enter bind password: 
    modifying entry cn=TempFilter,ou=people,dc=example,dc=com
    
    $

    Example.ldifに示すように、kvaughanは人事マネージャであり、dc=example,dc=comエントリを変更するためのアクセス権を持っています。Example.ldifに示すように、Vaughanのバインド・パスワードは、briberyです。

  2. パスワード・ポリシー・エントリのDNを生成するサービス・クラスを作成します。

    このDNは、作成したロールを持つユーザーのpwdPolicySubentry属性の値となります。

    たとえば、次のコマンドにより、Example.comの臨時従業員用のフィルタ処理されたロールが作成されます。このコマンドにより、cn=TempPolicy,dc=example,dc=comがロールを持つユーザーに割り当てられます。

    $ cat cos.ldif
    dn: cn=PolTempl,dc=example,dc=com
    objectclass: top
    objectclass: nsContainer
    
    dn: cn="cn=TempFilter,ou=people,dc=example,dc=com",
     cn=PolTempl,dc=example,dc=com
    objectclass: top
    objectclass: extensibleObject
    objectclass: LDAPsubentry
    objectclass: costemplate
    cosPriority: 1
    pwdPolicySubentry: cn=TempPolicy,dc=example,dc=com
    
    dn: cn=PolCoS,dc=example,dc=com
    objectclass: top
    objectclass: LDAPsubentry
    objectclass: cosSuperDefinition
    objectclass: cosClassicDefinition
    cosTemplateDN: cn=PolTempl,dc=example,dc=com
    cosSpecifier: nsRole
    cosAttribute: pwdPolicySubentry operational
    
    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f cos.ldif
    Enter bind password: 
    modifying entry cn=TempFilter,ou=people,dc=example,dc=com
    
    $

    これで、ステータスがcontractorであるユーザーが、パスワード・ポリシーcn=TempPolicy,dc=example,dc=comの対象となります。

初回ログインのパスワード・ポリシーを設定するには:

多くのデプロイメントにおいて、新しいアカウントに適用するパスワード・ポリシーは既成アカウントに適用するパスワード・ポリシーとは異なります。この項では、初回ログインのパスワード・ポリシーについて説明します。このポリシーでは、新しく作成したアカウントに対して、ユーザーに3日の使用期間が与えられ、このアカウントがロックされるまでに新しいパスワードを設定するようにします。このポリシーはパスワードがリセットされたユーザーに対しても、同様に機能するよう設計されています。

このタスクの実行には、DSCCを使用できません。次の手順の説明に従って、コマンドラインを使用してください。

  1. 新しく作成されたアカウントための特殊パスワード・ポリシーを作成します。

    たとえば、有効期間を3日間(259,200秒)に設定するパスワード・ポリシー・エントリを追加します。


    注意: グローバル・パスワード・ポリシーでは、pwdMustChange(5dsat)TRUEに設定する必要があります。つまり、ユーザーは最初のバインド時にパスワードを変更する必要があります。

    $ dsconf set-server-prop -p port-no pwd-must-change-enabled:true

    $ cat firstLogin.ldif
    dn: cn=First Login,dc=example,dc=com
    objectClass: top
    objectClass: LDAPsubentry
    objectClass: pwdPolicy
    objectClass: sunPwdPolicy
    cn: First Login
    passwordStorageScheme: SSHA
    pwdAttribute: userPassword
    pwdInHistory: 0
    pwdExpireWarning: 86400
    pwdLockout: TRUE
    pwdMinLength: 6
    pwdMaxFailure: 3
    pwdMaxAge: 259200
    pwdFailureCountInterval: 600
    pwdAllowUserChange: TRUE
    pwdLockoutDuration: 3600
    pwdMinAge: 0
    pwdCheckQuality: 2
    pwdMustChange: TRUE
    
    $ ldapmodify -a -D cn=admin,cn=Administrators,cn=config -w - -f firstLogin.ldif
    Enter bind password: 
    adding new entry cn=First Login,dc=example,dc=com
  2. 新しく作成されたすべてのアカウントを含むロールを作成します。

    このロールの作成では、新しく作成されたアカウントを既存のアカウントと区別するなんらかの方法を設定します。

    1. 新しいアカウントを、pwdReset(5dsat)属性がTRUEに設定されたアカウントとして定義します。

      ユーザーのパスワードがパスワード管理者などの他のユーザーによって変更されると、pwdResetTRUEに設定されます。

    2. 新しいアカウントを識別するロールを作成します。

      たとえば、次のコマンドにより、パスワードがリセットされたアカウントのロールが作成されます。

      $ cat newRole.ldif 
      dn: cn=First Login Role,ou=people,dc=example,dc=com
      objectclass: top
      objectclass: LDAPsubentry
      objectclass: nsRoleDefinition
      objectclass: nsComplexRoleDefinition
      objectclass: nsFilteredRoleDefinition
      cn: First Login Role
      nsRoleFilter: (pwdReset=TRUE)
      description: Role to assign password policy for new and reset accounts
      
      $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f newRole.ldif
      Enter bind password: 
      adding new entry cn=First Login Role,ou=people,dc=example,dc=com
  3. 新しく作成されたアカウントのパスワード・ポリシーにサービス・クラスを割り当てます。
    $ cat newCoS.ldif 
    dn: cn=First Login Template,dc=example,dc=com
    objectClass: top
    objectClass: nsContainer
    
    dn: cn="cn=First Login Role,ou=people,dc=example,dc=com",
     cn=First Login Template,dc=example,dc=com
    objectClass: top
    objectClass: extensibleObject
    objectClass: LDAPSubEntry
    objectClass: CoSTemplate
    cosPriority: 1
    pwdPolicySubentry: cn=First Login,dc=example,dc=com
    
    dn: cn=First Login CoS,dc=example,dc=com
    objectClass: top
    objectClass: LDAPSubEntry
    objectClass: CoSSuperDefinition
    objectClass: CoSClassicDefinition
    cosTemplateDN: cn=First Login Template,dc=example,dc=com
    cosSpecifier: nsRole
    cosAttribute: pwdPolicySubentry operational
    
    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -f newCoS.ldif
    Enter bind password: 
    adding new entry cn=First Login Template,dc=example,dc=com
    
    adding new entry cn="cn=First Login Role,ou=people,dc=example,dc=com",
     cn=First Login Template,dc=example,dc=com
    
    adding new entry cn=First Login CoS,dc=example,dc=com

例7-1 パスワード・ポリシー割当てのチェック

追加したロールに適合する新しいユーザーを追加します。そのユーザーの追加により、新しいユーザーが新しいパスワード・ポリシーの対象となり、既存ユーザーは対象とならないことを確認します。

$ cat quentin.ldif
dn: uid=qcubbins,ou=People,dc=example,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: qcubbins
givenName: Quentin
sn: Cubbins
cn: Quentin Cubbins
mail: quentin.cubbins@example.com
userPassword: ch4ngeM3!
description: New account

$ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f quentin.ldif
Enter bind password: 
adding new entry uid=qcubbins,ou=People,dc=example,dc=com

$ ldapsearch -D uid=kvaughan,ou=people,dc=example,dc=com -w - \
-b dc=example,dc=com uid=qcubbins nsrole pwdPolicySubentry
Enter bind password:
version: 1
dn: uid=qcubbins,ou=People,dc=example,dc=com
nsrole: cn=first login role,ou=people,dc=example,dc=com
pwdPolicySubentry: cn=First Login,dc=example,dc=com
$ ldapsearch -b dc=example,dc=com uid=bjensen nsrole pwdPolicySubentry
version: 1
dn: uid=bjensen, ou=People, dc=example,dc=com

Barbara Jensenの既存アカウントはデフォルト・パスワード・ポリシーにより制御されます。一方で、、Quentin Cubbinsの新しいアカウントは定義したパスワード・ポリシーにより制御されます。

次のコマンドを入力して、適用されたパスワード・ポリシーの設定をチェックします。

# ldapsearch -D "cn=directory manager" -w - -b "cn=Password Policy,cn=config" -s base \
'(&(objectClass=ldapsubentry)(cn=Password Policy))'

version: 1
dn: cn=Password Policy,cn=config
objectClass: top
objectClass: ldapsubentry
objectClass: pwdPolicy
objectClass: sunPwdPolicy
objectClass: passwordPolicy
cn: Password Policy
pwdAttribute: userPassword
passwordStorageScheme: SSHA
passwordChange: on
pwdAllowUserChange: TRUE
pwdSafeModify: FALSE
passwordRootdnMayBypassModsChecks: off
passwordNonRootMayResetUserpwd: on
passwordInHistory: 0
pwdInHistory: 0
passwordMinAge: 0
pwdMinAge: 0
passwordCheckSyntax: off
pwdCheckQuality: 0
passwordMinLength: 6
pwdMinLength: 6
passwordMustChange: on  
pwdMustChange: TRUE 
passwordExp: off
passwordMaxAge: 0
pwdMaxAge: 0
passwordWarning: 86400
pwdExpireWarning: 86400
passwordExpireWithoutWarning: on
pwdGraceAuthNLimit: 0
pwdKeepLastAuthTime: FALSE
passwordLockout: off
pwdLockout: FALSE
passwordMaxFailure: 3
pwdMaxFailure: 3
passwordResetFailureCount: 600
pwdFailureCountInterval: 600
pwdIsLockoutPrioritized: TRUE
passwordUnlock: on
passwordLockoutDuration: 3600
pwdLockoutDuration: 3600