この章では、Oracle Directory Services Manager (ODSM)およびLDAPコマンド行ユーティリティを使用して、Oracle Internet Directoryで静的グループと動的グループの両方を管理する方法について説明します。
この章の内容は次のとおりです。
Oracle Internet Directoryでは、静的グループと動的グループの2種類のグループでメンバーシップを割り当てて管理できます。各タイプのグループは、それぞれ異なる目的に適しています。
関連項目:
|
この項の項目は次のとおりです。
静的グループは、明示的に管理するメンバーのリストを含むエントリで構成されるグループです。
静的グループに対しては、管理者がそのメンバーシップを明示的に管理する必要があります。たとえば、メンバーが名前を変更した場合、管理者はそのメンバーが属する各グループでそのユーザーの識別名を変更する必要があります。このため、静的グループは、メンバーシップの変更が頻繁に行われないグループに適しています。
この種のグループのエントリを作成する場合は、エントリをgroupOfNames
オブジェクト・クラスまたはgroupOfUniqueNames
オブジェクト・クラスのいずれかと関連付けます。
いずれのオブジェクト・クラスにも、グループ・メンバーの名前を格納するための複数値属性があります。ユーザーをグループのメンバーとして割り当てるには、各メンバーの識別名を対応する複数値属性に追加します。逆に、グループからメンバーを削除するには、そのメンバーの識別名を対応する属性から削除します。この複数値属性は、groupOfNames
オブジェクト・クラスではmember
で、groupOfUniqueNames
オブジェクト・クラスではuniqueMember
です。
動的グループは、そのメンバーシップがリストで管理されるのではなく、指定した規則およびアサーションに基づいて計算されるグループです。Oracle Internet Directoryでは、グループのメンバーシップを動的に計算するために次の方法がサポートされています。
orclDynamicGroup
オブジェクト・クラスおよびlabeleduri
属性の使用
orclDynamicGroup
オブジェクト・クラスおよびCONNECT_BY
属性の使用
orclDynamicList
オブジェクト・クラスおよびlabeleduri
属性(動的リストと呼ばれます)の使用
動的グループは、静的メンバーと動的メンバーを持つことができます。静的メンバーは、member
またはuniquemember
属性の値として表示されます。
動的グループはキャッシュされる場合もされない場合もあります。キャッシュされることにより、動的グループが追加されると、その動的グループのメンバーが計算されて格納され、動的グループを後で変更したときに、メンバー・リストの一貫性が維持されます。エントリが追加、変更、削除されたり、名前の変更が行われたりすると、すべての動的グループのメンバー・リストの一貫性が維持されます。たとえば、c=us
の下にすべてのperson
エントリを含む動的グループがある場合、cn=user1,c=us
を追加すると、そのエントリは動的グループのメンバー・リストに自動的に追加されます。同様に、cn=user1,c=us
を削除すると、エントリは動的グループのメンバー・リストから削除されます。この機能により、動的グループの検索が実行された場合はいつでも、格納されているデータから追加の計算なしでメンバー・リストをフェッチできます。キャッシュされた動的グループの検索パフォーマンスは、静的グループの場合とほぼ同じになります。
キャッシュされる動的グループ
Oracle Internet Directory 10g (10.1.4.0.1)より、labeleduri
属性を使用したorclDynamicGroup
オブジェクト・クラスに基づく動的グループは、キャッシュされるようになりました
キャッシュされない動的グループ
CONNECT_BY
属性を使用したorclDynamicGroup
オブジェクト・クラスに基づく動的グループはキャッシュされません。
Oracle Internet Directory 11gリリース1(11.1.1.4)以降では、labeleduri
属性に基づく動的グループの2番目のタイプを使用できます。これは動的リストと呼ばれ、このメンバーはキャッシュされません。第14.1.2.3項「動的グループ作成のためのスキーマ要素」
の説明に従って、グループが関連付けられている補助型オブジェクト・クラスのタイプを選択し、labeleduri属性に基づく動的グループがキャッシュされるかされないかを決定します。キャッシュされるグループが必要な場合は、グループを補助型オブジェクト・クラスorclDynamicGroup
に関連付けます。キャッシュされないグループが必要な場合は、グループを補助型オブジェクト・クラスまたはorclDynamicList
オブジェクト・クラスに関連付けます。
注意:
|
関連項目:
|
Oracle Internet Directory 10g(10.1.4.1)以降のリリースでは、動的グループを静的グループと同様に使用できます。たとえば、動的グループは次のもので使用できます。
アクセス制御リスト。グループをorclACPgroup
またはorclPrivilegeGroup
オブジェクト・クラスのいずれかと関連付けます。
階層グループ解決の問合せ
動的グループには、Oracle Internet Directoryで次の制限事項があります。
階層問合せと、メンバーの特定の属性関連の問合せは、キャッシュされた動的グループに対してのみ行うことができます。
動的グループを追加できるのは、ldapadd
またはODSMを使用した場合のみです。bulkload
を使用して追加することはできません。
labeleduri
のLDAPフィルタ部分で使用される属性は、索引付けされている必要があります。第21.3.7項「ldapmodifyを使用した属性の索引付け」、第15.7項「catalogを使用した既存の属性の索引の作成および削除」および第21.1.3.4項「属性の索引付けについて」を参照してください。
グループを作成した後に、動的グループのオブジェクト・クラスを変更することはできません。グループを削除して再作成する必要があります。
uniquemember
属性の検索では、動的リストまたはCONNECT BY
アサーションベースの動的グループは取得されません。
動的グループを作成する場合も、静的グループの作成と同様に、まずエントリをgroupOfNames
オブジェクト・クラスまたはgroupOfUniqueNames
オブジェクト・クラスのいずれかに関連付けます。次に、そのオブジェクト・クラスを補助型オブジェクト・クラスorclDynamicGroup
またはorclDynamicList
と関連付けます。
この補助型オブジェクト・クラスorclDynamicGroup
には、グループのメンバーシップを動的に計算するための2つの方法(labeledURI
属性を使用する方法とCONNECT BY
アサーションを使用する方法)のいずれかを指定する各種属性があります。補助型オブジェクト・クラスorclDynamicList
では、メンバーシップを計算するlabeledURI
属性を使用した方法のみがサポートされています。
メンバーシップを計算する2つの方法は、次のとおりです。
labeledURI
属性を使用する方法
補助型オブジェクト・クラスorclDynamicGroup
およびorclDynamicList
には、labeledURI
属性が含まれています。グループをorclDynamicGroup
に関連付けて、labeledURI
属性を使用してメンバーシップを計算する場合、そのグループはキャッシュされます。グループをorclDynamicList
に関連付けて、labeledURI
属性を使用してメンバーシップを計算する場合、そのグループはキャッシュされません。このorclDynamicList
オブジェクト・クラスを使用したキャッシュされないタイプは、動的リストと呼ばれます。
labeledURI
の方法を使用する場合、ディレクトリ・サーバーにより、DIT階層に基づいた標準検索が実行されます。この場合、orclDynamicGroup
またはorclDynamicList
オブジェクト・クラスの属性(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, December 1997。このRFCでは、labeledURI 属性などでLDAP URLを表示する方法について説明しています。これは、http://www.ietf.org で入手できます。 |
CONNECT BY
アサーションを使用する方法
labeledURI
属性の方法とは異なり、この方法ではDIT階層を使用しないで、エントリを暗黙的に相互接続している属性を、DITでのエントリの位置にかかわらず使用します。たとえば、manager
属性により、従業員のエントリがそのマネージャのエントリと接続されるため、この接続はDITでの従業員エントリの位置に関係なく適用されます。この方法では、CONNECT BY
句を使用して、階層を作成するために使用する属性(manager
など)およびそのような階層の開始値(cn=Anne Smith,cn=users,dc=example,dc=com
)を指定します。
関連項目: 『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』の階層検索の実行に関する項 |
具体的には、このメソッドを使用する場合、表14-1に示す単一値属性の各値をorclDynamicGroup
オブジェクト・クラスに指定します。
表14-1 Connect ByアサーションのためのorclDynamicGroup属性
属性 | 説明 |
---|---|
orclConnectByAttribute |
問合せのフィルタとして使用する属性(例: |
orclConnectByStartingValue |
|
たとえば、米国のMyOrganizational UnitのAnne Smithの部下であるすべての従業員のエントリを取得するには、前述の属性に対して次のような値を設定します。
orclConnectByAttribute=manager orclConnectByStartingValue=
"cn=Anne Smith,ou=MyOrganizationalUnit,o=MyCompany,c=US"
CONNECT BY
アサーション・メソッドを使用する場合は、labeledURI
を設定しないでください。
また、すべてのメンバーの特定の属性(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
値が指定されます。
例: labeledURI属性を使用した動的リスト・エントリ
次の例は、labeledURI
属性を使用した動的リスト・エントリを示しています。(動的リストはキャッシュされません。)これは、補助型オブジェクト・クラスがorclDynamicGroup
ではなくorclDynamicList
であるという点を除き、前述の例と同じです。
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: orcldynamiclist
objectclass: groupOfUniqueNames
objectclass: top
このグループには、サブツリーou=oid,l=amer,dc=oracle,dc=dgrptest
内のオブジェクト・クラスperson
に関連付けられている、すべてのエントリの識別名となるuniquemember
値が指定されます。ただし、uniquemember
属性の検索では、動的リストは取得されません。
例: CONNECT BYアサーションを使用した動的グループ・エントリ
次の例は、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.
が指定されている場合、下位のすべての個人が返されます。
階層は、明示的または暗黙的のいずれかにできます。
明示的階層では、DITのエントリの位置によって関係が決まります。たとえば、グループAはDITでグループBより上位にあります。
暗黙的階層では、エントリ間の関係は、DIT内の位置によってではなく、特定の属性の値によって決まります。たとえば、John DoeのエントリがAnne Smithと同じレベルの階層にあるDITがあるとします。ただし、John Doeのエントリでは、manager
属性にAnne Smithが彼の上司として指定されているとします。この場合、DITでの両方の位置は同レベルですが、Anne SmithはJohn Doeの上司として指定されているため、階層のランクは同一ではありません。
注意: 暗黙的階層に基づく問合せでは、クライアントは検索リクエストに制御2.16.840.1.113894.1.8.3を指定できます。この問合せのフィルタにより、暗黙的階層の作成に使用する属性が指定されます。たとえば、(manager=cn=john doe, o=foo) では、直接的または間接的にJohn Doeの部下であるすべての人への問合せが指定されます。暗黙的階層は、manager 属性に基づいています。このような問合せでは、検索のベースは無視されます。
Oracle Internet Directoryで使用される制御の詳細は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』のLDAP制御に関する説明を参照してください。 |
関連項目: 『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』の「C API」 |
アプリケーションは、いずれかのグループに問い合せて、次の操作を実行できます。
グループのすべてのメンバーをリスト
あるユーザーがメンバーであるすべてのグループをリスト
あるユーザーが特定のグループのメンバーであるかどうかをチェック
また、指定するメンバー属性について、動的グループに問合せできますが、静的グループには問合せできません。
関連項目: 『Oracle Fusion Middleware Oracle Identity Managementリファレンス』のLDAP制御に関する説明のGSL_REQDATTR_CONTROLエントリを参照してください。 |
orclMemberOf
は、そのエントリが属するグループを含む複数値属性です。orclMemberOf
内のグループには、静的グループおよびlabeleduri
ベースの動的グループが含まれています。CONNECT BY
アサーションベースの動的グループおよび動的リストは含まれていません。メンバーシップには、直接グループおよびネストされたグループの両方が含まれています。
たとえば、Maryが静的グループdirectors
のメンバーであり、グループdirectors
が静的グループmanagers
のメンバーであるとします。MaryのDNで属性orclMemberOf
に対して特定の問合せを行った場合、値にはmanagers
およびdirectors
の両方が含まれます。
この属性値は、検索中に計算されず、また格納されません。orclMemberOf
は、名前を指定して明示的にリクエストしないかぎり、検索では返されません。
Oracle Internet Directory 11g リリース1(11.1.1.7.0)では、orclMemberOf
は検索フィルタで使用できます。複合的なフィルタでは、orclmemberof
が非常に役立ちます。以前は、複数のグループに属しているユーザーを検索する最もよい方法は、データをフェッチするために複数の検索問合せを実行した後、結果を計算するためにクライアント側アプリケーションのロジックを使用することでした。検索フィルタでorclmemberof
を使用できるようになったので、単一の検索問合せによりこうした処理が可能になりました。いくつかの例には、こうした問合せが含まれます。
orclMemberOf
には、Active DirectoryおよびOracle Directory Server Enterprise Edition(以前のSun Java System Directory ServerおよびSunONE iPlanet)との互換性を確保するために、memberof
とismemberof
という別名があります。これらの別名は代替使用可能であり、orclmemberof
のかわりにこの2つの別名を使用してすべての検索問合せを実行することもできます。
注意: 属性orclMemberOf は仮想属性であり、次の目的で使用することはできません。
|
例:
シングル・ユーザーの検索:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=jdoe,cn=users,o=oracle" -s base "(objectclass=*)" orclmemberof
memberof
別名による検索:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=jdoe,cn=users,o=oracle" -s base "(objectclass=*)" memberof
すべての属性およびorclmemberof
の取得:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=jdoe,cn=users,o=oracle" -s base "(objectclass=*)" orclmemberof *
複数のユーザーの検索:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(objectclass=person)" orclmemberof
検索フィルタでの使用:
ユーザーJohn DoeがHR
従業員グループのメンバーであるかどうかを判断するには、orclmemberof
にHR従業員グループが含まれるかどうかをチェックするフィルタによりユーザーに対するベース検索を実行します。
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=johndoe,cn=users,o=oracle" -s base "(orclmemberof=cn=hr,cn=groups,o=oracle)" dn
HR
従業員グループのメンバーであるすべてのユーザーを検索するには、orclmemberof
にHR
従業員グループを含むすべてのエントリについてuser
コンテナでサブツリー検索を実行します。
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(orclmemberof=cn=hr,cn=groups,o=oracle)" dn
複数のグループのメンバーであるユーザーを検索するには、複数のorclmemberof
条件をAND
で組み合せるフィルタを使用します。これによって、2つのグループ・メンバーシップの共通部分が得られます。次の検索は、HR
従業員およびManagers
グループの両方のメンバーであるユーザーを検索します。
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(&(orclmemberof=cn=hr,cn=groups,o=oracle)(orclmemberof=cn=managers,cn=groups,o=oracle))" dn
HR
従業員またはManagers
グループのいずれかのメンバーであるユーザーを検索するには、複数のorclmemberof
条件をOR
で組み合せるフィルタを使用します。これによって、2つのグループ・メンバーシップの結合が得られます。3つ以上のグループに対してこの方法を使用することもできます。
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(|(orclmemberof=cn=hr,cn=groups,o=oracle)(orclmemberof=cn=managers,cn=groups,o=oracle))" dn
HR
グループに属し、所在地がカリフォルニアであり、役職がHR Administrator
であるすべての従業員を特定するには、次の問合せを使用します。
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(&(orclmemberof=cn=hr,cn=groups,o=oracle)(l=ca)(title=HR Administrator))" dn
次の例では、検索フィルタでorclmemberof
ではなくmemberof
の別名を使用しています。
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(memberof=cn=hr,cn=groups,o=oracle)" dn
使用するグループについて検討する場合は、管理の容易性とパフォーマンスの効率を比較検討する必要があります。たとえば、動的グループは管理が容易ですが、パフォーマンスが低下します。表14-2に、静的グループを使用すべきか動的グループを使用すべきかを検討する場合の考慮事項を示します。
表14-2 静的グループと動的グループについての考慮事項
考慮事項 | 静的グループ | 動的グループ |
---|---|---|
管理の容易性 |
グループのメンバーシップが大きく、頻繁に変更がある場合は管理が困難 |
特に、グループのメンバーシップが大きく、頻繁に変更がある場合に有効 |
検索パフォーマンス |
メンバーシップ・リストを明示的に管理するため、パフォーマンスが向上 |
静的グループと比較すると、 |
静的および動的グループ・エントリを管理するには、Oracle Directory Services Managerの「データ・ブラウザ」ページを使用します。第13.2項「Oracle Directory Services Managerを使用したエントリの管理」の手順に従って、グループ・エントリの表示、グループの検索およびグループの表示を実行できます。グループの作成および変更の手順は、この項で説明します。この項の内容は次のとおりです。
第14.2.1項「Oracle Directory Services Managerを使用した静的グループ・エントリの作成」
第14.2.2項「Oracle Directory Services Managerを使用した静的グループ・エントリの変更」
第14.2.3項「Oracle Directory Services Managerを使用した動的グループ・エントリの作成」
第14.2.4項「Oracle Directory Services Managerを使用した動的グループ・エントリの変更」
静的グループ・エントリがgroupOfNames
オブジェクト・クラスに属する場合は、複数値属性member
に識別名を追加してグループのメンバーシップを決定します。エントリがgroupOfUniqueNames
オブジェクト・クラスに属する場合は、複数値属性uniqueMember
に識別名を追加してグループのメンバーシップを決定します。
静的グループ・エントリを追加する手順は、次のとおりです。
第7.4.5項「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。
タスク選択バーで、「データ・ブラウザ」を選択します。
ツールバーの「エントリを新規作成します。」アイコンを選択します。または、任意のエントリを右クリックして、「作成」を選択します。
あるいは、作成するグループに類似したグループを選択してから、「このエントリに類似したエントリを新規作成します。」アイコンを選択します。または、任意のエントリを右クリックして、「作成」を選択します。
新規エントリの作成ウィザードが表示されます。
新規エントリのオブジェクト・クラスを指定します。「追加」アイコンをクリックし、「オブジェクト・クラスの追加」ダイアログを使用して、groupOfNames
またはgroupOfUniqueNames
を選択します。(このオブジェクト・クラスからtop
までのすべてのスーパークラスも追加されます。)
「OK」をクリックします。
「エントリの親」フィールドで、作成するエントリの親エントリの完全な識別名を指定できます。「参照」をクリックして、追加するエントリの親の識別名を見つけて選択し、「選択」をクリックすることもできます。
「エントリの親」フィールドを空白のままにすると、ルート・エントリの下にエントリが作成されます。
「次へ」をクリックします。
このエントリの相対識別名値となる属性を選択し、その属性の値を入力します。cn
属性がRDN値でない場合でも、この値を入力する必要があります。
「次へ」をクリックします。このウィザードの次のページが表示されます。(あるいは、「戻る」をクリックして前のページに戻ります。)
「終了」をクリックします。
所有者またはメンバーを追加するには、先ほどデータ・ツリーに作成したグループ・エントリに移動します。
「グループ」タブを選択します。
グループに所有者を追加するには、「所有者」ボックスの横にある「追加」アイコンをクリックします。
所有者のDNを入力するか、またはボタンをクリックして所有者として追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
グループにメンバーを追加するには、「メンバー」テキスト・ボックスの横にある「追加」アイコンをクリックします。
メンバーのDNを入力するか、またはボタンをクリックしてメンバーとして追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
必要に応じてエントリの説明を入力します。
「適用」を選択して変更を適用するか、「元に戻す」を選択して変更を破棄します。
グループ・エントリに他の変更を行うには、第14.2.2項「Oracle Directory Services Managerを使用した静的グループ・エントリの変更」を参照してください。
グループ・エントリの属性(メンバー・リストなど)を変更する手順は、次のとおりです。
データ・ツリーでグループを選択します。
所有者またはメンバーを追加または削除するには、「グループ」タブまたは「属性」タブを選択します。
グループにメンバーを追加するには、「メンバー」テキスト・ボックスの横にある「追加」アイコンをクリックします。
メンバーとして追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
グループに所有者を追加するには、「所有者」テキスト・ボックスの横にある「追加」アイコンをクリックします。
所有者として追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
「OK」をクリックします。
所有者またはメンバーを削除するには、リストで選択し、「削除」アイコンをクリックします。
所有者またはメンバー以外の属性を追加または変更するには、「属性」タブを選択します。
デフォルトでは、空でない属性のみが表示されます。「ビュー」リストを使用すると、「管理対象属性」と「すべて表示」を切り替えることができます。
管理対象属性として表示されている属性のリストを変更するには、「オプション属性」のアイコンをクリックします。「すべての属性」リストから「表示された属性」リストに移動する属性を選択し、「移動」および「すべて移動」の矢印を使用して属性を移動します。「表示された属性」リストから「すべての属性」リストに移動する属性を選択し、「削除」および「すべて削除」の矢印を使用して属性を移動します。「属性の追加」をクリックして変更を有効にするか、「取消」をクリックして変更を破棄します。「属性の追加」をクリックすると、「表示された属性」リストにあった属性のみが「管理対象属性」ビューに表示されます。
オプション・プロパティの値を指定します。必須プロパティの値を変更することもできます。複数値属性の場合、「追加」および「削除」アイコンを使用して複数の値を追加および削除できます。
「適用」をクリックして変更を保存するか、「元に戻す」をクリックして変更を破棄します。
「サブツリー・アクセス」および「ローカル・アクセス」タブを使用して、このエントリに対してアクセス制御ポイント(ACP)を設定できます。手順は、第30.2.4項「ODSMのデータ・ブラウザを使用したACPの追加または変更」および第30.2.5項「ODSMのデータ・ブラウザを使用したエントリ・レベルのアクセスの設定または変更」を参照してください。
動的グループは、静的メンバーと動的メンバーを持つことができます。静的メンバーは、member
またはuniquemember
属性の値として表示されます。動的グループ・エントリがgroupOfNames
オブジェクト・クラスに属する場合は、複数値属性member
に識別名を追加してグループに静的メンバーを追加します。動的グループ・エントリがgroupOfUniqueNames
オブジェクト・クラスに属する場合は、複数値属性uniqueMember
に識別名を追加してグループに静的メンバーを追加します。
動的グループの場合、グループのメンバーシップの算出方法を指定するための属性も設定する必要があります。グループのメンバーシップの動的な計算には、labeledURI
またはCONNECT BY
メソッドを選択する必要があります。両方の方法を使用することはできません。labeledURI
メソッドを使用する場合は、labeledURI
属性を設定する必要がありますが、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要はありません。CONNECT BY
メソッドを使用する場合は、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要がありますが、labeledURI
属性を設定する必要はありません。
動的グループ・エントリを追加する手順は、次のとおりです。
第7.4.5項「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。
タスク選択バーで、「データ・ブラウザ」を選択します。
ツールバーの「エントリを新規作成します。」アイコンを選択します。新規エントリの作成ウィザードが表示されます。
新規エントリのオブジェクト・クラスを指定します。少なくとも次のオブジェクト・クラス・エントリを選択します。
groupOfNames
またはgroupOfUniqueNames
orclDynamicGroup
またはorclDynamicList
labeledURI
に基づくキャッシュされる動的グループまたはCONNECT BY
に基づく動的グループに対しては、orclDynamicGroup
を使用します。labeledURI
に基づくキャッシュされない動的リストに対しては、orclDynamicList
を使用します。
「追加」アイコンをクリックし、「オブジェクト・クラスの追加」ダイアログを使用して、オブジェクト・クラスのエントリを選択します。必要に応じて、検索ボックスを使用してオブジェクト・クラスのリストをフィルタリングします。オブジェクト・クラスを追加するには、オブジェクト・クラスを選択して「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)を設定できます。手順は、第30.2.4項「ODSMのデータ・ブラウザを使用したACPの追加または変更」および第30.2.5項「ODSMのデータ・ブラウザを使用したエントリ・レベルのアクセスの設定または変更」を参照してください。
グループ内のメンバーシップの動的な計算にはlabeledURI
またはCONNECT BY
メソッドを選択する必要があります。両方の方法を使用することはできません。labeledURI
メソッドを使用する場合は、labeledURI
属性を設定する必要がありますが、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要はありません。CONNECT BY
メソッドを使用する場合は、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要がありますが、labeledURI
属性を設定する必要はありません。
動的グループ・エントリの属性を変更するには、第14.2.2項「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ディレクトリ・サーバーではエントリの存在は検証されません。ただし、属性値に識別名を含める必要がある場合、ディレクトリ・サーバーは識別名が指定されていることを検証します。 |
コマンド行からldapadd
を使用して、動的グループを作成できます。
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
labeledURI
属性を使用してキャッシュされない動的リストを作成する場合、LDIFファイルの構文は次のとおりです。
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames objectclass: orcldynamiclist 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ディレクトリ・サーバーではエントリ属性値の構文検証は行われません。 |