JavaScriptが検索に必要です。
ナビゲーション・リンクをスキップ
印刷ビューの終了
Oracle Directory Server Enterprise Edition管理ガイド 11gリリース1(11.1.1.5.0)
検索フィルタ・アイコン
検索アイコン

ドキュメント情報

はじめに

第1部 Directory Serverの管理

1.  Directory Serverのツール

2.  Directory Serverのインスタンスと接尾辞

3.  Directory Serverの構成

4.  Directory Serverのエントリ

5.  Directory Serverのセキュリティ

6.  Directory Serverのアクセス制御

7.  Directory Serverのパスワード・ポリシー

8.  Directory Serverのバックアップとリストア

9.  Directory Serverのグループ、ロールおよびCoS

グループ、ロールおよびCoSについて

グループの管理

新しい静的グループを作成するには:

新しい動的グループを作成するには:

ロールの管理

ロールのセキュアな使用方法

コマンドラインからのロールの管理

管理対象ロール定義の例

フィルタ処理されたロール定義の例

ネストされたロール定義の例

ロールの範囲の拡張

ロールの範囲を拡張するには:

サービス・クラス

CoSのセキュアな使用方法

CoS定義エントリの保護

CoSテンプレート・エントリの保護

CoSのターゲット・エントリの保護

その他の依存関係の保護

コマンドラインからのCoS管理

コマンドラインからのCoS定義エントリの作成

コマンドラインからのCoSテンプレート・エントリの作成

ロールベース属性の作成

CoSプラグインの監視

CoSロギングの設定

参照整合性の維持

参照整合性の仕組み

参照整合性プラグインを構成するには:

10.  Directory Serverのレプリケーション

11.  Directory Serverのスキーマ

12.  Directory Serverの索引作成

13.  Directory Serverの属性値の一意性

14.  Directory Serverのロギング

15.  Directory Serverの監視

第2部 Directory Proxy Serverの管理

16.  Directory Proxy Serverのツール

17.  Directory Proxy Serverのインスタンス

18.  LDAPデータ・ビュー

19.  Directory Proxy Serverの証明書

20.  Directory Proxy Serverのロード・バランシングとクライアント・アフィニティ

21.  Directory Proxy Serverの配布

22.  Directory Proxy Serverによる仮想化

23.  仮想データ変換

24.  Directory Proxy ServerとバックエンドLDAPサーバーの接続

25.  クライアントとDirectory Proxy Serverの接続

26.  Directory Proxy Serverのクライアント認証

27.  Directory Proxy Serverのロギング

28.  Directory Proxy Serverの監視とアラート

第3部 Directory Service Control Centerの管理

29.  Directory Service Control Centerの構成

索引

ロールの管理

ロールは、より効率的かつ簡単なアプリケーションの使用を目的に設計された代替のグループ化メカニズムです。ロールの定義および管理はグループと同様ですが、各メンバー・エントリに生成されるロール属性は自動的にエントリのロールを示します。たとえば、アプリケーションではグループの選択およびメンバー・リストの参照を必要とせずに、エントリのロールの読込みが可能となります。

デフォルトでは、ロールの範囲は、範囲が定義されているサブツリーに制限されます。しかし、ネストされたロールの範囲は拡張できます。他のサブツリーにあるロールをネストしたり、ディレクトリの任意の場所のメンバーを含めることもできます。詳細は、「ロールの範囲を拡張するには:」および「ネストされたロール定義の例」を参照してください。

この項では、ロールのセキュアな使用方法、およびコマンドラインからのロールの管理方法を説明します。

ロールのセキュアな使用方法

ロールをセキュアに使用するために、アクセス制御命令(ACI)を設定して、該当する属性を保護する必要があります。たとえば、ユーザーAが管理対象ロールであるMRを所有するとします。管理対象ロールは静的グループに相当するもので、nsRoleDN属性を各メンバー・エントリに追加することで、明示的にロールをそれらのエントリに割り当てます。MRロールは、コマンドラインによるアカウントの非アクティブ化を使用してロックされています。これは、ユーザーAに対してnsAccountLock属性が"true"として計算されるので、ユーザーAはサーバーにバインドできないことを意味します。ただし、このユーザーはすでにバインド済で、現在はMRロールによりロックされていると通知されたものとします。このユーザーがnsRoleDN属性に書込みアクセスできないようにするためのACIが存在しない場合、このユーザーはnsRoleDN属性を自分のエントリから削除して、自身のロックを解除できます。

