Sun Identity Manager 8.1 リソースリファレンス

使用上の注意

ここでは、LDAP リソースアダプタの使用に関する情報を示します。 次のトピックで構成されています。

LDAP リソースでのパスワード同期の有効化については、第 51 章LDAP パスワードの同期を参照してください。

全般的な注意事項


注 –

更新履歴ログの監視にアカウントを使用する場合は、cn=changelog で ACI も作成するようにしてください。更新履歴ログのエントリに対しては書き込みも削除もできないため、アクセス権は読み取りと検索のみに設定するとよいでしょう。


Directory Server 向けの仮想リスト表示のサポート


注 –

ここでは、Identity Manager が RootDN 以外のユーザーとして LDAP リソースに接続することを前提としています。RootDN ユーザーとして接続する場合は、ここで説明する手順を適用できますが、ほかの LDAP 属性値でも可能な場合があります。詳細は、Directory Server のマニュアルを参照してください。

Microsoft ADAM でこの機能を有効にする方法については、「ADAM スキーマの修正」を参照してください。


Directory Server では、検索できる LDAP エントリの数と取得できる LDAP エントリの数を、それぞれ nsLookThroughLimit 属性と nsslapd-sizelimit 属性によって定義します。nsLookThroughLimit のデフォルト値は 5,000 で、nsslapd-sizelimit のデフォルト値は 2,000 です。どちらの属性も、-1 に設定すると制限が無効になります。これらの属性の値を変更した場合は、Directory Server を再起動してください。

必ずしもデフォルト値を変更した方がよいとは限りません。LDAP 検索のパフォーマンスを向上させるために、LDAP 仮想リスト表示 (VLV) コントロールを有効にできます。VLV は、一度にすべての検索結果を返さず、検索結果の一部を返します。

「ブロックを使用」リソース属性を使用すると、VLV コントロールの使用によって Identity Manager のクエリー結果を常にサイズ制限の範囲内を収めることができます。「ブロック数」リソース属性は、取得するユーザーの数を指定しますが、この値は nsslapd-sizelimit 属性に設定された値以下にする必要があります。

VLV インデックス (参照インデックスとも呼ばれる) を作成してください。 作成しないと、nsslapd-sizelimit によるサイズ制限が有効なままになります。VLV インデックスによってアカウントの反復処理のパフォーマンスが大幅に向上するため、調整、リソースからの読み込み、またはファイルへのエクスポートを頻繁に行う予定である場合は、インデックスを設定するようにしてください。

VLV インデックスの作成の詳細な手順については、Directory Server のマニュアルを参照してください。基本的なプロセスは次のとおりです。

ProcedureVLV インデックスを作成する

  1. 次のプロパティーを持つ vlvsearch オブジェクトを作成します。


    vlvbase: YourBaseContext
    vlvfilter: (&(objectclass=top)(objectclass=person)
    (objectclass=organizationalPerson) (objectclass=inetorgperson))
    vlvscope: 2

    vlvbase 属性は、「ベースコンテキスト」リソース属性に指定した値に一致させる必要があります。vlvfilter 属性には、「オブジェクトクラス」リソース属性に指定したクラスを、ここに示した形式で含める必要があります。vlvscope の値 2 は、サブツリー検索を示します。

  2. vlvindex コンポーネントを vlvsearch のサブオブジェクトとして作成します。vlvsort 属性を uid に設定してください。

  3. vlvindex コマンドまたはほかのメカニズムを使用して、VLV インデックスを構築します。

  4. ACI (アクセス制御命令) により次の項目のアクセス権を設定します。

    • vlvsearch オブジェクト

      • vlvindex

      • インデックスが作成されたディレクトリ

        更新履歴ログの VLV を設定するには、次の一般的な手順に従います。詳細な手順については、Directory Server のマニュアルを参照してください。

  5. 更新履歴ログの参照インデックスをまだ作成していない場合は、作成します。Directory Server のユーザーインタフェースを使用すると、デフォルトで “MCC cn=changelog” という名前の vlvsearch オブジェクトと、“SN MCC cn=changelog” という名前の vlvindex オブジェクトが作成されます。

  6. アクセス制御命令 (ACI) によりアクセス権を設定し、Identity Manager アカウントが次の項目の読み取り、比較、および検索の権限を持つようにします。

    • 更新履歴ログ (cn=changelog)

      • vlvsearch オブジェクト (cn=”MCC cn=changelog”,cn=config,cn=ldbm)

      • vlvindex オブジェクト (“SN MCC cn=changelog”,cn=config,cn=ldbm)

    Directory Server の一部のバージョンでは、更新履歴ログの nsLookThroughLimit 属性に 5,000 の値がハードコードされています。更新履歴ログの nsLookThroughLimit 制限にかかるのを避けるには、サーバーで保持する更新履歴ログエントリの最大数を 5,000 未満に制限します。更新履歴ログのエントリが失われるのを避けるには、アダプタのポーリング間隔を短くします。

