ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Unified Directory管理者ガイド
11g リリース2 (11.1.2)
B72794-04
  目次へ移動
目次

前
 
次
 

26 管理ユーザーの管理

Oracle Unified Directoryは、ルート・ユーザー、グローバル管理者およびサーバーの管理者を構成できる柔軟な特権サブシステムを備えています。複数のルート・ユーザーを構成して、管理者ごとに異なるroot特権を割り当てることができます。管理ドメインについては、ネットワーク内またはレプリケート環境内の管理ドメインを管理する複数のドメイン管理者を構成することもできます。

この項のトピックでは、複数のルート・ユーザーおよび特権サブシステムの管理について説明します。また、サーバーを安全に管理するために必要な様々なユーザー・アカウントの構成およびメンテナンス手順についても説明します。

ここで概説する手順を開始する前に、サーバーに関する次のガイドラインについて決定しておきます:

この章では、次のトピックを取り扱います:

26.1 複数のルート・ユーザーの使用

Oracle Unified Directoryは、"cn=Directory Manager"というデフォルトのルートDN(ルート・ユーザー)を1つ備えています。このデフォルトのルートDNは、サーバー内のすべてのデータに対する完全な読取りおよび書込みアクセスが可能な特殊特権を割り当てられたユーザー・エントリです。ルートDNは、Unixのルート・ユーザーまたはスーパーユーザーに相当し、アクセス制御を回避してサーバー上でタスクを実行できます。ルート・ユーザーは、サーバーの"cn=Root DNs,cn=config"ブランチの下にあるcn=Directory Manager,cn=Root DNs,cn=configで定義されます。

サーバーでは、複数のルート・ユーザー(それぞれがそのサーバー上に固有のエントリと固有の資格証明セットを保有)をサポートしています。そのため、特定のタスクについてのみルート・アクセス権を必要とし、ルート・ユーザーの完全な特権セットは必要としない可能性があるユーザーに対しても特権を割り当てることが可能です。各エントリでは、GSSAPI SASLメカニズムなどの厳密な認証やパスワード・ポリシーの割当またはリソース制限の追加(スキーマでこの制限が可能な場合)を行うことができ、ルート・ユーザーごとにまったく異なる構成を設定できます。

ルート・ユーザーは、次の面で通常のユーザー・エントリとは異なります:

特権サブシステムでは、複数のルート・ユーザーの構成をサポートしています。

26.2 ルート・ユーザーと特権サブシステム

特権サブシステムは、ルート・ユーザーの特定のアクセス特権セットのみを必要とする可能性があるユーザーに対して、特権を絞り込んで割り当てることを可能にします。ルート・ユーザーには、"cn=Root DNs,cn=config"サブツリー内のdefault-root-privilege-name属性で定義されている特権セットが自動的に付与されます。

特権サブシステムはアクセス制御サブシステムからは独立していますが、一部の操作にはアクセス制御が適用されることがあります。

ルート・ユーザーには、次の特権セットが自動的に割り当てられます。

特権 説明

bypass-acl

アクセス制御評価の回避をユーザーに許可します。

modify-acl

サーバーに定義されているアクセス制御命令の変更をユーザーに許可します。

config-read

サーバー構成への読取りアクセスをユーザーに許可します。

config-write

サーバー構成への書込みアクセスをユーザーに許可します。

ldif-import

LDIFインポート・タスクのリクエストをユーザーに許可します。

ldif-export

LDIFエクスポート・タスクのリクエストをユーザーに許可します。

backend-backup

バックエンドのバックアップ・タスクのリクエストをユーザーに許可します。

backend-restore

バックエンドのリストア・タスクのリクエストをユーザーに許可します。

server-shutdown

サーバー停止タスクのリクエストをユーザーに許可します。

server-restart

サーバー再起動タスクのリクエストをユーザーに許可します。

disconnect-client

任意のクライアント接続の終了をユーザーに許可します。

cancel-request

任意のクライアント・リクエストの取消をユーザーに許可します。

unindexed-search

