この章では、Oracle Internet Directoryで静的グループと動的グループの両方を管理する方法について説明します。この章の項目は次のとおりです。
Oracle Internet Directoryでは、静的グループと動的グループの2種類のグループでメンバーシップを割り当てて管理できます。各タイプのグループは、それぞれ異なる目的に適しています。
| 関連項目: 
 | 
この項の項目は次のとおりです。
静的グループは、明示的に管理するメンバーのリストを含むエントリで構成されるグループです。
静的グループに対しては、管理者がそのメンバーシップを明示的に管理する必要があります。たとえば、メンバーが名前を変更した場合、管理者はそのメンバーが属する各グループでそのユーザーの識別名を変更する必要があります。このため、静的グループは、メンバーシップの変更が頻繁に行われないグループに適しています。
この種のグループのエントリを作成する場合は、エントリをgroupOfNamesオブジェクト・クラスまたはgroupOfUniqueNamesオブジェクト・クラスのいずれかと関連付けます。
いずれのオブジェクト・クラスにも、グループ・メンバーの名前を格納するための複数値属性があります。ユーザーをグループのメンバーとして割り当てるには、各メンバーの識別名を対応する複数値属性に追加します。逆に、グループからメンバーを削除するには、そのメンバーの識別名を対応する属性から削除します。この複数値属性は、groupOfNamesオブジェクト・クラスではmemberで、groupOfUniqueNamesオブジェクト・クラスではuniqueMemberです。
動的グループは、そのメンバーシップがリストで管理されるのではなく、指定した規則およびアサーションに基づいて計算されるグループです。Oracle Internet Directory 10g(10.1.4.0.1)では、labeleduri属性に基づく動的グループはキャッシュされます。
キャッシュされることで、動的グループが追加されると、その動的グループのメンバーが計算され、動的グループを後で変更したときに、メンバー・リストの一貫性が維持されます。エントリが追加、変更、削除されたり、名前の変更が行われたりすると、すべての動的グループのメンバー・リストの一貫性が維持されます。たとえば、c=usの下にすべてのpersonエントリを含む動的グループがある場合、cn=user1,c=usを追加すると、そのエントリは動的グループのメンバー・リストに自動的に追加されます。同様に、cn=user1,c=usを削除すると、エントリは動的グループのメンバー・リストから削除されます。この機能により、動的グループの検索が実行された場合はいつでも、メンバー・リストを追加の計算なしで返すことができます。labeleduriを使用する動的グループの検索のパフォーマンスは、静的グループの場合とほぼ同じになりました。
動的グループは、静的メンバーと動的メンバーを持つことができます。静的メンバーは、memberまたはuniquemember属性の値として表示されます。
| 関連項目: 
 | 
