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 テンプレートの両方のエントリーは、アカウントポリシーのサブエントリーになります。すべてのアカウントポリシーサブエントリーには、作成とログイン時間が expiration ポリシーに対して追跡されます。

例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 属性は、有効期限を評価するためのサーバー参照のバックアップ属性を提供します。

パラメーター説明

エントリー DN

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

有効な範囲

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

デフォルト値

なし

構文

DirectoryString

altstateattrname: createTimeStamp