4.7. アカウントポリシープラグインの属性

アカウントポリシーは、一定期間が経過すると自動的にアカウントをロックするように設定できます。これは、事前設定された期間にのみ有効な一時的なアカウントを作成したり、一定期間非アクティブであったユーザーをロックしたりするために使用できます。

Account Policy プラグイン自体は、プラグイン設定エントリーを参照する引数のみを受け入れます。

dn: cn=Account Policy Plugin,cn=plugins,cn=config
...
nsslapd-pluginarg0: cn=config,cn=Account Policy Plugin,cn=plugins,cn=config

アカウントポリシー設定エントリーは、サーバー全体で、アカウントポリシーに使用する属性を定義します。ほとんどの設定では、アカウントポリシーと有効期限の評価に使用する属性を定義しますが、設定はサブツリーレベルのアカウントポリシー定義を識別するために使用するオブジェクトクラスも定義します。

dn: cn=config,cn=Account Policy Plugin,cn=plugins,cn=config
objectClass: top
objectClass: extensibleObject
cn: config

... attributes for evaluating accounts ...
alwaysRecordLogin: yes
stateattrname: lastLoginTime
altstateattrname: createTimestamp

... attributes for account policy entries ...
specattrname: acctPolicySubentry
limitattrname: accountInactivityLimit

プラグインの 1 つがグローバルで設定され、ユーザーのサブツリー内にアカウントポリシーエントリーを作成したり、これらのポリシーをサービスのクラスを介してユーザーおよびロールに適用できます。

例4.2 アカウントポリシー定義

dn: cn=AccountPolicy,dc=example,dc=com
objectClass: top
objectClass: ldapsubentry
objectClass: extensibleObject
objectClass: accountpolicy
# 86400 seconds per day * 30 days = 2592000 seconds
accountInactivityLimit: 2592000
cn: AccountPolicy

個々のユーザーとロールまたは CoS テンプレートの両方のエントリーには、アカウントポリシーのサブエントリーを指定できます。すべてのアカウントポリシーのサブエントリーには、有効期限ポリシーに対して追跡される作成およびログイン時間があります。

例4.3 アカウントポリシーを含むユーザーアカウント

dn: uid=scarter,ou=people,dc=example,dc=com
...
lastLoginTime: 20060527001051Z
acctPolicySubentry: cn=AccountPolicy,dc=example,dc=com

4.7.1. altstateattrname

アカウントの有効期限ポリシーは、アカウントのいくつかの時間基準に基づいています。たとえば、非アクティブポリシーの場合、主要な基準は最終ログイン時刻 lastLoginTime です。ただし、アカウントにログインしたことがないユーザーなど、その属性がエントリーに存在しない場合があります。altstateattrname 属性は、サーバー が有効期限を評価するために参照する backup 属性を提供します。

パラメーター説明

エントリー DN

cn=config,cn=Account Policy Plugin,cn=plugins,cn=config

Valid Range

時間ベースのエントリー属性

デフォルト値

なし

構文

DirectoryString

altstateattrname: createTimeStamp

4.7.2. alwaysRecordLogin

デフォルトでは、アカウントポリシーが直接適用されているエントリー (つまり、acctPolicySubentry 属性を持つエントリー) のみがログイン時間を追跡します。アカウントポリシーがサービスクラスまたはロールを通じて適用される場合、acctPolicySubentry 属性は、ユーザーエントリー自体ではなく、テンプレートまたはコンテナーエントリーにあります。

alwaysRecordLogin 属性は、すべてのエントリーが最後のログイン時間を記録するように設定します。これにより、CoS およびロールを使用してアカウントポリシーを適用できます。

パラメーター説明

エントリー DN

cn=config,cn=Account Policy Plugin,cn=plugins,cn=config

Valid Range

yes | no

デフォルト値

いいえ

構文

DirectoryString

alwaysRecordLogin: no

4.7.3. alwaysRecordLoginAttr

Account Policy プラグインは、alwaysRecordLoginAttr パラメーターに設定された属性名を使用して、ユーザーのディレクトリーエントリーに最後に成功したログインの時間を保存します。詳細は、Directory Server 管理ガイドの該当するセクションを参照してください。

パラメーター説明

エントリー DN

cn=config,cn=Account Policy Plugin,cn=plugins,cn=config

Valid Range

有効な属性名

デフォルト値

stateAttrName

構文

DirectoryString

alwaysRecordLoginAttr: lastLoginTime

4.7.4. limitattrname

ユーザーディレクトリーのアカウントポリシーエントリーは、アカウントロックアウトポリシーの時間制限を定義します。この時間制限は任意のタイムベースの属性で設定でき、ポリシーエントリーには ti に複数の時間ベースの属性を含めることができます。アカウントの非アクティブ化制限に使用するポリシー内の属性は、Account Policy プラグインの limitattrname 属性で定義され、すべてのアカウントポリシーにグローバルに適用されます。

パラメーター説明

エントリー DN

cn=config,cn=Account Policy Plugin,cn=plugins,cn=config

Valid Range

時間ベースのエントリー属性

デフォルト値

なし

構文

DirectoryString

limitattrname: accountInactivityLimit

4.7.5. specattrname

アカウントポリシーには、プラグイン設定エントリーのグローバル設定と、ユーザーディレクトリー内のエントリーの yser- または subtree-level の設定という 2 つの設定エントリーがあります。アカウントポリシーはユーザーエントリーに直接設定することも、CoS またはロール設定の一部として設定することもできます。プラグインがアカウントポリシー設定エントリーであるエントリーを識別する方法は、アカウントポリシーとしてフラグを立てるエントリーの特定の属性を識別することです。プラグイン設定のこの属性は specattrname です。通常は acctPolicySubentry に設定されます。

パラメーター説明

エントリー DN

cn=config,cn=Account Policy Plugin,cn=plugins,cn=config

Valid Range

時間ベースのエントリー属性

デフォルト値

なし

構文

DirectoryString

specattrname: acctPolicySubentry

4.7.6. stateattrname

アカウントの有効期限ポリシーは、アカウントのいくつかの時間基準に基づいています。たとえば、非アクティブポリシーの場合、主要な基準は最終ログイン時刻 lastLoginTime です。アカウントポリシーの評価に使用される主な時間属性は、stateattrname 属性に設定されます。

パラメーター説明

エントリー DN

cn=config,cn=Account Policy Plugin,cn=plugins,cn=config

Valid Range

時間ベースのエントリー属性

デフォルト値

なし

構文

DirectoryString

stateattrname: lastLoginTime