アカウントの無効化と有効化

LDAP アダプタには、LDAP リソース上のアカウントを無効にするための方法が複数用意されています。アカウントを無効にするには、次のいずれかの手法を使用します。

パスワードを不明な値に変更する

アカウントのパスワードを不明な値に変更することによってアカウントを無効にするには、「LDAP アクティブ化メソッド」フィールドと「LDAP アクティブ化パラメータ」フィールドを空白のままにします。これは、アカウントを無効にするときのデフォルトの方法です。無効になったアカウントは、新しいパスワードを割り当てることによって再度有効にできます。

nsmanageddisabledrole ロールを割り当てる

nsmanageddisabledrole LDAP ロールを使用してアカウントの無効化と有効化を行うには、LDAP リソースを次のように設定します。

Procedurensmanageddisabledrole LDAP ロールを使用するように LDAP リソースを設定する

  1. 「リソースパラメータ」ページで、「LDAP アクティブ化メソッド」フィールドを nsmanageddisabledrole に設定します。

  2. 「LDAP アクティブ化パラメータ」フィールドを IDMAttribute=CN=nsmanageddisabledrole, baseContext に設定します。IDMAttribute は、次の手順でスキーマに指定します。

  3. 「アカウント属性」ページで、IDMAttribute を アイデンティティーシステム ユーザー属性として追加します。リソースユーザー属性を nsroledn に設定します。この属性のタイプは文字列にしてください。

  4. LDAP リソース上に nsAccountInactivationTmp という名前のグループを作成し、CN=nsdisabledrole,baseContext をメンバーとして割り当てます。

    これで、LDAP アカウントを無効にできます。LDAP コンソールを使用して検証するには、nsaccountlock 属性の値を確認します。値が true であれば、アカウントはロックされています。

    あとでアカウントが再度有効にされると、ロールからアカウントが削除されます。

nsAccountLock 属性を設定する

nsAccountLock 属性を使用してアカウントの無効化と有効化を行うには、LDAP リソースを次のように設定します。

ProcedurensAccountLock 属性を使用するように LDAP リソースを設定する

  1. 「リソースパラメータ」ページで、「LDAP アクティブ化メソッド」フィールドを nsaccountlock に設定します。

  2. 「LDAP アクティブ化パラメータ」フィールドを IDMAttribute=true に設定します。IDMAttribute は、次の手順でスキーマに指定します。たとえば、accountLockAttr=true とします。

  3. 「アカウント属性」ページで、「LDAP アクティブ化パラメータ」フィールドに指定した属性 (たとえば、accountLockAttr) を アイデンティティーシステム ユーザー属性として追加します。リソースユーザー属性を nsaccountlock に設定します。この属性のタイプは文字列にしてください。

  4. リソース上で、nsAccountLock LDAP 属性を true に設定します。

    アカウントを無効化すると、Identity Manager は、nsaccountlock を true に設定します。また、すでに nsaccountlock が true に設定されていた LDAP ユーザーについても、無効と見なします。nsaccountlock の値が true 以外の値 (NULL を含む) に設定されている場合、そのユーザーは有効であるとみなします。

nsmanageddisabledrole 属性や nsAccountLock 属性を使用せずにアカウントを無効にする

「使用中のディレクトリサーバーでは nsmanageddisabledrole 属性や nsAccountLock 属性を使用できないが、アカウントを無効にする同様の方法がある場合は、「LDAP アクティブ化メソッド」フィールドに次のいずれかのクラス名を入力します。「LDAP アクティブ化パラメータ」フィールドに入力する値は、クラスによって異なります。

Class Name  

使用する状況  

com.waveset.adapter.util.ActivationByAttributeEnableFalse

ディレクトリサーバーは、属性を false に設定することによってアカウントを有効にし、属性を true に設定することによってアカウントを無効にします。 

この属性をスキーママップに追加します。次に、「LDAP アクティブ化パラメータ」フィールドに、(スキーママップの左側に定義された) この属性の Identity Manager 名を入力します。