索引なし検索操作のリクエストをユーザーに許可します。

password-reset

ユーザー・パスワードのリセットをユーザーに許可します。

update-schema

サーバー・スキーマの更新をユーザーに許可します。

privilege-change

ユーザーに割り当てられた特権セットの変更またはデフォルトのroot特権セットの変更をユーザーに許可します。


ルート・ユーザーには、次の特権を割り当てることができます。

特権 説明

jmx-read

JMX属性値の読取りをユーザーに許可します。

jmx-write

JMX属性値の更新をユーザーに許可します。

jmx-notify

JMX通知のサブスクライブをユーザーに許可します。

proxied-auth

プロキシ設定された認可制御の使用または代替SASL認証IDのリクエストをユーザーに許可します。


26.3 dsconfigによるルート・ユーザーの管理

ルート・ユーザーの管理にはdsconfigコマンドを使用します。詳細は、第17.1項「dsconfigを使用したサーバー構成の管理」を参照してください。

26.3.1 デフォルトのルート・ユーザー特権を表示するには

デフォルトのルート・ユーザーはいくつかの特権を保有しています。これらの特権はdefault-root-privilege-nameプロパティの値として格納されています。

  1. デフォルトのルート・ユーザー特権を表示するには、次のdsconfigコマンドを実行します:

    $ dsconfig -h localhost -p 4444 -D "cn=directory manager" -j pwd-file -n \
      get-root-dn-prop
    
    Property                    : Value(s)
    ----------------------------:--------------------------------------------------
    default-root-privilege-name : backend-backup, backend-restore, bypass-acl, 
                                        : cancel-request, config-read, config-write,
                                        : disconnect-client, ldif-export, ldif-import,
                                        : modify-acl, password-reset, privilege-change,
                                        : server-restart, server-shutdown,
                                        : unindexed-search, update-schema
    

26.3.2 デフォルトのルート・ユーザー特権を編集するには

ルート・ユーザー特権の最も容易な管理方法は、対話モードでdsconfigを使用することです。対話モードでは画面の指示に従ってルート・ユーザー構成を変更できるため、この手順はここでは取り上げません。

デフォルトのルート・ユーザーの特権を追加または削除するには、default-root-privilege-nameプロパティの値を追加または削除します。このプロパティには次の値を保持できます:

  • backend-backup

  • backend-restore

  • bypass-acl

  • cancel-request

  • config-read

  • config-write

  • disconnect-client

  • jmx-notify

  • jmx-read

  • jmx-write

  • ldif-export

  • ldif-import

  • modify-acl

  • password-reset

  • privilege-change

  • proxied-auth

  • server-restart

  • server-shutdown

  • unindexed-search

  • update-schema

次の例では、dsconfigを非対話モードで使用して、デフォルトのルート・ユーザーにjmx-notify特権を追加します。

  1. dsconfigコマンドを次のように実行します:

    $ dsconfig -h localhost -p 4444 -D "cn=directory manager" -j pwd-file -n \
      set-root-dn-prop --add default-root-privilege-name:jmx-notify
    

26.3.3 ルート・ユーザーを作成するには

ルート・ユーザーはcn=Root DNs,cn=configエントリの下に格納されます。新しいルート・ユーザーを作成するには、LDIFでエントリを作成し、ldapmodifyコマンドを使用してそのエントリを追加します。cn=config接尾辞は管理コネクタからのみ使用可能なため、SSLを使用して管理ポートからアクセスする必要がある点に注意してください。