ユーザーによるnsRoleDN属性の削除を防止するには、ACIを適用する必要があります。フィルタ処理されたロールでは、属性変更によりユーザーがフィルタ処理されたロールを放棄できないよう、フィルタを一部保護する必要があります。フィルタ処理されたロールで使用する属性をユーザーが追加、削除および変更できないようにする必要があります。フィルタ属性値の計算の場合も同様に、フィルタ属性値の変更が可能な属性はすべて保護する必要があります。ネストされたロールにはフィルタ処理されたロールおよび管理対象ロールを含むことができるので、ネストされたロールに含まれる各ロールについても前述の事項を考慮する必要があります。

セキュリティに対するACI設定の詳細な手順は、第6章「Directory Serverのアクセス制御」を参照してください。

コマンドラインからのロールの管理

ロールは、コマンドライン・ユーティリティによりディレクトリ管理者がアクセス可能なエントリで定義されます。ロールを作成した後、次のようにメンバーをロールに割り当てます。

すべてのロール定義はLDAPsubentryおよびnsRoleDefinitionオブジェクト・クラスから継承されます。次の例では、各タイプのロールに固有の追加オブジェクト・クラスと関連付けられた属性を示します。

管理対象ロール定義の例

すべてのマーケティング・スタッフのロールを作成するには、次のようにldapmodifyコマンドを使用します。

$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
dn: cn=Marketing,ou=marketing,ou=People,dc=example,dc=com
objectclass: top
objectclass: LDAPsubentry
objectclass: nsRoleDefinition
objectclass: nsSimpleRoleDefinition
objectclass: nsManagedRoleDefinition
cn: Marketing
description: managed role for marketing staff

nsManagedRoleDefinitionオブジェクト・クラスはLDAPsubentrynsRoleDefinitionおよびnsSimpleRoleDefinitionオブジェクト・クラスから継承されることに注意してください。

Bobという名前のマーケティング・スタッフのメンバーにロールを割り当てるには、次のようにエントリを更新します。

$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
dn: cn=Bob Arnold,ou=marketing,ou=People,dc=example,dc=com
changetype: modify
add: nsRoleDN
nsRoleDN: cn=Marketing,ou=marketing,ou=People,dc=example,dc=com

nsRoleDN属性では、エントリが管理対象ロールのメンバーであることを示しています。管理対象ロールは、そのロール定義のDNにより識別されます。ユーザーが自身のnsRoleDN属性を変更できるようにしつつも、nsManagedDisabledRoleの追加や削除はできないようにするには、次のACIを追加します。