com.waveset.adapter.util.ActivationByAttributeEnableTrue

ディレクトリサーバーは、属性を true に設定することによってアカウントを有効にし、属性を false に設定することによってアカウントを無効にします。 

この属性をスキーママップに追加します。次に、「LDAP アクティブ化パラメータ」フィールドに、(スキーママップの左側に定義された) この属性の Identity Manager 名を入力します。

com.waveset.adapter.util.ActivationByAttributePullDisablePushEnable

Identity Manager は、LDAP から属性と値のペアを引き出すことによってアカウントを無効にし、LDAP に属性と値のペアをプッシュすることによってアカウントを有効にします。 

この属性をスキーママップに追加します。次に、「LDAP アクティブ化パラメータ」フィールドに属性と値のペアを入力します。スキーママップの左側に定義されている、属性の Identity Manager 名を使用します。

com.waveset.adapter.util.ActivationByAttributePushDisablePullEnable

Identity Manager は、LDAP に属性と値のペアをプッシュすることによってアカウントを無効にし、LDAP から属性と値のペアを引き出すことによってアカウントを有効にします。 

この属性をスキーママップに追加します。次に、「LDAP アクティブ化パラメータ」フィールドに属性と値のペアを入力します。スキーママップの左側に定義されている、属性の Identity Manager 名を使用します。

com.waveset.adapter.util.ActivationNsManagedDisabledRole

ディレクトリは、特定のロールを使用してアカウントステータスを決定します。このロールにアカウントが割り当てられている場合、そのアカウントは無効になります。 

このロール名をスキーママップに追加します。次に、「LDAP アクティブ化パラメータ」フィールドに次の形式で値を入力します。

IDMAttribute=CN=roleName, baseContext

IDMAttribute は、スキーママップの左側に定義されている、ロールの Identity Manager 名です。

ADAM のサポート

LDAP アダプタは、Microsoft の Application Directory Application Mode (ADAM) にプロビジョニングするように設定できます。次のそれぞれの節では、ADAM のサポートを有効にする方法について説明します。

ADAM スキーマの修正

Identity Manager で使用するために ADAM スキーマの調整が必要なことがあります。リソーススキーマおよび LDAP リソースのアイデンティティーテンプレートには、一意の識別子 (またはアカウント ID) の参照が含まれることがあります。ADAM は、次の点がその他の LDAP 実装と異なります。

ADAM スキーマは、属性インデックス設定を定義します。スキーマの各属性定義エントリには searchFlags 属性があります。たとえば Uid は、スキーマコンテキストの cn=Uid,cn=Schema に位置します。searchFlags 属性は、ビットマスクであり、1 (インデックス作成)、2 (コンテナごとのインデックス作成)、および 64 (効率的な VLV クエリをサポートするインデックス) の値はインデックス作成に関連します。

ADAM インスタンスでスキーマを更新する詳細は、Microsoft のマニュアルを参照してください。

ADAM でのアカウントの有効化と無効化

ADAM での調整では、ページング結果コントロールまたは仮想リスト表示コントロールのいずれかを使用できます。ページング結果コントロールを使用するには、リソースのリソースパラメータ設定ページで、「Use Paged Results Control」チェックボックスにチェックマークを付けます。仮想リスト表示コントロールを使用するには、リソースのリソースパラメータ設定ページの「VLV Sort Attribute」で名前を付けた属性が、有効な VLV クエリーをサポートするオプションを設定して、ADAM でインデックス化されている必要があります。詳細は、「ADAM スキーマの修正」を参照してください。

Active Sync は ADAM でサポートされていません。

次の手順に従って、Identity Manager が ADAM のアカウントを有効および無効にできるようにします。

ProcedureADAM でのアカウントの有効化と無効化

  1. 「LDAP リソースパラメータ」ページで、「LDAP アクティブ化メソッド」パラメータを com.waveset.adapter.util.ActivationByAttributePushDisablePullEnable に設定します。

  2. 「LDAP アクティブ化パラメータ」を Identity_System_Attribute=true に設定します。アイデンティティーシステム属性は、次の手順で「アカウント属性」ページで指定します。たとえば MyUserAccountDisabled=true とします。

  3. 「アカウント属性」ページで、「LDAP アクティブ化パラメータ」フィールドに指定したアイデンティティーシステム属性をアイデンティティーシステムユーザー属性として追加します。リソースユーザー属性を msDS-UserAccountDisabled に設定します。この属性のタイプは文字列にしてください。