動的グループの設定

動的グループを使用するには、以下の手順に従います。
cad126jp
動的グループを使用するには、以下の手順に従います。
  1. 動的グループにメンバを追加します
    次に、以下のアクションの一方または両方を実行することができます。
    • アプリケーション ロールの作成。
    • 動的ディレクトリ ロールの設定。
動的グループの有効化
動的ロールは、以下のオブジェクト クラスの
dxMemberURL
属性に基づきます。
  • dxDynamicGroupOfNames
  • dxDynamicGroupOfUniqueNames
dxMemberURL
が含まれるように、これらの属性を
groupOfNames
または
groupOfUniqueNames
オブジェクト クラスにそれぞれ追加できます。
注:
よくある勘違いで、メンバの値が一意であるように
groupOfNames
よりも
groupOfUniqueNames
が選択されます。
groupOfNames
groupOfUniqueNames
オブジェクト クラスのどちらを選択しても、メンバの値は一意になります。
groupOfUniqueNames
の場合には、
uniqueMember
属性は、別の構文
nameAndOptionalUID
を定義します。このサポートが含まれているのは、既存の X.500 展開から CA Directory に移行するお客様を支援するためです。このシナリオでは、同じ DN を持つディレクトリ情報ツリーに 2 つのエントリが存在することができますが、これらのエントリは一意識別子で区別されます。
nameAndOptionalUID
構文の UID 部分が使用されていない単純な LDAP 展開の場合は、この機能は同じなので、
groupOfNames/member
 を使用してください。
以下の手順に従います。
  1. DSA を停止します。
  2. DSA 設定に以下のコマンドを追加します。
    clear dynamic-group; set dynamic-group [tag] = { subtree = DN object-class = objectClass url-attr = attribute member-attr = attribute };
    以下に例を示します。
    clear dynamic-group; # to allow command to be reloaded on dxserver init set dynamic-group GROUP = { subtree = <c AU><o Democorp><ou Groups> objectclass = dxDynamicGroupOfNames url-attr = dxMemberURL member-attr = member };
  3. DSA を起動します。
  4. DIT にはグループ エントリを格納できるサブツリーが含まれることを確認します。
    注:
    [subtree = DN] パラメータを使用して、DSA が受信する各リクエストの baseObject を調べるための dynamic-group サブツリーを指定することもできます。このパラメータを使用して、このサブツリーのみに検索を絞り込むことができます。このパラメータは動的グループ メンバシップの search および compare リクエストをサポートします。
    set use-dynamic-roles = true;
    コマンドは必要ありません。
    ou=Groups,o=Democorp,c=AU
動的グループの作成
動的グループがディレクトリ エントリであるため、DSA を停止せずに、動的グループを作成できます。
グループ エントリの特別なサブツリーを作成します。この手順では、アクセス制御およびロールを後で実装できます。
以下の手順に従います。
  1. (オプション)サブツリーが存在しない場合は、グループ エントリのサブツリーを作成します。
  2. 以下の情報でグループ サブツリーにエントリを作成します。
    • オブジェクト クラス:
      groupOfNames
      dxDynamicGroupOfNames
    • LDAP 検索フィルタ:
      dxMemberURL
      属性にこのフィルタを含めます。
例:
マネージャ
の動的グループ エントリの作成
Manager ロールのユーザに対して、動的グループ サブツリーおよび動的グループ エントリを作成します。
dn: ou=Groups,o=Democorp,c=AU
objectClass: organizationalUnit
 
dn: cn=Managers,ou=Groups,o=Democorp,c=AU
objectClass: groupOfNames                    # structural objectClass that contains member
objectClass: dxDynamicGroupOfNames           # auxiliary objectClass that contains dxMemberURL
dxMemberURL: ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
動的グループへのメンバの追加
動的グループにメンバを追加するには、ユーザのエントリに情報を含めます。これによりそのロールのフィルタ基準が満たされます。
例:
Managers
グループへのユーザ
Craig Link
の追加
以下のフィルタを使用する動的グループを作成しました。
ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
ユーザにマネージャ グループを割り当てるには、以下の手順に従います。
  1. ユーザのエントリに
    position
    属性を追加します。
  2. position 属性に値
    Manager
    を追加します。
