14 Oracle Internet Directoryでの動的グループと静的グループの管理
14.1 動的グループと静的グループの理解
Oracle Internet Directoryでは、静的グループと動的グループの2種類のグループでメンバーシップを割り当てて管理できます。各タイプのグループは、それぞれ異なる目的に適しています。
ノート:
グループの階層を作成する場合は、「グループ・エントリの階層について」で説明されているように、必ず正しい階層にしてください。
関連項目:
-
グループ・エントリのアクセス制御ポリシーの設定方法の詳細は、「セキュリティ・グループについて」を参照してください
-
アクセス権限の詳細は、「グローバリゼーション・サポート」および「ディレクトリ・アクセス制御の管理」を参照してください。
この項の内容は次のとおりです。
14.1.1 静的グループの定義
静的グループおよび静的グループの作成に必要なスキーマ要素のコンテキストの説明。
14.1.1.1 静的グループ
静的グループは、明示的に管理するメンバーのリストを含むエントリで構成されるグループです。
静的グループに対しては、管理者がそのメンバーシップを明示的に管理する必要があります。たとえば、メンバーが名前を変更した場合、管理者はそのメンバーが属する各グループでそのユーザーの識別名を変更する必要があります。このため、静的グループは、メンバーシップの変更が頻繁に行われないグループに適しています。
14.1.1.2 静的グループを作成するためのスキーマ要素
この種のグループのエントリを作成する場合は、エントリをgroupOfNames
オブジェクト・クラスまたはgroupOfUniqueNames
オブジェクト・クラスのいずれかと関連付けます。
いずれのオブジェクト・クラスにも、グループ・メンバーの名前を格納するための複数値属性があります。ユーザーをグループのメンバーとして割り当てるには、各メンバーの識別名を対応する複数値属性に追加します。逆に、グループからメンバーを削除するには、そのメンバーの識別名を対応する属性から削除します。この複数値属性は、groupOfNames
オブジェクト・クラスではmember
で、groupOfUniqueNames
オブジェクト・クラスではuniqueMember
です。
14.1.2 動的グループの定義
動的グループおよび動的グループの作成に必要なスキーマ要素のコンテキストの説明。
14.1.2.1 動的グループ
動的グループは、そのメンバーシップがリストで管理されるのではなく、指定した規則およびアサーションに基づいて計算されるグループです。Oracle Internet Directoryでは、グループのメンバーシップを動的に計算するために次の方法がサポートされています。
-
orclDynamicGroup
オブジェクト・クラスおよびlabeleduri
属性の使用 -
orclDynamicGroup
オブジェクト・クラスおよびCONNECT_BY
属性の使用 -
orclDynamicList
オブジェクト・クラスおよびlabeleduri
属性(動的リストと呼ばれます)の使用
動的グループは、静的メンバーと動的メンバーを持つことができます。静的メンバーは、member
またはuniquemember
属性の値として表示されます。
14.1.2.2 キャッシュされている動的グループおよびされていない動的グループ
動的グループはキャッシュされる場合もされない場合もあります。キャッシュされることにより、動的グループが追加されると、その動的グループのメンバーが計算されて格納され、動的グループを後で変更したときに、メンバー・リストの一貫性が維持されます。エントリが追加、変更、削除されたり、名前の変更が行われたりすると、すべての動的グループのメンバー・リストの一貫性が維持されます。たとえば、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.0)以降では、
labeleduri
属性に基づく動的グループの2番目のタイプを使用できます。これは動的リストと呼ばれ、このメンバーはキャッシュされません。「動的グループ作成のためのスキーマ要素」の説明に従って、グループが関連付けられている補助型オブジェクト・クラスのタイプを選択し、labeleduri
属性に基づく動的グループがキャッシュされるかされないかを判断します。キャッシュされたグループが必要な場合は、グループを補助型オブジェクト・クラスorclDynamicGroup
に関連付けます。キャッシュされないグループが必要な場合は、グループを補助型オブジェクト・クラスまたはorclDynamicList
オブジェクト・クラスに関連付けます。
ノート:
-
有効範囲が
base
のlabeledURI
属性に基づく動的グループは追加できません。有効範囲sub
とone
のみがサポートされています。 -
orclDynamicGroup
オブジェクト・クラスおよびlabeleduri
属性を使用して、動的グループのメンバーシップを動的グループに対してリフレッシュするには、DSA構成エントリのorclrefreshdgrmems
属性を1
に設定します。Oracle Internet Directoryは、すべての動的グループのメンバー・リストを再計算し、orclrefreshdgrmems
の値を0
に再設定します。グループが多数ある場合、この操作の完了には時間がかかることがあります。 -
あるユーザーが属するグループを問い合せると、
labeledURI
属性に基づく動的グループは自動的にその結果に含まれます。CONNECT_BY
アサーションおよび動的リストに基づく動的グループは、明示的に問い合せる必要があります。たとえば、nc=jdoe,cn=users,o=oracle
が、labeleduri
動的グループdgrouplab1
、CONNECT BY
動的グループdgroupcby1
および動的リストdlist1
の3つのグループのメンバーであると仮定します。検索uniquemember=cn=jdoe,cn=users,o=oracle
によって、キャッシュされたlabeleduri
動的グループdgrouplab1
のみが検索されます。
関連項目:
-
Oracle Internet Directoryで使用される制御の詳細は、『Oracle Identity Managementリファレンス』のLDAP制御に関する項を参照してください
-
『Oracle Identity Managementアプリケーション開発者ガイド』のOracle Internet Directory C APIの概要に関する項
-
『Oracle Identity Managementアプリケーション開発者ガイド』のCONNECT_BYコントロールを使用した階層検索の実行に関する項
14.1.2.3 Oracle Internet Directoryでの動的グループの拡張機能
Oracle Internet Directory 10g (10.1.4.1)以降のリリースでは、動的グループを静的グループと同様に使用できます。たとえば、動的グループは次のもので使用できます。
-
アクセス制御リスト。グループを
orclACPgroup
またはorclPrivilegeGroup
オブジェクト・クラスのいずれかと関連付けます。 -
階層グループ解決の問合せ
14.1.2.4 Oracle Internet Directoryでの動的グループの制限事項
動的グループには、Oracle Internet Directoryで次の制限事項があります。
-
階層問合せと、メンバーの特定の属性関連の問合せは、キャッシュされた動的グループに対してのみ行うことができます。
-
動的グループを追加できるのは、
ldapadd
またはODSMを使用した場合のみです。bulkload
を使用して追加することはできません。 -
labeleduri
のLDAPフィルタ部分で使用される属性は、索引付けされている必要があります。「ldapmodifyを使用した属性の索引付け」、「catalogを使用した既存の属性の索引の作成および削除」および「属性を検索するためのOracle Internet Directoryでの索引オプション」を参照してください。 -
グループを作成した後に、動的グループのオブジェクト・クラスを変更することはできません。グループを削除して再作成する必要があります。
-
uniquemember
属性の検索では、動的リストまたはCONNECT BY
アサーションベースの動的グループは取得されません。
14.1.2.5 動的グループ作成のためのスキーマ要素
動的グループを作成する場合も、静的グループの作成と同様に、まずエントリをgroupOfNames
オブジェクト・クラスまたはgroupOfUniqueNames
オブジェクト・クラスのいずれかに関連付けます。次に、そのオブジェクト・クラスを補助型オブジェクト・クラスorclDynamicGroup
またはorclDynamicList
と関連付けます。
この補助型オブジェクト・クラスorclDynamicGroup
には、グループのメンバーシップを動的に計算するための2つの方法(labeledURI
属性を使用する方法とCONNECT BY
アサーションを使用する方法)のいずれかを指定する各種属性があります。補助型オブジェクト・クラスorclDynamicList
では、メンバーシップを計算するlabeledURI
属性を使用した方法のみがサポートされています。
14.1.2.6 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
で入手できます。
14.1.2.7 CONNECT BY
アサーションについて
labeledURI
属性の方法とは異なり、この方法ではDIT階層を使用しないで、エントリを暗黙的に相互接続している属性を、DITでのエントリの位置にかかわらず使用します。たとえば、manager
属性により、従業員のエントリがそのマネージャのエントリと接続されるため、この接続はDITでの従業員エントリの位置に関係なく適用されます。この方法では、CONNECT BY
句を使用して、階層を作成するために使用する属性(manager
など)およびそのような階層の開始値(cn=Anne Smith,cn=users,dc=example,dc=com
)を指定します。
関連項目:
『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 Identity Managementアプリケーション開発者ガイド』のOracle Identity Management用アプリケーションの開発に関する項を参照してください。
14.1.2.8 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
値が指定されます。
14.1.2.9 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
属性の検索では、動的リストは取得されません。
14.1.2.10 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.
が指定されている場合、下位のすべての個人が返されます。
14.1.3 グループ・エントリの階層について
階層は、明示的または暗黙的のいずれかにできます。明示的階層では、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 Identity Managementリファレンス』のLDAP制御に関する項を参照してください。
関連項目:
『Oracle Identity Managementアプリケーション開発者ガイド』のOracle Internet Directory C APIの概要に関する項。
14.1.4 グループ・エントリの問合せについて
グループのメンバーのアプリケーション問合せリストおよびすべてのグループのリスト。
アプリケーションは、いずれかのグループに問い合せて、次の操作を実行できます。
-
グループのすべてのメンバーをリスト
-
あるユーザーがメンバーであるすべてのグループをリスト
-
あるユーザーが特定のグループのメンバーであるかどうかをチェック
また、指定するメンバー属性について、動的グループに問合せできますが、静的グループには問合せできません。
ノート:
『Oracle Identity Managementリファレンス』のLDAP制御に関する項のGSL_REQDATTR_CONTROLエントリ。
14.1.5 orclMemberOf
属性の理解
orclMemberOf
は、そのエントリが属するグループを含む複数値属性です。
次のトピックでは、orclMemberOf
属性の概念について説明し、各フィルタでこの属性を使用する方法についても説明します。
14.1.5.1 orclMemberOf
属性について
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
は仮想属性であり、次の目的で使用することはできません。
-
動的なグループまたは動的なリストを作成するための
labeleduri
属性のLDAPフィルタの一部として。 -
orclinmemfiltprocess
を使用してメモリー内で処理されるフィルタの一部として。orclinmemfiltprocess
の詳細は、『パフォーマンスのチューニング』の複雑な検索フィルタのパフォーマンス最適化に関する項を参照してください。
14.1.5.2 orclMemberOf
属性を使用した例
次の例は、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.1.6 静的グループと動的グループを使用する場合の考慮事項
使用するグループについて検討する場合は、管理の容易性とパフォーマンスの効率を比較検討する必要があります。たとえば、動的グループは管理が容易ですが、パフォーマンスが低下します。
表14-2に、静的グループを使用すべきか動的グループを使用すべきかを検討する場合の考慮事項を示します。
表14-2 静的グループと動的グループについての考慮事項
考慮事項 | 静的グループ | 動的グループ |
---|---|---|
管理の容易性 |
グループのメンバーシップが大きく、頻繁に変更がある場合は管理が困難 |
特に、グループのメンバーシップが大きく、頻繁に変更がある場合に有効 |
検索パフォーマンス |
メンバーシップ・リストを明示的に管理するため、パフォーマンスが向上 |
静的グループと比較すると、 |
14.2 Oracle Directory Services Managerを使用したグループ・エントリの管理
静的および動的グループ・エントリを管理するには、Oracle Directory Services Managerの「データ・ブラウザ」ページを使用します。
「Oracle Directory Services Managerを使用したエントリの管理」の手順を使用して、グループ・エントリの表示、グループの検索およびグループの表示を行うことができます。グループの作成および変更の手順はこの項で説明します。この項では、次の項目について説明します。
14.2.1 Oracle Directory Services Managerを使用した静的グループ・エントリの作成
静的グループ・エントリがgroupOfNames
オブジェクト・クラスに属する場合は、複数値属性member
に識別名を追加してグループのメンバーシップを決定します。エントリがgroupOfUniqueNames
オブジェクト・クラスに属する場合は、複数値属性uniqueMember
に識別名を追加してグループのメンバーシップを決定します。
静的グループ・エントリを追加するには:
14.2.2 静的グループ・エントリへの所有者またはメンバーの追加
静的グループ・エントリに、所有者またはメンバーを追加できます。
次のステップを実行して、静的グループ・エントリに所有者またはメンバーを追加します。
-
「Oracle Directory Services Managerを使用した静的グループ・エントリの作成」で作成したグループ・エントリにナビゲートします。
-
「グループ」タブを選択します。
-
グループにメンバーを追加するには:
-
「メンバー」テキスト・ボックスの横にある「追加」アイコンをクリックします。
-
メンバーとして追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
-
「OK」をクリックします。
-
-
グループに所有者を追加するには:
-
「所有者」テキスト・ボックスの横の「追加」アイコンをクリックします。
-
所有者として追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
-
「OK」をクリックします。
-
-
「適用」をクリックして変更を保存するか、「元に戻す」をクリックして変更を破棄します。
14.2.3 静的グループ・エントリの属性の変更
メンバー・リストなど、静的グループ・エントリの属性を変更できます。
次のステップを実行して、グループ・エントリの属性(メンバー・リストなど)を変更します。
-
「Oracle Directory Services Managerを使用した静的グループ・エントリの作成」で作成したグループ・エントリにナビゲートします。
-
「属性」タブを選択します。
-
デフォルトでは、空でない属性のみが表示されます。「ビュー」リストを使用すると、「管理対象属性」と「すべて表示」を切り替えることができます。
-
管理対象属性として表示されている属性のリストを変更するには:
-
「オプション属性」の下のアイコンをクリックします。
-
「すべての属性」リストから「表示された属性」リストに移動する属性を選択し、「移動」および「すべて移動」の矢印を使用して属性を移動します。
「表示された属性」リストから「すべての属性」リストに移動する属性を選択し、「削除」および「すべて削除」の矢印を使用して属性を移動します。
-
「属性の追加」をクリックして変更を有効にするか、「取消」をクリックして変更を破棄します。「属性の追加」をクリックすると、「表示された属性」リストにあった属性のみが「管理対象属性」ビューに表示されます。
-
-
オプション・プロパティの値を指定します。必須プロパティの値を変更することもできます。複数値属性の場合、「追加」および「削除」アイコンを使用して複数の値を追加および削除できます。
-
「適用」をクリックして変更を保存するか、「元に戻す」をクリックして変更を破棄します。
「サブツリー・アクセス」および「ローカル・アクセス」タブを使用して、このエントリに対してアクセス制御ポイント(ACP)を設定できます。手順は、「ODSMのデータ・ブラウザを使用したACPの追加または変更」および「ODSMのデータ・ブラウザを使用したエントリ・レベルのアクセスの設定または変更」を参照してください。
14.2.4 Oracle Directory Services Managerを使用した動的グループ・エントリの作成
動的グループは、静的メンバーと動的メンバーを持つことができます。静的メンバーは、member
またはuniquemember
属性の値として表示されます。動的グループ・エントリがgroupOfNames
オブジェクト・クラスに属する場合は、複数値属性member
に識別名を追加してグループに静的メンバーを追加します。
動的グループ・エントリがgroupOfUniqueNames
オブジェクト・クラスに属する場合は、複数値属性uniqueMemberに識別名を追加してグループに静的メンバーを追加します。
動的グループの場合、グループのメンバーシップの算出方法を指定するための属性も設定する必要があります。グループのメンバーシップの動的な計算には、labeledURI
またはCONNECT BY
メソッドを選択する必要があります。両方の方法を使用することはできません。labeledURI
メソッドを使用する場合は、labeledURI
属性を設定する必要がありますが、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要はありません。CONNECT BY
メソッドを使用する場合は、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要がありますが、labeledURI
属性を設定する必要はありません。
動的グループ・エントリを追加するには:
14.2.5 動的グループ・エントリへの所有者またはメンバーの追加
動的グループ・エントリに、所有者またはメンバーを追加できます。
動的グループ・エントリに、所有者またはメンバーを追加するには:
-
「Oracle Directory Services Managerを使用した動的グループ・エントリの作成」で作成したグループ・エントリにナビゲートします。(新規エントリを表示するには、「リフレッシュ」アイコンをクリックする必要がある場合があります)。
-
「グループ」タブを選択します。
-
グループに所有者を追加するには:
-
「所有者」ボックスの横の「追加」アイコンをクリックします。
-
所有者として追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
-
「OK」をクリックします。
-
-
グループにメンバーを追加するには:
-
「メンバー」テキスト・ボックスの横にある「追加」アイコンをクリックします。
-
メンバーとして追加するエントリ(通常はユーザーまたはグループ・エントリ)を識別名パスの選択ダイアログで選択します。
-
「OK」をクリックします。
-
-
「適用」を選択して変更を適用するか、「元に戻す」を選択して変更を破棄します。
14.2.6 動的グループ・エントリの属性の変更
動的グループ・エントリの属性を変更するには、グループ内のメンバーシップの動的な計算にCONNECT BY
またはlabeledURI
メソッドを使用します。
動的グループ・エントリの属性を変更するには:
-
「Oracle Directory Services Managerを使用した動的グループ・エントリの作成」で作成したグループ・エントリにナビゲートします。(新規エントリを表示するには、「リフレッシュ」アイコンをクリックする必要がある場合があります)。
-
「属性」タブを選択します。
-
「ビュー」リストを使用すると、「管理対象属性」と「すべて表示」を切り替えることができます。
-
管理対象属性として表示されている属性のリストを変更するには:
-
「オプション属性」の下のアイコンをクリックします。
-
「すべての属性」リストから「表示された属性」リストに移動する属性を選択し、「移動」および「すべて移動」の矢印を使用して属性を移動します。
「表示された属性」リストから「すべての属性」リストに移動する属性を選択し、「削除」および「すべて削除」の矢印を使用して属性を移動します。
-
「属性の追加」をクリックして変更を有効にするか、「取消」をクリックして変更を破棄します。「属性の追加」をクリックすると、「表示された属性」リストにあった属性のみが「管理対象属性」ビューに表示されます。
-
-
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 Identity Managementリファレンス』のユーザーおよびグループ・スキーマ要素に関する項を参照してください。
-
「適用」をクリックして変更を保存するか、「元に戻す」をクリックして変更を破棄します。
14.2.7 Oracle Directory Services Managerを使用した動的グループ・エントリの変更
グループ内のメンバーシップの動的な計算にはlabeledURI
またはCONNECT BY
メソッドを選択する必要があります。両方の方法を使用することはできません。labeledURI
メソッドを使用する場合は、labeledURI
属性を設定する必要がありますが、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要はありません。CONNECT BY
メソッドを使用する場合は、orclConnectByAttribute
属性とorclConnectByStartingValue
属性を設定する必要がありますが、labeledURI
属性を設定する必要はありません。
動的グループに静的メンバーを追加することはできますが、その必要はありません。
「サブツリー・アクセス」および「ローカル・アクセス」タブを使用して、このエントリに対してアクセス制御ポイント(ACP)を設定できます。手順は、「ODSMのデータ・ブラウザを使用したACPの追加または変更」および「ODSMのデータ・ブラウザを使用したエントリ・レベルのアクセスの設定または変更」を参照してください。
14.3 コマンド行を使用したグループ・エントリの管理
LDAPツールを使用して、コマンド行から静的グループと動的グループを管理できます。
この項では、次の項目について説明します。
ノート:
-
グループを作成する場合、メンバーの指定はオプションです。ここでは完全を期すために示します。
-
これに静的メンバーシップが含まれることはまれです。
14.3.1 ldapaddを使用した静的グループ・エントリの作成
ldapadd
を使用して、静的グループ・エントリを作成します。
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
次の例は、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
14.3.2 ldapmodifyを使用した静的グループの変更
ldapmodify
を使用して、静的グループを変更します。
グループにメンバーを追加する場合、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は冗長モードを指定します。
次の例は、MyStaticGroupという名前のグループにJohn Doeを追加します。前述の例と同様に、このユーザー・エントリに関するデータは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ディレクトリ・サーバーではエントリの存在は検証されません。ただし、属性値に識別名を含める必要がある場合、ディレクトリ・サーバーは識別名が指定されていることを検証します。
14.3.3 ldapaddを使用した動的グループ・エントリの作成
コマンド行からldapadd
を使用して、動的グループを作成できます。
次のトピックでは、labeledURI属性およびCONNECT BY文字列を使用して動的グループを作成する方法について説明します。
14.3.3.1 labeledURI属性を使用したキャッシュされた動的グループの作成
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
14.3.3.2 labeledURI属性を使用したキャッシュされない動的リストの作成
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
14.3.3.3 CONNECT BY文字列を使用した動的グループの作成
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
14.3.4 ldapmodifyを使用した動的グループの変更
ldapmodify
コマンドを使用して、動的グループを変更します。
前述の例で作成したグループの組織単位を変更する場合、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ディレクトリ・サーバーではエントリ属性値の構文検証は行われません。