Oracle Internet Directory 10g(10.1.4.1)以降のリリースでは、動的グループを静的グループと同様に使用できます。たとえば、動的グループは次のもので使用できます。
動的グループには、Oracle Internet Directoryで次の制限事項があります。
labeleduri属性に基づく動的グループのみがキャッシュされます。CONNECT_BYアサーションに基づく動的グループはキャッシュされません。
階層問合せと、メンバーの特定の属性関連の問合せは、キャッシュされた動的グループに対してのみ行うことができます。
動的グループを追加できるのは、ldapaddまたはをODSM使用した場合のみです。bulkloadを使用して追加することはできません。
catalogツールを使用してct_memberまたはct_uniquememberカタログ表を削除し、再作成する場合は、ldapmodifyを使用してDSA構成エントリのorclrefreshdgrmems属性を1に設定することにより、動的グループ・メンバー・リストを再計算する必要があります。
labeleduriのLDAPフィルタ部分で使用される属性は、索引付けされている必要があります。「catalogを使用した既存の属性の索引の作成および削除」および「属性の索引付けの概要」を参照してください。
動的グループを作成する場合も、静的グループの作成と同様に、まずエントリをgroupOfNamesオブジェクト・クラスまたはgroupOfUniqueNamesオブジェクト・クラスのいずれかに関連付けます。次に、そのオブジェクト・クラスを補助型オブジェクト・クラスorclDynamicGroupと関連付けます。この補助型オブジェクト・クラスには、グループのメンバーシップを動的に計算するための2つの方法のいずれかを指定する各種属性があります。
この2つの方法は、次のとおりです。
この方法を使用する場合、ディレクトリ・サーバーはDITの階層構造に基づいて通常の検索を実行します。この検索を実行するには、orclDynamicGroupオブジェクト・クラスの属性の1つlabeledURIに対して値を設定する必要があります。この属性には、問合せのベース、フィルタ、その他の必要なすべての属性を指定します。たとえば、labeledURI属性に次のような値を入力したとします。
labeledURI:ldap://host:port/ou=NewUnit,o=MyCompany,c=US??sub?(objectclass=person)
この方法を使用した場合、エントリの検索では、グループの全メンバーのエントリが返されます。
labeledURI属性メソッドを使用する場合は、orclConnectByAttributeや orclConnectByStartingValueを設定しないでください。
| 注意:labeledURI属性では、 host:portセクションは構文を目的としてのみ存在します。labeledURI属性のホストおよびポートの設定とは関係なく、ディレクトリ・サーバーは常にローカル・ディレクトリ・サーバーから動的グループのメンバーを算出します。他のディレクトリ・サーバーからメンバーを取得することはできません。 | 
| 関連項目:『The LDAP URL Format』(RFC 2255)(T. Howes、M. Smith著、1997年12月)を参照してください。このRFCでは、 labeledURI属性などでLDAP URLを表示する方法について説明しています。Webサイトhttp://www.ietf.orgで入手可能です。 | 
この方法は、前述の方法と異なり、DITの階層構造ではなく、エントリを暗黙的に相互に結び付ける属性を、DIT内での位置に関係なく利用します。たとえば、manager属性は、従業員のエントリをその上司のエントリと結び付けます。この結び付きは、DIT内での従業員の位置に関係なく適用されます。このメソッドでは、CONNECT BY句を使用して、階層の作成に使用する属性(managerなど)とその階層の開始値(cn=Anne Smith,cn=users,dc=example,dc=comなど)を指定します。
| 関連項目:『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』の階層検索の実行に関する項 | 
具体的には、このメソッドを使用する場合、表15-1に示す単一値属性の各値をorclDynamicGroupオブジェクト・クラスに指定します。
表15-1 Connect ByアサーションのためのorclDynamicGroup属性
| 属性 | 説明 | 
|---|---|
| orclConnectByAttribute | 問合せのフィルタとして使用する属性(例:  | 
| orclConnectByStartingValue | 
 | 
CONNECT BYアサーション・メソッドを使用する場合は、labeledURIを設定しないでください。
たとえば、米国のMyOrganizational UnitのAnne Smithの部下であるすべての従業員のエントリを取得するには、前述の属性に対して次のような値を設定します。
orclConnectByAttribute=manager orclConnectByStartingValue= "cn=Anne Smith,ou=MyOrganizationalUnit,o=MyCompany,c=US"
また、すべてのメンバーの特定の属性(email属性など)の値を取得することを指定するアプリケーションを開発することもできます。
| 関連項目:特定の属性の値を取得するアプリケーションを開発する方法の詳細は、『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』を参照してください。 | 
次の例は、2種類の動的グループ・エントリを示しています。
例: labeledURI属性を使用した動的グループ・エントリ
次の例は、labeledURI属性を使用した動的グループ・エントリを示しています。
dn: cn=dgroup1 cn: dgroup1 description: this is an example of a dynamic group labeleduri:ldap://hostname:7777/ou=oid,l=amer,dc=oracle, dc=dgrptest??sub?objectclass=person objectclass: orcldynamicgroup objectclass: groupOfUniqueNames objectclass: top
このグループには、サブツリーou=oid,l=amer,dc=oracle,dc=dgrptest内のオブジェクト・クラスpersonに関連付けられている、すべてのエントリの識別名となるuniquemember値が指定されます。
例: CONNECTBYアサーションを使用した動的グループ・エントリ
次の例は、CONNECT_BYアサーションを使用した動的グループ・エントリを示しています。
dn: cn=dgroup2 cn: dgroup2 description: this is connect by manager assertion dynamic group orclconnectbyattribute: manager orclconnectbystartingvalue: cn=john doe sr,l=amer,dc=oracle,dc=dgrptest objectclass: orcldynamicgroup objectclass: groupOfUniqueNames objectclass: top
この動的グループは、固有のメンバーとして、manager属性が間接または直接cn=john doe sr.であるすべてのエントリの識別名を値に持ちます。cn=john doe JR.が複数の従業員の上司として指定されており、さらにその上司としてcn=john doe SR.が指定されている場合、cn=john doe SR.より下位のすべての部下が返されます。
階層は、明示的または暗黙的のいずれかにできます。
明示的階層では、DITのエントリの位置によって関係が決まります。たとえば、グループAはDITでグループBより上位にあります。
暗黙的階層では、エントリ間の関係は、DIT内の位置によってではなく、特定の属性の値によって決まります。たとえば、John DoeのエントリがAnne Smithと同じレベルの階層にあるDITがあるとします。ただし、John Doeのエントリでは、manager属性にAnne Smithが彼の上司として指定されているとします。この場合、DITでの両方の位置は同レベルですが、Anne SmithはJohn Doeの上司として指定されているため、階層のランクは同一ではありません。
| 注意:階層グループを作成する場合は、正しい階層となるように注意してください。たとえば、正しい階層では、グループAはグループBのメンバーとなることができますが、グループBが同時にグループAのメンバーとなることはできません。後者の関係は循環的であるため、グループAのメンバーの検索は失敗します。 暗黙的階層に基づく問合せでは、クライアントは検索リクエストに制御2.16.840.1.113894.1.8.3を指定できます。この問合せのフィルタは、暗黙的階層の作成に使用する属性を指定します。たとえば、 Oracle Internet Directoryで使用される制御の詳細は、『Oracle Fusion Middleware Oracle Identity Managementユーザー・リファレンス』のLDAP制御に関する項を参照してください。 | 
| 関連項目:『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』の「C API」 | 
アプリケーションは、いずれかのグループに問い合せて、次の操作を実行できます。
グループのすべてのメンバーをリスト
あるユーザーがメンバーであるすべてのグループをリスト
あるユーザーが特定のグループのメンバーであるかどうかをチェック
また、指定するメンバー属性について、動的グループに問合せできますが、静的グループには問合せできません。
使用するグループについて検討する場合は、管理の容易性とパフォーマンスの効率を比較検討する必要があります。たとえば、動的グループは管理が容易ですが、パフォーマンスが低下します。表15-2に、静的グループを使用すべきか動的グループを使用すべきかを検討する場合の考慮事項を示します。
表15-2 静的グループと動的グループについての考慮事項
| 考慮事項 | 静的グループ | 動的グループ | 
|---|---|---|
| 管理の容易性 | グループのメンバーシップが大きく、頻繁に変更がある場合は管理が困難 | 特に、グループのメンバーシップが大きく、頻繁に変更がある場合に有効 | 
| パフォーマンス | メンバーシップ・リストを明示的に管理するため、パフォーマンスが向上 | 静的グループと比較すると、 | 
静的および動的グループ・エントリを管理するには、Oracle Directory Services Managerの「データ・ブラウザ」ページを使用します。「Oracle Directory Services Managerを使用したエントリの管理」の手順を使用して、グループ・エントリの表示、グループの検索およびグループの表示を行えます。グループの作成および変更の手順はこの項で説明します。この項の項目は次のとおりです。
静的グループ・エントリがgroupOfNamesオブジェクト・クラスに属する場合は、複数値属性memberに識別名を追加してグループのメンバーシップを決定します。エントリがgroupOfUniqueNamesオブジェクト・クラスに属する場合は、複数値属性uniqueMemberに識別名を追加してグループのメンバーシップを決定します。
静的グループ・エントリを追加する手順は、次のとおりです。
「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。
タスク選択バーで、「データ・ブラウザ」を選択します。
ツールバーの「エントリを新規作成します。」アイコンを選択します。あるいは、エントリを右クリックし、「作成」を選択します。
または、作成するグループに似たグループを選択し、「このエントリに類似したエントリを新規作成します。」アイコンを選択します。あるいは、エントリを右クリックし、「作成」を選択します。
新規エントリの作成ウィザードが表示されます。
新規エントリのオブジェクト・クラスを指定します。「追加」アイコンをクリックし、「オブジェクト・クラスの追加」ダイアログを使用して、groupOfNamesまたはgroupOfUniqueNamesを選択します。(このオブジェクト・クラスからtopまでのすべてのスーパークラスも追加されます。)
「OK」をクリックします。
「エントリの親」フィールドで、作成するエントリの親エントリの完全な識別名を指定できます。「参照」をクリックして、追加するエントリの親の識別名を見つけて選択し、「選択」をクリックすることもできます。
「エントリの親」フィールドを空白のままにすると、ルート・エントリの下にエントリが作成されます。
「次へ」をクリックします。
このエントリの相対識別名値となる属性を選択し、その属性の値を入力します。cn属性がRDN値でない場合でも、この値を入力する必要があります。
「次へ」をクリックします。このウィザードの次のページが表示されます。(あるいは、「戻る」をクリックして前のページに戻ります。)
「終了」をクリックします。
所有者またはメンバーを追加するには、先ほどデータ・ツリーに作成したグループ・エントリに移動します。
「グループ」タブを選択します。
グループに所有者を追加するには、「所有者」ボックスの横にある「追加」アイコンをクリックします。
所有者として追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
グループにメンバーを追加するには、「メンバー」テキスト・ボックスの横にある「追加」アイコンをクリックします。
メンバーとして追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
必要に応じてエントリの説明を入力します。
「適用」を選択して変更を適用するか、「元に戻す」を選択して変更を破棄します。
グループ・エントリに他の変更を行うには、「Oracle Directory Services Managerを使用した静的グループ・エントリの変更」を参照してください。
グループ・エントリの属性(メンバー・リストなど)を変更する手順は、次のとおりです。
データ・ツリーでグループを選択します。
所有者またはメンバーを追加または削除するには、「グループ」タブまたは「属性」タブを選択します。
グループにメンバーを追加するには、「メンバー」テキスト・ボックスの横にある「追加」アイコンをクリックします。
メンバーとして追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
グループに所有者を追加するには、「所有者」テキスト・ボックスの横にある「追加」アイコンをクリックします。
所有者として追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
所有者またはメンバーを削除するには、リストで選択し、「削除」アイコンをクリックします。
所有者またはメンバー以外の属性を追加または変更するには、「属性」タブを選択します。
デフォルトでは、空でない属性のみが表示されます。「ビュー」リストを使用すると、「管理対象属性」と「すべて表示」を切り替えることができます。
管理対象属性として表示されている属性のリストを変更するには、「オプション属性」のアイコンをクリックします。「すべての属性」リストから「表示された属性」リストに移動する属性を選択し、「移動」および「すべて移動」の矢印を使用して属性を移動します。「表示された属性」リストから「すべての属性」リストに移動する属性を選択し、「削除」および「すべて削除」の矢印を使用して属性を移動します。「属性の追加」をクリックして変更を有効にするか、「取消」をクリックして変更を破棄します。「属性の追加」をクリックすると、「表示された属性」リストにあった属性のみが「管理対象属性」ビューに表示されます。
オプション・プロパティの値を指定します。必須プロパティの値を変更することもできます。複数値属性の場合、「追加」および「削除」アイコンを使用して複数の値を追加および削除できます。
「適用」をクリックして変更を保存するか、「元に戻す」をクリックして変更を破棄します。
「サブツリー・アクセス」および「ローカル・アクセス」タブを使用して、このエントリに対してアクセス制御ポイント(ACP)を設定できます。手順は、「Oracle Directory Services Managerのデータ・ブラウザを使用したACPの追加または変更」および「Oracle Directory Services Managerのデータ・ブラウザを使用したエントリ・レベルのアクセスの設定または変更」を参照してください。
動的グループは、静的メンバーと動的メンバーを持つことができます。静的メンバーは、memberまたはuniquemember属性の値として表示されます。動的グループ・エントリがgroupOfNamesオブジェクト・クラスに属する場合は、複数値属性memberに識別名を追加してグループに静的メンバーを追加します。動的グループ・エントリがgroupOfUniqueNamesオブジェクト・クラスに属する場合は、複数値属性uniqueMemberに識別名を追加してグループに静的メンバーを追加します。
動的グループの場合、グループのメンバーシップの算出方法を指定するための属性も設定する必要があります。グループのメンバーシップの動的な計算には、labeledURIまたはCONNECT BYメソッドを選択する必要があります。両方の方法を使用することはできません。labeledURIメソッドを使用する場合は、labeledURI属性を設定する必要がありますが、orclConnectByAttribute属性とorclConnectByStartingValue属性を設定する必要はありません。CONNECT BYメソッドを使用する場合は、orclConnectByAttribute属性とorclConnectByStartingValue属性を設定する必要がありますが、labeledURI属性を設定する必要はありません。
動的グループ・エントリを追加する手順は、次のとおりです。
「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。
タスク選択バーで、「データ・ブラウザ」を選択します。
ツールバーの「エントリを新規作成します。」を選択します。新規エントリの作成ウィザードが表示されます。
新規エントリのオブジェクト・クラスを指定します。少なくとも次のオブジェクト・クラス・エントリを選択します。
「追加」アイコンをクリックし、「オブジェクト・クラスの追加」ダイアログを使用して、オブジェクト・クラスのエントリを選択します。必要に応じて、検索ボックスを使用してオブジェクト・クラスのリストをフィルタリングします。オブジェクト・クラスを追加するには、オブジェクト・クラスを選択して「OK」をクリックします。(このオブジェクト・クラスからtopまでのすべてのスーパークラスも追加されます。)
「エントリの親」フィールドで、作成するエントリの親エントリの完全な識別名を指定できます。「参照」をクリックして、追加するエントリの親の識別名を見つけ、「選択」をクリックすることもできます。
「エントリの親」フィールドを空白のままにすると、ルート・エントリの下にエントリが作成されます。
「次へ」をクリックします。
このエントリの相対識別名値となる属性を選択し、その属性の値を入力します。cn属性がRDN値でない場合でも、この値を入力する必要があります。
「次へ」をクリックします。このウィザードの次のページが表示されます。(あるいは、「戻る」をクリックして前のページに戻ります。)
「終了」をクリックします。
所有者またはメンバーを追加するには、先ほどデータ・ツリーに作成したグループ・エントリに移動します。(新規エントリを表示するには、「リフレッシュ」アイコンをクリックする必要がある場合があります)。
「グループ」タブを選択します。
グループに所有者を追加するには、「所有者」ボックスの横にある「追加」アイコンをクリックします。
所有者として追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
グループにメンバーを追加するには、「メンバー」テキスト・ボックスの横にある「追加」アイコンをクリックします。
メンバーとして追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
必要に応じてエントリの説明を入力します。
「適用」を選択して変更を適用するか、「元に戻す」を選択して変更を破棄します。
「属性」タブを選択します。
「ビュー」リストを使用すると、「管理対象属性」と「すべて表示」を切り替えることができます。
管理対象属性として表示されている属性のリストを変更するには、「オプション属性」のアイコンをクリックします。「すべての属性」リストから「表示された属性」リストに移動する属性を選択し、「移動」および「すべて移動」の矢印を使用して属性を移動します。「表示された属性」リストから「すべての属性」リストに移動する属性を選択し、「削除」および「すべて削除」の矢印を使用して属性を移動します。「属性の追加」をクリックして変更を有効にするか、「取消」をクリックして変更を破棄します。「属性の追加」をクリックすると、「表示された属性」リストにあった属性のみが「管理対象属性」ビューに表示されます。
labeledURIメソッドを使用してグループのメンバーシップを動的に計算する場合は、labeledURI属性を設定する必要がありますが、orclConnectByAttribute属性とorclConnectByStartingValue属性を設定する必要はありません。「属性」タブ・ページの「labeledURI」フィールドで、次のように指定します。
ldap:ldap_URL
次に例を示します。
ldap://my_host:3000/ou=MyNeworganizationalUnit, o=MyCompany,c=US??sub?(objectclass=person)
CONNECT BYメソッドを使用してグループのメンバーシップを動的に計算する場合は、orclConnectByAttribute属性とorclConnectByStartingValue属性を設定する必要がありますが、labeledURI属性を設定する必要はありません。「orclConnectByAttribute」フィールドで、問合せのフィルタとして使用する属性(managerなど)を指定します。「orclConnectByStartingValue」フィールドで、orclConnectByAttribute属性で指定した属性の識別名(cn=Anne Smithなど)を指定します。
「属性」タブ・ページに表示される他の属性の指定方法については、『Oracle Fusion Middleware Oracle Identity Managementユーザー・リファレンス』のユーザーおよびグループ・スキーマ要素に関する項を参照してください。
「適用」をクリックして変更を保存するか、「元に戻す」をクリックして変更を破棄します。
「サブツリー・アクセス」および「ローカル・アクセス」タブを使用して、このエントリに対してアクセス制御ポイント(ACP)を設定できます。手順は、「Oracle Directory Services Managerのデータ・ブラウザを使用したACPの追加または変更」および「Oracle Directory Services Managerのデータ・ブラウザを使用したエントリ・レベルのアクセスの設定または変更」を参照してください。
グループ内のメンバーシップの動的な計算にはlabeledURIまたはCONNECT BYメソッドを選択する必要があります。両方の方法を使用することはできません。labeledURIメソッドを使用する場合は、labeledURI属性を設定する必要がありますが、orclConnectByAttribute属性とorclConnectByStartingValue属性を設定する必要はありません。CONNECT BYメソッドを使用する場合は、orclConnectByAttribute属性とorclConnectByStartingValue属性を設定する必要がありますが、labeledURI属性を設定する必要はありません。
動的グループ・エントリの属性を変更するには、「Oracle Directory Services Managerを使用した静的グループ・エントリの変更」の説明に従って、静的グループ・エントリの手順を実行します。動的グループに静的メンバーを追加することはできますが、その必要はありません。
LDAPツールを使用して、コマンドラインから静的グループと動的グループを管理できます。この項の項目は次のとおりです。
| 注意: 
 | 
LDIFファイルの構文は、次のとおりです。
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames member: DN of member 1 member: DN of member 2 . . . member: DN of member N
次のコマンドは、このLDIFファイルのグループおよびメンバーをディレクトリに追加します。
ldapadd -p port_number -h host -D cn=orcladmin -q -f file_name.ldif
例: ldapaddを使用した静的グループ・エントリの作成 次の例は、MyStaticGroupというグループのエントリ用のmyStaticGroup.ldifというLDIFファイルを示しています。
dn: cn=myStaticGroup,c=us objectclass: top objectclass: groupOfNames member: cn=John Doe member: cn=Anne Smith
次のコマンドは、このLDIFファイルのグループおよびメンバーをディレクトリに追加します。
ldapadd -p 3060 -h myhost -D cn=orcladmin -q -f myStaticGroup.ldif
グループにメンバーを追加する場合、LDIFファイルの構文は次のようになります。
dn: DN_of_group_entry changetype: modify add: member member: DN of member entry
グループからメンバーを削除する場合、LDIFファイルの構文は次のようになります。
dn: DN of group entry changetype: modify delete:member member:DN of member entry
ファイルを変更するには、次のコマンドを発行します。
ldapmodify -D "cn=orcladmin" -q -p 3060 -v -f file_name.ldif
-vは冗長モードを指定します。
例: ldapmodifyを使用した静的グループの変更 次の例では、John DoeをMyStaticGroupというグループに追加します。前述の例と同様に、このユーザー・エントリに関するデータはmyStaticGroup.ldifファイルに記述されています。このファイルの内容は次のとおりです。
dn: cn=myStaticGroup,c=us changetype: modify add:member member: cn=John Doe
ファイルを変更するには、次のコマンドを発行します。
ldapmodify -D "cn=orcladmin" -q -p 3060 -v -f myStaticGroup.ldif
-vは冗長モードを指定します。
| 注意:エントリを追加または変更する場合、Oracleディレクトリ・サーバーではエントリの存在は検証されません。ただし、属性値に識別名を含める必要がある場合、ディレクトリ・サーバーは識別名が指定されていることを検証します。 | 
labeledURI属性を使用する場合、LDIFファイルの構文は次のようになります。
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames objectclass: orcldynamicgroup labeledURI:ldap:ldap_URL member: DN of member 1 member: DN of member 2 . . . member: DN of member N
次のコマンドは、このLDIFファイルのグループおよびメンバーをディレクトリに追加します。
ldapadd -p port_number -h host -f file_name.ldif
CONNECT BY文字列を使用する場合、LDIFファイルの構文は次のようになります。
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames objectclass: orclDynamicGroup orclConnectByAttribute:attribute_name orclConnectByStartingValue:DN_of_attribute member: DN of member 1 member: DN of member 2 . . . member: DN of member N
この構文でエントリを指定する場合は、識別名を二重引用符で囲まないでください。
次の例は、動的グループのエントリ用のLDIFファイルを示しています。
dn: cn=myDynamicGroup,c=us objectclass: top objectclass: groupOfNames objectclass: orcldynamicgroup labeledURI:ldap://my_host:3000/ou=MyNeworganizationalUnit, o=MyCompany,c=US??sub?(objectclass=person) member: cn=John Doe member: cn=Anne Smith
次のコマンドは、このLDIFファイルをディレクトリに追加します。
ldapadd -p 3060 -h myhost -f myDynamicGroup.ldif
前述の例で作成したグループの組織単位を変更する場合、LDIFファイルの構文は次のようになります。
dn: DN_of_group_entry
changetype: modify
replace:labeledURI
labeledURI:ldap://my_host:3000/
 ou=MyNeworganizationalUnit,o=MyCompany,c=US??sub?(objectclass=person)
 | 注意:エントリを追加または削除する場合、Oracleディレクトリ・サーバーではエントリ属性値の構文検証は行われません。 |