ルート・ユーザーは、サーバーのデフォルトのルート・ユーザー特権セットを自動的に継承します。特定のルート・ユーザーの特権の追加または削除の詳細は、「ルート・ユーザーの特権を変更するには」を参照してください。

  1. cn=Root DNs,cn=configエントリの下にルート・ユーザー・エントリを作成します。

    次のLDIFファイルは、Administration Managerという新しいルート・ユーザー名を示しています。このエントリはadd-root-user.ldifという名前のファイルに保存されています。

    dn: cn=MyRootUser,cn=Root DNs,cn=config
    objectClass: inetOrgPerson
    objectClass: person
    objectClass: top
    objectClass: ds-cfg-root-dn-user
    objectClass: organizationalPerson
    userPassword: password
    cn: MyRootUser
    sn: MyRootUser
    ds-cfg-alternate-bind-dn: cn=MyRootUser
    givenName: Directory
    
  2. ldapmodifyコマンドを使用して、エントリを追加します。

    $ ldapmodify -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file \
      --useSSL --defaultAdd --filename "add-root-user.ldif"
    Processing ADD request for cn=MyRootUser,cn=Root DNs,cn=config
    ADD operation successful for DN cn=MyRootUser,cn=Root DNs,cn=config
    
  3. サーバーに定義されているすべてのルート・ユーザーを表示するには、ldapsearchコマンドを使用します。

    $ ldapsearch -p 4444 -b "cn=root DNs,cn=config" -D "cn=directory manager" -j pwd-file \
    --useSSL "objectclass=*" dn
    dn: cn=Root DNs,cn=config
    
    dn: cn=MyRootUser,cn=Root DNs,cn=config
    
    dn: cn=Directory Manager,cn=Root DNs,cn=config
    

26.3.4 ルート・ユーザーのパスワードを変更するには

  1. セキュア・ファイルにパスワードを作成します。

  2. ldappasswordmodifyを使用して、パスワードを変更します。

    $ ldappasswordmodify -h localhost -p 4444 -D "cn=MyRootUser" -j pwd-file \
      --useSSL --newPasswordFile rootuser_pwd.txt
    The LDAP password modify operation was successful
    

26.3.5 ルート・ユーザーの特権を変更するには

特定のルート・ユーザーに対して異なる特権セットを割り当てるには、そのルート・ユーザーのエントリにds-privilege-name属性を追加します。

次の例では、ルート・ユーザー"cn=MyRootUser,cn=Root DNs,cn=config"に、プロキシ認可を使用する権限を割り当てます。この例では、ユーザー特権の変更権限と構成へのアクセス権限を削除します。特権の前のマイナス記号は、その特権が追加されるのではなく、削除されることを表します。

  1. ルート・ユーザーのエントリに次のLDIF文を適用します:

    dn: cn=MyRootUser,cn=Root DNs,cn=config
    changetype: modify
    add: ds-privilege-name
    ds-privilege-name: proxied-auth
    ds-privilege-name: -config-read
    ds-privilege-name: -config-write 
    

    この例のルート・ユーザー"cn=MyRootUser,cn=Root DNs,cn=config"は、ルート・ユーザーに自動的に付与される特権のうち、config-read特権とconfig-write特権を除くすべての特権を継承します。また、このユーザーにはproxied-auth特権も付与されます。

26.4 ルート・ユーザーのリソース制限の設定

サーバーにバインドされているクライアント・アプリケーションで操作属性を使用することによって、検索操作に対するサーバーのリソース制限を設定できます。使用可能なリソース制限は次のとおりです:

次のLDIF update文では、前の項で作成した新しいルート・ユーザーに対してリソース制限を設定します。この文をルート・ユーザーのエントリに適用します。

dn: cn=MyRootUser,cn=Root DNs,cn=config
changetype: modify
add: ds-rlim-lookthrough-limit
ds-rlim-lookthrough-limit: 1000
-
add: ds-rlim-size-limit
ds-rlim-size-limit: 500
-
add: ds-rlim-time-limit
ds-rlim-time-limit: 300

特定のリソース制限を無制限に設定するには、対応する属性の値を0(ゼロ)に設定します。

26.5 管理者の管理

一般に、管理者はほとんどのユーザーよりも広範な権限を保有します。多数の管理者を作成し、それぞれの管理者に異なるアクセス制御やリソース制限を割り当てることができます。

