動的グループの設定
動的グループを使用するには、以下の手順に従います。
cad126jp
動的グループを使用するには、以下の手順に従います。
動的グループからメンバを除外することもできます。
動的グループの有効化
動的ロールは、以下のオブジェクト クラスの
dxMemberURL
属性に基づきます。- dxDynamicGroupOfNames
- dxDynamicGroupOfUniqueNames
dxMemberURL
が含まれるように、これらの属性を groupOfNames
または groupOfUniqueNames
オブジェクト クラスにそれぞれ追加できます。注:
よくある勘違いで、メンバの値が一意であるように groupOfNames
よりも groupOfUniqueNames
が選択されます。groupOfNames
と groupOfUniqueNames
オブジェクト クラスのどちらを選択しても、メンバの値は一意になります。groupOfUniqueNames
の場合には、uniqueMember
属性は、別の構文 nameAndOptionalUID
を定義します。このサポートが含まれているのは、既存の X.500 展開から CA Directory に移行するお客様を支援するためです。このシナリオでは、同じ DN を持つディレクトリ情報ツリーに 2 つのエントリが存在することができますが、これらのエントリは一意識別子で区別されます。nameAndOptionalUID
構文の UID 部分が使用されていない単純な LDAP 展開の場合は、この機能は同じなので、groupOfNames/member
を使用してください。以下の手順に従います。
- DSA を停止します。
- 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 };
- DSA を起動します。
- DIT にはグループ エントリを格納できるサブツリーが含まれることを確認します。注:[subtree = DN] パラメータを使用して、DSA が受信する各リクエストの baseObject を調べるための dynamic-group サブツリーを指定することもできます。このパラメータを使用して、このサブツリーのみに検索を絞り込むことができます。このパラメータは動的グループ メンバシップの search および compare リクエストをサポートします。set use-dynamic-roles = true;コマンドは必要ありません。ou=Groups,o=Democorp,c=AU
動的グループの作成
動的グループがディレクトリ エントリであるため、DSA を停止せずに、動的グループを作成できます。
グループ エントリの特別なサブツリーを作成します。この手順では、アクセス制御およびロールを後で実装できます。
以下の手順に従います。
- (オプション)サブツリーが存在しない場合は、グループ エントリのサブツリーを作成します。
- 以下の情報でグループ サブツリーにエントリを作成します。
- オブジェクト クラス:groupOfNames、dxDynamicGroupOfNames
- LDAP 検索フィルタ:dxMemberURL属性にこのフィルタを含めます。
例:
マネージャ
の動的グループ エントリの作成Manager ロールのユーザに対して、動的グループ サブツリーおよび動的グループ エントリを作成します。
dn: ou=Groups,o=Democorp,c=AUobjectClass: organizationalUnitdn: cn=Managers,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNames # structural objectClass that contains memberobjectClass: dxDynamicGroupOfNames # auxiliary objectClass that contains dxMemberURLdxMemberURL: ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
動的グループへのメンバの追加
動的グループにメンバを追加するには、ユーザのエントリに情報を含めます。これによりそのロールのフィルタ基準が満たされます。
例:
Managers
グループへのユーザ Craig Link
の追加以下のフィルタを使用する動的グループを作成しました。
ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
ユーザにマネージャ グループを割り当てるには、以下の手順に従います。
- ユーザのエントリにposition属性を追加します。
- position 属性に値Managerを追加します。
Manager
グループの次回評価時には、このユーザはこのグループのメンバになります。dn: cn=Craig Link,ou=Users,o=Democorp,c=AUobjectClass: inetOrgPersonsurname: Linkposition: Manager
動的グループからのメンバの除外
動的グループの member 属性の値入力を手動で阻止できます。動的グループの member 属性に対して不要な値が入力されることがあります。この基本データが原因で、動的グループ LDAP URL に一致するエントリが発生します。これを変更することはできません。これらの値は、動的グループの
dxExcludeMember
属性を使用して手動で除外できます。例:
Administrators
グループからのユーザ Joe Bloggs
の除外ユーザはディレクトリの外の管理者(title=Administrator)です。この属性には、管理者権限を持たないユーザのディレクトリ ロールもあります。
以下の動的グループの場合
dn: cn=Administrators,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNamesobjectClass: dxDynamicGroupOfNamesdxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)
このグループには
dxMemberURL
を満たしている以下のユーザが含まれています。dn: cn=Joe Bloggs,ou=Users,o=Democorp,c=AUobjectClass: inetOrgPersonsurname: Bloggstitle: Administrator
動的グループからユーザを除外することができますが、動的グループを次のように変更することによって、title 属性の値を保持することができます。
dn: cn=administrators,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNamesobjectClass: dxDynamicGroupOfNamesdxMemberURL: 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