Manager
グループの次回評価時には、このユーザはこのグループのメンバになります。
dn: cn=Craig Link,ou=Users,o=Democorp,c=AU
objectClass: inetOrgPerson
surname: Link
position: Manager
動的グループからのメンバの除外
動的グループの member 属性の値入力を手動で阻止できます。動的グループの member 属性に対して不要な値が入力されることがあります。この基本データが原因で、動的グループ LDAP URL に一致するエントリが発生します。これを変更することはできません。これらの値は、動的グループの
dxExcludeMember
属性を使用して手動で除外できます。
例:
Administrators
グループからのユーザ
Joe Bloggs
の除外
ユーザはディレクトリの外の管理者(title=Administrator)です。この属性には、管理者権限を持たないユーザのディレクトリ ロールもあります。
以下の動的グループの場合
dn: cn=Administrators,ou=Groups,o=Democorp,c=AU
objectClass: groupOfNames
objectClass: dxDynamicGroupOfNames
dxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)
このグループには
dxMemberURL
を満たしている以下のユーザが含まれています。
dn: cn=Joe Bloggs,ou=Users,o=Democorp,c=AU
objectClass: inetOrgPerson
surname: Bloggs
title: Administrator
動的グループからユーザを除外することができますが、動的グループを次のように変更することによって、title 属性の値を保持することができます。
dn: cn=administrators,ou=Groups,o=Democorp,c=AU
objectClass: groupOfNames
objectClass: dxDynamicGroupOfNames
dxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)
dxExcludeMember: cn=Joe Bloggs,ou=Users,o=Democorp,c=AU
メンバを動的グループ メンバシップから除外すると、動的グループに関する以下の操作に影響が及びます。
  • メンバシップの検索:
    メンバを除外すると、
    filter containing member=<DN>
    が設定されている動的グループのサブツリーを検索しても、結果は返されません。
  • ロールの検索:
    メンバが明示的に除外された場合は、ユーザが DSA にバインドするときのロールのロードが影響を受けます。メンバが除外されたロールはロードされなくなります。(
    set use-dynamic-roles = true;
     が必要です) 
  • 動的グループの拡張:
    すべての属性を返す base-object-only 検索で動的グループを返すと、除外されたメンバはメンバ属性値リストに含まれません。
注:
  • base-object-only 検索を使用して動的グループを返すときには、制限が存在します。返される属性リストが指定されている場合に、member 属性の値が正しく入力されるには、このリストに少なくとも objectClass、
    dxMemberURL
    dxExcludeMember
    も含まれている必要があります。
  • dxDynamicGroupOfUniqueNames
    を使用する場合は、
    dxExcludeUniqueMember
    属性を使用するように動的グループを設定します。
  • dxExcludeMember
    に多くの値(> 100)を追加する場合は、動的グループ エントリ設定の再設定が必要になることがあります。この機能の目的は例外であってルールではありません。
  • ハイブリッド グループ(静的メンバと動的メンバの両方を含む)に
    dxExcludeMember
    と使用する場合は、静的メンバが除外されます。理想としては、静的メンバの値は明示的に削除される必要があります。
  • 静的グループには、
    dxExcludeMember
    は使用されません。必要でなくなった静的メンバの値は、単に削除することができます。
動的グループ設定の表示
DSA で使用中の動的グループ設定を表示するには、DSA コンソールから以下のコマンドを使用します。
get dynamic-groups;
このコマンドは、使用中の動的グループのリストを生成します。
例: get dynamic-groups による出力
************** GROUP ************** Group object class : dxDynamicGroupsOfNames Group Search URL : dxMemberURL Member to Append : member Member to Exclude : dxExcludeMember