26.5.1 新しい管理者を作成するには

  1. import-ldifを使用して、管理者データをインポートします。

    この例で追加する管理者はuid=Admin.Labを持っています。

    1. または、既存のユーザーを使用することもできます。

  2. cn=Administratorsを使用して、管理者のグループを作成します。

    管理者のグループには少数のユーザーしか含めないため、静的グループを作成できます。詳細は、「静的グループの定義」を参照してください。

    dn: cn=Administrators,ou=People,dc=example,dc=com
    objectClass: top
    objectClass: groupOfNames
    member: uid=Admin.Lab,ou=People,dc=example,dc=com
    cn: Administrator
    
  3. ldapmodifyコマンドを使用して、管理者の特権を設定します。

    たとえば、次のコマンドでは、バックエンドでバックアップとリストアを実行する権限が管理者に付与されます。

    ldapmodify -h localhost -p 1389 -j pwd-file -D "cn=directory manager"
    dn: uid=Admin.Lab,ou=People,dc=example,dc=com
    changetype: modify
    add: ds-privilege-name
    ds-privilege-name: backend-backup
    ds-privilege-name: backend-restore
    
  4. 必要に応じて、リソース制限を設定します。

    手順は、ルート・ユーザーに対してリソース制限を設定する場合と同様です。「ルート・ユーザーのリソース制限の設定」を参照してください。

26.5.2 ルート・ユーザーの特権を持つ管理者を作成するには

管理者またはユーザーにルート・ユーザーの特権を割り当てることができます。

  1. 管理者を作成するか、既存のユーザーを使用します。

    「新しい管理者を作成するには」を参照してください。

  2. ldapmodifyコマンドを使用して、特権を変更します。

    たとえば次のコマンドでは、Admin.Labという名前の管理者の特権を変更して、ルート・ユーザーと同じデフォルトの特権を割り当てます。

    ldapmodify -h localhost -p 1389 -j pwd-file -D "cn=directory manager"
    dn: uid=Admin.Lab,cn=Administrators,ou=People,dc=example,dc=com
    changetype: modify
    add: ds-privilege-name
    ds-privilege-name: bypass-acl
    ds-privilege-name: modify-acl
    ds-privilege-name: config-read
    ds-privilege-name: config-write
    ds-privilege-name: ldif-import
    ds-privilege-name: ldif-export
    ds-privilege-name: backend-backup
    ds-privilege-name: backend-restore
    ds-privilege-name: server-shutdown
    ds-privilege-name: server-restart
    ds-privilege-name: disconnect-client
    ds-privilege-name: cancel-request
    ds-privilege-name: password-reset
    ds-privilege-name: update-schema
    ds-privilege-name: privilege-change
    ds-privilege-name: unindexed-search
    

    注意:

    アクセス制御に関する特権bypass-aclmodify-aclは、限られた数のユーザーにのみ割り当てるようにします。アクセス制御を回避または変更する権限を経験の浅いユーザーに割り当てると、危険な場合があります。


26.6 グローバル管理者の管理

グラフィカル・インストーラまたはdsreplicationコマンドを使用したレプリケーション・サーバーの設定時には、グローバル管理者のユーザー名とパスワードを設定するように求められます。グローバル管理者は、レプリケート環境内の管理サーバーの管理とメンテナンスの責任者です。

グローバル管理者はcn=Administrators,cn=admin dataサブツリー内に存在します。グローバル管理者のエントリを表示するには、次のldapsearchコマンドを実行します:

$ ldapsearch -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file \
  --useSSL -b "cn=Administrators,cn=admin data" -s sub "(objectclass=*)"
dn: cn=Administrators,cn=admin data
objectClass: top
objectClass: groupofurls
description: Group of identities which have full access.
cn: Administrators
memberURL: ldap:///cn=Administrators,cn=admin data??one?(objectclass=*)
dn: cn=admin,cn=Administrators,cn=admin data
objectClass: person
objectClass: top
userPassword: {SSHA}+ed1wbhcWjxtv2zJ6OHEA2TuE9n1qIJGnuR94w==
description: The Administrator that can manage all the OUD instances.
cn: admin
sn: admin