aci: (targetattr="nsRoleDN")(targattrfilters="add=nsRoleDN: 
(!(nsRoleDN=cn=AdministratorRole,dc=example,dc=com)), 
del=nsRoleDN:(!(nsRoleDN=cn=nsManagedDisabledRole,dc=example, dc=com)") 
(version3.0;aci "allow mod of nsRoleDN by self except for critical values"; 
allow(write) userdn="ldap:///self";)

フィルタ処理されたロール定義の例

セールス・マネージャのフィルタ処理されたロールを設定するには、すべてのセールス・マネージャがisManager属性を持つものとして、次のldapmodifyコマンドを使用します。

$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
dn: cn=ManagerFilter,ou=sales,ou=People,dc=example,dc=com
objectclass: top
objectclass: LDAPsubentry
objectclass: nsRoleDefinition
objectclass: nsComplexRoleDefinition
objectclass: nsFilteredRoleDefinition
cn: ManagerFilter 
nsRoleFilter: (isManager=True)
Description: filtered role for sales managers

nsFilteredRoleDefinitionオブジェクト・クラスはLDAPsubentrynsRoleDefinitionおよびnsComplexRoleDefinitionオブジェクト・クラスから継承されることに注意してください。nsRoleFilter属性は、下位組織を持つou=sales組織の従業員すべてを検索するフィルタを指定します。たとえば次のようになります。

$ ldapsearch -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - \
 -b "ou=People,dc=example,dc=com" -s sub "(cn=*Fuentes)"
dn: cn=Carla Fuentes,ou=sales,ou=People,dc=example,dc=comcn: Carla Fuentes 
isManager: TRUE...
nsRole: cn=ManagerFilter,ou=sales,ou=People,
dc=example,dc=com

注意: フィルタ処理されたロールのフィルタ文字列は任意の属性に基づくことができますが、CoSメカニズムで生成される算出属性については例外となります。


フィルタ処理されたロールのメンバーがユーザー・エントリである場合、それらのメンバーがロールに自分自身を追加または削除する機能を制限することが可能です。ACIでフィルタ処理された属性を保護してください。

ネストされたロール定義の例

ネストされたロール内にネストされるロールは、nsRoleDN属性を使用して指定します。次のコマンドを使用して、前の例で作成したロールのマーケティング・スタッフおよびセールス・マネージャの両方のメンバーを含むロールを作成します。

$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
dn: cn=MarketingSales,ou=marketing,ou=People,dc=example,dc=com
objectclass: top
objectclass: LDAPsubentry
objectclass: nsRoleDefinition
objectclass: nsComplexRoleDefinition
objectclass: nsNestedRoleDefinition
cn: MarketingSales
nsRoleDN: cn=ManagerFilter,ou=sales,ou=People,dc=example,dc=com
nsRoleDN: cn=Marketing,ou=marketing,ou=People,dc=example,dc=com
nsRoleScopeDN: ou=sales,ou=People,dc=example,dc=com

nsNestedRoleDefinitionオブジェクト・クラスはLDAPsubentrynsRoleDefinitionおよびnsComplexRoleDefinitionオブジェクト・クラスから継承されることに注意してください。nsRoleDN属性はマーケティングの管理対象ロール、およびセールス・マネージャのフィルタ処理されたロールのDNを含んでいます。前述の例のユーザーBobとCarlaはどちらもこの新しくネストされたロールのメンバーとなります。

このフィルタの範囲には、デフォルトの有効範囲が含まれます。これはフィルタがあるサブツリー、およびnsRoleScopeDN属性の値の下にあるサブツリーのことです。この場合、ManagerFilterou=sales,ou=People,dc=example,dc=comサブツリーにあります。このサブツリーを範囲に追加する必要があります。

ロールの範囲の拡張

Directory Serverでは、ロールの範囲をロール定義エントリのサブツリーを超えて拡張できる属性が用意されています。この単一値属性nsRoleScopeDNは、既存ロールに追加する範囲のDNを含みます。nsRoleScopeDN属性は、ネストされたロールにのみ追加できます。「ネストされたロール定義の例」を参照してください。

ロールの範囲を拡張するには:

このタスクの実行には、DSCCを使用できません。次の手順の説明に従って、コマンドラインを使用してください。

nsRoleScopeDN属性により、あるサブツリーのロールの範囲を拡張して、他のサブツリーのエントリを含めることができます。たとえば、example.comディレクトリ・ツリーの2つの主要サブツリーである、o=eng,dc=example,dc=com(エンジニアリング・サブツリー)およびo=sales,dc=example,dc=com(セールス・サブツリー)を考えます。エンジニアリング・サブツリーのユーザーは、セールス・サブツリーのロール(SalesAppManagedRole)で管理されるセールス・アプリケーションへのアクセス権が必要になります。ロールの範囲を拡張するには、次を実行します。

  1. エンジニアリング・サブツリーのユーザーのロールを作成します。

    たとえば、ロールEngineerManagedRoleを作成します。この例では、管理対象ロールを使用しますが、フィルタ処理されたロールまたはネストされたロールでも同様にできます。

  2. セールス・サブツリーにネストされたロール、たとえばSalesAppPlusEngNestedRoleを作成して、新たに作成したEngineerManagedRoleと元からあるSalesAppManagedRoleを収容します。
  3. 追加するエンジニアリング・サブツリーの範囲のDN(この場合はo=eng,dc=example,dc=com)で、nsRoleScopeDN属性をSalesAppPlusEngNestedRoleに追加します。

    エンジニアリング・ユーザーには必要な権限を付与して、SalesAppPlusEngNestedRoleロール、さらにはセールス・アプリケーションにアクセスできるようにする必要があります。さらに、ロールの範囲全体をレプリケートする必要があります。


    注意: 拡張する範囲をネストされたロールに制限することは、以前あるドメインでロールを管理していた管理者は、他のドメインの既存ロールを使用する権限しか持たないことを意味します。管理者は他のドメインで任意のロールを作成できません。