ヘッダーをスキップ

Oracle Internet Directory 管理者ガイド
10gリリース2(10.1.2)
B15775-02
目次
目次
索引
索引

戻る 次へ

5
Oracleディレクトリ・サーバーの管理

この章では、Oracle Directory Managerとコマンドライン・ツールを使用してOracleディレクトリ・サーバーを管理する方法について説明します。

この章では、次の項目について説明します。

サーバーの構成設定エントリの管理

オブジェクト・クラスを使用してOracleディレクトリ・サーバーを起動すると、その起動メッセージはサーバー・パラメータを含む構成設定エントリを参照します。構成設定エントリを追加、変更および削除するには、Oracle Directory Managerまたは対応するコマンドライン・ツールを使用します。

この項では、次の項目について説明します。

構成設定エントリ管理のための事前の考慮事項

構成設定エントリconfigset0はデフォルトで、すべての新規構成設定エントリのテンプレートとして使用されます。このデフォルト構成設定の値は変更できますが、すべての変更が、新規に作成するすべての構成設定エントリに影響します。

すべてのサーバー・インスタンスに対しては有効でない値を変更するには、新しい構成設定エントリを作成することをお薦めします。ただし、この方法は、Oracleディレクトリ・サーバーおよびOracle Directory Integration Serverのインスタンスにのみ適用されます。Oracleディレクトリ・レプリケーション・サーバーがサポートする構成設定は1つのみです。

異なる値を使用して、ディレクトリ・サーバーの別のインスタンスを設定できます。この値を使用するユーザーを限定する場合は、新規の構成設定エントリを設定してから、特別なニーズを持つグループ用に、その構成設定エントリを示す個別のサーバー・インスタンスを実行してください。

図5-1に、それぞれ異なる値を持つ、3つのディレクトリ・サーバー・インスタンスを示します。

図5-1    複数の構成設定エントリを示すディレクトリ・エントリ階層


図5-1は、次のものを表しています。

Oracle Directory Managerを使用したサーバーの構成設定エントリの管理

Oracle Directory Managerを使用して、構成設定エントリの表示、追加、変更および削除ができます。


注意

アクティブ・インスタンスのパラメータは直接変更できません。かわりに、構成設定エントリのパラメータを変更し、保存する必要があります。構成設定エントリの保存後に、OID制御ユーティリティのrestartコマンドを使用して現行のOracleディレクトリ・サーバー・インスタンスの停止と再起動を行ってください。

構成設定エントリを変更して、新規パラメータを使用する新しいインスタンスを起動できます。変更前に起動した実行中のインスタンスには、そのインスタンスを再起動するまで変更内容が適用されません。

ディレクトリ・サーバー・インスタンスを再起動する方法は、『Oracle Identity Managementユーザー・リファレンス』のOracle Internet Directoryサーバーの管理ツールに関する項を参照してください。 


次の項目について説明します。

Oracle Directory Managerを使用した構成設定エントリの表示

構成設定エントリを表示する手順は、次のとおりです。

  1. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」、<ディレクトリ・サーバー・インスタンス>、「サーバー管理」の順に展開します。

  2. ディレクトリ・サーバー」、「レプリケーション・サーバー」または「統合サーバー」を選択します。アクティブ・インスタンスのパラメータが、右側のペインに表示されます。

  3. 右側のペインで、インスタンスを選択した後、「プロパティの表示」を選択します。「サーバー・プロセス」ダイアログ・ボックスが表示されます。

    ダイアログ・ボックス上部のタブを選択すると、インスタンスのパラメータをすべて参照できます。ただし、このダイアログ・ボックスではパラメータの値を変更できません。変更するには、基となっている構成設定エントリを変更する必要があります。

    関連項目

    「Oracle Directory Managerを使用した構成設定エントリの変更」 

Oracle Directory Managerを使用した構成設定エントリの追加

初めて構成設定エントリを追加するときには、次の操作が可能です。

デフォルトの構成設定エントリのコピーを使用した構成設定エントリの追加

デフォルトの構成設定エントリのコピーを使用して構成設定エントリを追加する手順は、次のとおりです。

  1. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」、<ディレクトリ・サーバー・インスタンス>、「サーバー管理」、「ディレクトリ・サーバー」の順に展開します。

  2. デフォルト構成設定」を選択します。

  3. ツールバーの「類似作成」ボタンを選択します。「構成設定」ダイアログ・ボックスに「一般」タブ・ページが表示されます。

  4. 一般」タブ・ページの各フィールドに情報を入力します。詳細は、表A-34を参照してください。

  5. SSL設定」タブを選択し、各フィールドに情報を入力します。詳細は、表A-35を参照してください。

  6. 適用」を選択します。

  7. コマンドを有効にするために、サーバー・インスタンスを再起動します。

    関連資料

    • 『Oracle Identity Managementユーザー・リファレンス』のoidctlコマンドライン・ツールのリファレンス

    • Oracle Wallet Managerを使用してOracle Walletの位置とOracle Walletパスワードを設定する手順は、『Oracle Advanced Security管理者ガイド』を参照してください。

    • 「デバッグ・ロギング・レベルの設定」

     

既存の構成設定エントリのコピーを使用しない構成設定エントリの追加

既存の構成設定のコピーを使用せずに、新しい構成設定エントリを作成する手順は、次のとおりです。

  1. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」、<ディレクトリ・サーバー・インスタンス>、「サーバー管理」、「ディレクトリ・サーバー」の順に展開します。

  2. デフォルト構成設定」を選択します。

  3. ツールバーの「作成」ボタンを選択します。「構成設定」ダイアログ・ボックスに「一般」タブ・ページが表示されます。

  4. 一般」タブ・ページの各フィールドに情報を入力します。詳細は、表A-34を参照してください。

  5. SSL設定」タブを選択し、各フィールドに情報を入力します。これらのフィールドについては、表A-35を参照してください。

  6. OK」を選択します。

Oracle Directory Managerを使用した構成設定エントリの変更

構成設定エントリを変更する手順は、次のとおりです。

  1. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」、<ディレクトリ・サーバー・インスタンス>、「サーバー管理」、「ディレクトリ・サーバー」の順に展開します。

  2. 変更する構成設定を選択します。右側のペインのタブ・ページに、構成設定が表示されます。

  3. 一般」タブ・ページの各フィールドの情報を変更します。詳細は、表A-34を参照してください。変更内容を保存するには、「適用」を選択します。

  4. SSL設定」タブを選択し、各フィールドの情報を変更します。詳細は、表A-35を参照してください。変更内容を保存するには、「適用」を選択します。

  5. コマンドを有効にするために、サーバー・インスタンスを再起動します。

    関連資料

    • 『Oracle Identity Managementユーザー・リファレンス』のoidctlコマンドライン・ツールのリファレンス

    • Oracle Wallet Managerを使用してOracle Walletの位置とOracle Walletパスワードを設定する手順は、『Oracle Advanced Security管理者ガイド』を参照してください。

     

Oracle Directory Managerを使用した構成設定エントリの削除

構成設定エントリを削除する手順は、次のとおりです。

  1. ナビゲータ・ペインで、「サーバー管理」、「ディレクトリ・サーバー」の順に展開します。

  2. 削除する構成設定を選択します。

  3. ツールバーの「削除」を選択します。

  4. コマンドを有効にするために、サーバー・インスタンスを再起動します。

    関連資料

    『Oracle Identity Managementユーザー・リファレンス』のoidctlコマンドライン・ツールのリファレンス 

コマンドライン・ツールを使用したサーバー構成設定エントリの管理

構成設定エントリの変更にはOracle Directory Managerを使用する方法をお薦めしますが、利用可能なコマンドライン・ツールを使用する方が便利な場合があります。たとえば、複数のOracleディレクトリ・サーバーに同じ変更を加える場合などがそうです。

コマンドライン・ツールを使用して構成設定エントリを追加または変更する場合、新規構成設定エントリの追加用の入力ファイルは、LDIFで作成する必要があります。インストール時のデフォルトと異なる属性と値のみ記述してください。ディレクトリ・サーバーは、新規構成設定エントリに設定された属性値で、該当する属性の既存値をオーバーライドします。

関連資料

LDIFの詳細は、『Oracle Identity Managementユーザー・リファレンス』のLDIFファイルの形式化規則と例に関する項を参照してください。 

次の項目について説明します。

ldapaddを使用した構成設定エントリの追加

新しいOracleディレクトリ・サーバー・インスタンスを追加する場合は、既存の構成設定エントリを使用するか、新しいインスタンス用に新規の構成設定エントリを追加します。

新規構成設定エントリを追加するには、入力ファイルを作成して、そのファイルをldapaddでロードします。次の手順で行ってください。

  1. テキスト・エディタで入力ファイルを作成します。

    入力ファイルはLDIFフォーマットで作成する必要があります。入力ファイルを作成するときは、その構成設定エントリの現行の値と異なる属性のみ定義(記述)する必要があります。

    この例では、パラメータconfigset2は新規エントリの相対識別名(ローカル名)、Walletの位置は/HOME/test/walletです。

    dn:cn=configset2, cn=osdldapd, cn=subconfigsubentry
    cn:configset2 objectclass:orclConfigSet objectclass:orclLDAPSubConfig objectclass:top orclsslauthentication:1 orclsslenable:1 orclsslport:5000 orclsslversion:3
    orclsslwalleturl:file:/HOME/test/wallet
  2. 入力ファイルを使用してldapaddを実行します。

    コマンド・プロンプトで、入力ファイルを追加するコマンドを入力します。

    ldapadd [options] -f LDIF_file_name
    

    関連資料

    • 『Oracle Identity Managementユーザー・リファレンス』のLDIFファイルの形式化規則と例に関する項

    • このコマンドで使用できるオプションの詳細は、『Oracle Identity Managementユーザー・リファレンス』のldapaddコマンドライン・ツールのリファレンスを参照してください。

    • 構成設定エントリの属性の説明は、『Oracle Identity Managementユーザー・リファレンス』のOID構成のスキーマ要素に関する項を参照してください。

     

ldapmodifyを使用した構成設定エントリの変更と削除

既存の構成設定エントリを変更または削除するには、変更する属性のみを含む入力ファイルを作成して、その入力ファイルをldapmodifyコマンドでロードします。次の手順で行ってください。

  1. 入力ファイルを作成します。

    入力ファイルを作成するとき、インストール時のデフォルトと異なる属性のみ定義(記述)します。

    入力ファイルはLDIFフォーマットで作成する必要があります。

    次に示す例では、パラメータcn=configset2,cn=osdldapd,cn=subconfigsubentryが、既存の構成設定エントリの識別名(ローカル名)です。この例は、orclsslportパラメータを7000に変更する方法を示しています。

    dn:cn=configset2,cn=osdldapd,cn=subconfigsubentry
    changetype: modify
    replace: orclsslport
    orclsslport: 7000
    
    
  2. 入力ファイルを参照するldapmodifyを実行します。

    コマンド・プロンプトで、入力ファイルを参照するコマンドを入力します。

    ldapmodify [options] -f LDIF_file_name
    

    関連資料

    • 『Oracle Identity Managementユーザー・リファレンス』のLDIFファイルの形式化規則と例に関する項

    • ldapmodifyの詳細とそのオプションのリストは、『Oracle Identity Managementユーザー・リファレンス』のldapmodifyコマンドライン・ツールのリファレンスを参照してください。

    • 構成設定エントリの属性の説明は、『Oracle Identity Managementユーザー・リファレンス』のOID構成のスキーマ要素に関する項を参照してください。

     

システム操作属性の設定

操作属性は、アプリケーション属性とは異なり、ディレクトリ自体の操作に関係します。一部の操作情報(エントリのタイムスタンプなど)は、サーバーを制御するためにディレクトリによって指定されます。アクセス情報などのその他の操作情報は、管理者が定義し、ディレクトリ・プログラムの処理時に、そのプログラムによって使用されます。システム操作属性を設定するには、スーパーユーザー権限を持っている必要があります。

この項では、次の項目について説明します。

Oracle Directory Managerを使用したシステム操作属性の設定

接続している各Oracleディレクトリ・サーバーの操作属性の一部は、Oracle Directory Managerを使用して表示および設定できます。この操作を実行するには、ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」を展開して、ディレクトリ・サーバーを選択します。右側のペインにシステム操作属性が表示されます。

Oracle Directory Managerに表示されるシステム操作属性フィールドの説明は、表A-36を参照してください。

ldapmodifyを使用したシステム操作属性の設定

システム操作属性を変更するには、ldapmodifyを使用します。変更可能なシステム操作属性は、『Oracle Identity Managementユーザー・リファレンス』で、Oracle Identity ManagementのLDAPの属性リファレンスに関する項を参照してください。

関連資料

ldapmodifyの詳細とそのオプションのリストは、『Oracle Identity Managementユーザー・リファレンス』のldapmodifyコマンドライン・ツールのリファレンスを参照してください。 

ネーミング・コンテキストの管理

ユーザーが特定のネーミング・コンテキストを検索できるように、それらのネーミング・コンテキストを公開できます。この項では、次の項目について説明します。

ネーミング・コンテキストを公開するには、各ネーミング・コンテキストの最上位エントリを、ルートDSEのnamingContexts属性の値として指定します。たとえば、3つの主なネーミング・コンテキストを持ったディレクトリ情報ツリーがあり、それらの最上位エントリがc=ukc=usおよびc=deであるとします。これらのエントリがnamingContexts属性の値として指定されている場合、適切なフィルタを指定することによって、ユーザーはルートDSEの検索によってそれらの情報を検索できます。ユーザーは、特にc=deネーミング・コンテキストに絞り込むなど、検索条件を詳細に指定できます。

ネーミング・コンテキストの公開には、Oracle Directory Managerまたはldapmodifyを使用できます。namingContexts属性は複数値なので、複数のネーミング・コンテキストを指定できます。

公開されたネーミング・コンテキストを検索するには、検索フィルタとしてobjectClass =*を指定して、ルートDSEでベース検索を実行します。検索された情報には、namingContexts属性で指定したエントリが含まれています。

ネーミング・コンテキストを公開する前に、次のことを確認してください。

Oracle Directory Managerを使用したネーミング・コンテキストの公開

  1. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」を展開して、ネーミング・コンテキストを指定するディレクトリ・サーバーを選択します。そのディレクトリ・サーバーに対応するタブ・ページが右側のペインに表示されます。

  2. システム操作属性」タブ・ページの「ネーミング・コンテキスト」フィールドに、公開するネーミング・コンテキストの最上位識別名を入力します。「参照」を選択して検索ウィンドウを開くこともできます。

  3. 適用」を選択します。

ldapmodifyを使用したネーミング・コンテキストの公開

次のサンプルLDIFファイルは、ネーミング・コンテキストとしてエントリc=ukを指定しています。

dn:
changetype: modify
add: namingcontexts
namingcontexts: c=uk

スーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーの管理

この項では、次の項目について説明します。

スーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーの説明

表5-1は、スーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーを定義したものです。

Oracle Directory Managerまたはldapmodifyのどちらかを使用して、ユーザーごとにユーザー名とパスワードを管理できます。

表5-1    スーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーの定義 
ユーザーのタイプ  定義 

スーパーユーザー 

ディレクトリ情報へのあらゆるアクセスが可能な特別なディレクトリ管理者。スーパーユーザーのデフォルトのユーザー名はorcladmin、デフォルトのパスワードはwelcomeです。

注意: このパスワードは、インストール後にすぐに変更することをお薦めします。 

ゲスト・ユーザー 

匿名ユーザーではなく、特定のユーザー・エントリも持っていないユーザー。ゲスト・ユーザーのデフォルトのユーザー名はguest、デフォルトのパスワードはguestです。 

プロキシ・ユーザー 

通常、ファイアウォール、Oracle Delegated Administration Servicesのようなアプリケーション、RADIUSサーバーなどの中間層を備えた環境で利用されるユーザー。プロキシ・ユーザーのデフォルトのユーザー名はproxy、デフォルトのパスワードはproxyです。

関連項目: プロキシ・ユーザーの詳細は、「間接認証」を参照してください。 

関連項目

アクセス権限の設定方法は、第14章「ディレクトリ・アクセス制御」を参照してください。 


注意

ユーザー名またはパスワードを指定せずにOracle Directory Managerにログインすることもできます。この場合、匿名ユーザーに指定されている権限が与えられます。匿名ユーザーには、最小限の権限が与えられます。 


Oracle Directory Managerを使用したスーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーの管理


注意

スーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーのパスワードは、デフォルトで暗号化されます。クリア・テキストで送信するために、これらのパスワードを変更することはできません。 


Oracle Directory Managerを使用して、スーパーユーザー、ゲスト・ユーザーまたはプロキシ・ユーザーのユーザー名またはパスワードを設定する手順は、次のとおりです。

  1. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」を展開して、ディレクトリ・サーバーを選択します。そのサーバーに対応するタブ・ページが右側のペインに表示されます。

  2. システム・パスワード」タブを選択します。このページに、各タイプのユーザーに対するカレント・ユーザー名とパスワードが表示されます。各パスワードは、パスワードのフィールドには表示されないことに注意してください。

  3. 表A-37で説明されているとおり、「システム・パスワード」タブ・ページ内の該当するフィールドを編集します。変更内容を保存するには、「適用」を選択します。

ldapmodifyを使用したスーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーの管理

スーパーユーザー、ゲスト・ユーザーまたはプロキシ・ユーザーのユーザー名またはパスワードを変更するには、ldapmodifyを使用して該当する属性を変更します。

表5-2    スーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーのユーザー名、パスワードおよび属性 
ユーザー名  パスワード  属性 

スーパーユーザーの名前 

orclsupassword 

orclsuname 

ゲスト・ユーザーの名前 

orclgupassword 

orclguname 

プロキシ・ユーザーの名前 

orclprpassword 

orclprname 

たとえば、スーパーユーザーのパスワードをsuperuserpasswordに変更するには、ldapmodifyで、次のように記述したLDIFファイルを使用してDSEを変更します。

dn:
changetype:modify
replace:orclsupassword
orclsupassword:superuserpassword

関連資料

ldapmodifyの構文と使用方法は、『Oracle Identity Managementユーザー・リファレンス』のldapmodifyコマンドライン・ツールのリファレンスを参照してください。 

匿名ユーザーによるバインドの管理

Oracleディレクトリ・サーバーは、匿名ユーザによるバインドを許可するようにも禁止するようにも構成できます。この動作は、ルートDSEエントリのorclAnonymousBindsFlag属性で制御します。表5-3に、orclAnonymousBindsFlagに指定可能な値と、ディレクトリ・サーバーの動作を示します。

表5-3    orclanonymousbindflagの値とディレクトリ・サーバーの動作 
orclAnonymousBindsFlagの値  ディレクトリ・サーバーの動作 

匿名ユーザーによるバインドを禁止 

匿名ユーザーによるバインドを許可(デフォルト) 

匿名ユーザーによるバインドを許可。ただし、許可されるのは、ルートDSEエントリに対する匿名ユーザーの検索操作のみ。 

ディレクトリ・サーバーでは、デフォルトで匿名ユーザーによるバインドが許可されます。つまり、orclAnonymousBindsFlag属性は1に設定されています。

次の例は、ldapmodifyコマンドライン・ツールを使用して匿名ユーザーによるバインドを無効にする方法を示しています。

ldapmodify -h hostname -p port -D cn=orcladmin -w super_user_pwd <<EOF
dn:
changetype: modify
replace: orclanonymousbindsflag
orclanonymousbindsflag: 0
EOF

関連項目

  

 

アクティブ・サーバー・インスタンスの情報の表示

任意のアクティブ・ディレクトリ・サーバー・インスタンスに関する情報(タイプ、インスタンス番号、デバッグ・レベル、ホスト名および構成パラメータなど)を表示するには、Oracle Directory Managerを使用します。この手順は、次のとおりです。

  1. ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」を展開して、ディレクトリ・サーバーを選択します。そのディレクトリ・サーバー・インスタンスに対応するタブ・ページが右側のペインに表示されます。

  2. サーバー管理」タブを選択します。ここには、すべてのアクティブ・ディレクトリ・サーバー・インスタンスの基本的な情報(タイプ、インスタンス番号、デバッグ・レベルおよびホスト名)が表示されます。

  3. 特定のディレクトリ・サーバー・インスタンスの構成パラメータを参照するには、そのディレクトリ・サーバー・インスタンスを選択して、「プロパティの表示」を選択します。「サーバー・プロセス」ダイアログ・ボックスに、選択したディレクトリ・サーバー・インスタンスの構成パラメータが表示されます。このダイアログ・ボックスでは、構成パラメータを変更できないことに注意してください。変更するには、基となっている構成設定エントリを変更する必要があります。

    関連項目

    構成設定エントリの変更方法は、「Oracle Directory Managerを使用したサーバーの構成設定エントリの管理」を参照してください。 

アイドル状態のLDAP接続のクローズ

アイドル状態のLDAP接続がクローズするまでのアイドル時間を分単位で指定できます。この処理を行うには、orclLDAPconnTimeout属性に値を設定します。この属性の詳細は、『Oracle Identity Managementユーザー・リファレンス』で、Oracle Identity ManagementのLDAPの属性リファレンスに関する項を参照してください。

Oracle Internet Directoryデータベース・サーバー接続時のパスワードの変更

Oracle Internet Directoryは、独自に指定されたOracleデータベースへの接続時にパスワードを使用します。Oracle Internet Directoryインストール時のこのパスワードのデフォルトは、Oracle Application Server管理者のパスワードと同じです。OIDデータベース・パスワード・ユーティリティを使用すると、このパスワードを変更できます。

関連資料

『Oracle Identity Managementユーザー・リファレンス』のoidpasswdコマンドライン・ツールのリファレンス 

別名エントリの間接参照

エントリに非常に長く複雑な識別名が付いている場合があるため、Oracle Internet Directoryでは、別名オブジェクトを使用してエントリの管理を簡単にできます。別名を使用してオブジェクトを検索(参照)すると、別名が間接参照され、その別名が指し示すオブジェクトが戻されます。たとえば、別名Server1は、完全修飾された識別名dc=server1,dc=us,dc=myCompnay,dc=comを指し示すように間接参照できます。この機能によって、厳密には階層構造でない構造も開発できます。

この項では、別名エントリを追加、検索および変更する方法の例について説明し、メッセージのリストを示します。次の項目について説明します。

別名エントリの概要

別名エントリは、オブジェクト・クラスaliasを使用して、ディレクトリ内のオブジェクト・エントリと区別します。このオブジェクト・クラスの定義は次のとおりです。

(2.5.6.1 NAME 'alias' SUP top STRUCTURAL MUST aliasedObjectName)

別名エントリには、aliasedObjectName属性も含まれます。この属性には、別名が指し示すオブジェクトの識別名が入ります。この属性の定義は次のとおりです。

(2.4.5.1 NAME 'aliasedObjectName" EQUALITY distinguishedNmameMatch SYNTAX 
1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE)

図5-2およびその後に続く説明では、別名エントリの間接参照の例を示します。

図5-2    別名エントリの例


図5-2で、ou=uk sales,ou=global sales,o=myCompany,c=usは、ou=sales,o=myCompany,c=ukエントリを指し示す別名エントリです。

ou=uk sales,ou=global sales,o=oracle,c=usを参照すると、その参照は、ディレクトリ・サーバーによって実際のエントリou=sales,o=oracle,c=ukに自動的に変更されます。

例: 別名エントリ間接参照の使用方法

この項では、次の項目について説明します。

例: 別名エントリの追加

別名エントリを追加するには、LDIFの通常のエントリ、および実際のエントリを指し示す別名エントリを作成します。この例の手順を実行すると、図5-3に示すツリーが生成されます。

  1. 次のエントリを持つサンプルLDIFファイルMy_file.ldifを作成します。

    dn: c=us
    c: us
    objectclass: country
    
    dn: o=MyCompany, c=us
    o: MyCompany
    objectclass:organization
    
    dn: ou=Area1, c=us
    objectclass: alias
    aliasedObjectName: o=MyCompany, c=us
    
    dn: cn=John Doe, o=MyCompany, c=us
    cn: John Doe
    sn: Doe
    objectclass: person
    
    dn: cn=President, o=MyCompany, c=us
    objectclass: alias
    aliasedobjectname: cn=John Doe, o=MyCompany, c=us
    
    
  2. 次のコマンドを使用して、これらのエントリをディレクトリに追加します。

    ldapadd -p port -h host -f My_file.ldif
    
    


    注意

    親が別名エントリである別名エントリを追加すると、ディレクトリ・サーバーはエラーを戻します。 


    関連項目

    エラー・メッセージは、「エントリ別名間接参照メッセージ」を参照してください。 

    図5-3    My_file.ldifの作成結果を示すツリー


    画像の説明

図5-3の文字Aは、別名エントリを表します。

例: 別名エントリによるディレクトリの検索

指定する検索ごとに設定できるフラグがあります。検索は、指定したフラグに基づいて実行されます。

別名の間接参照に関係するフラグは、-a neverおよび-a findです。

デフォルトでは、ldapsearchの間接参照フラグは-a neverで、ディレクトリ・サーバーは別名エントリに対する間接参照を行いません。

例: ベースの検索

ベース検索は、指定した別名エントリの最上位レベルを検索します。

次の例は、間接参照フラグを-a findに設定し、フィルタとして"objectclass=*"を使用してou=Area1,c=usのベース検索を行う場合を示しています。

ldapsearch -p port -h host -b "ou=Area1,c=us" -a find -s base "objectclass=*"

ディレクトリ・サーバーは、ベース検索時に、検索リクエストに指定されたベースを検索し、その位置をユーザーに戻します。ただし、この例のようにベースが別名エントリで、検索リクエストに-a findが指定されている場合、ディレクトリ・サーバーは、別名エントリを自動的に間接参照し、その別名エントリが指し示すエントリを戻します。この例では、検索でou=Area1,c=us(別名エントリ)が間接参照され、o=MyCompany,c=usが戻されます。

例: 1レベルの検索

1レベル検索では、指定したベース・レベルに対する子のみを検索します。

次の例は、間接参照フラグを-a findに設定し、フィルタとして"objectclass=*"を使用して"ou=Area1,c=us"の1レベル検索を行う場合を示しています。

ldapsearch -p port -h host -b "ou=Area1,c=us" -a find -s one "objectclass=*"

ディレクトリ・サーバーは、2つの手順で検索を実行します。

  1. 検索リクエストに指定されたベースを検索します。

  2. ベースの位置を特定すると、このベース下のすべての1レベル・エントリを検索して、フィルタ基準と一致するエントリを戻します。

この例では、検索リクエストに-a findが指定されているため、ディレクトリ・サーバーは、ベースの検索(最初の手順)中に自動的に間接参照しますが、ベース下の1レベルの別名エントリは間接参照しません。したがって、この検索ではou=Area1,c=us(別名エントリ)が間接参照され、o=MyCompany,c=us下の1レベル・エントリが検索されます。1レベル・エントリの1つは、間接参照されずにそのまま戻されるcn=President,o=MyCompany,c=usです。

したがって、この検索では、cn=President,o=MyCompany,c=usおよびcn=John Doe,o=MyCompany,c=usが戻されます。

例: サブツリーの検索

サブツリー検索は、ベース、子および孫を検索します。

次の例は、間接参照フラグを-a findに設定し、フィルタとして"objectclass=*"を使用して"ou=Area1,c=us"のサブツリーの検索を行う場合を示しています。

ldapsearch -p port -h host -b "ou=Area1,c=us" -a find -s one "objectclass=*"

ディレクトリ・サーバーは、2つの手順で検索を実行します。

  1. 検索リクエストに指定されたベースを検索します。

  2. ベースの位置を特定すると、このベース下のすべてのエントリを検索して、フィルタ基準と一致するエントリを戻します。

この例では、検索リクエストに-a findが指定されているため、ディレクトリ・サーバーは、ベースの検索(最初の手順)中に自動的に間接参照しますが、ベース下の別名エントリは間接参照しません。したがって、検索では、ou=Area1,c=us(別名エントリ)が間接参照され、o=MyCompany,c=us下のエントリが検索されます。エントリの1つは、間接参照されずにそのまま戻されるcn=President,o=MyCompany,c=usです。

したがって、この検索では次の情報が戻されます。

例: 別名エントリの変更

次の例は、別名エントリを変更する方法を示しています。次のエントリを持つサンプルLDIFファイルMy_file.ldifを作成します。

dn: cn=President, o=MyCompany, c=us
changetype : modify
replace: aliasedobjectname
aliasedobjectname: cn=XYZ, o=MyCompany, c=us

次のコマンドを使用して、別名エントリを変更します。

ldapmodify -p port -h host -f My_file.ldif

成功メッセージとエラー・メッセージ

表5-4は、間接参照の別名エントリに関するメッセージと、各メッセージの意味を示しています。

表5-4    エントリ別名間接参照メッセージ 
メッセージ  意味 

別名に問題があります 

次のいずれかの問題が発生しました。

  • 別名を間接参照しましたが、その別名がディレクトリ情報ツリー内のエントリを指し示していません。

  • 親が別名である別名エントリを追加しようとしました。

 

別名の間接参照に問題があります 

アクセス制御上の問題であるため、別名を間接参照できません。 

該当するオブジェクトがありません 

検索リクエストに指定されたベース識別名をサーバーで検索できません。 

識別名の構文に誤りがあります 

aliasedObjectNameに指定された値に無効な識別名の構文が含まれている場合に別名エントリを追加または変更すると、ディレクトリ・サーバーがクライアントにこのエラー・メッセージを戻します。 

成功しました 

クライアント操作が正常に完了しました。

間接参照ターゲットが見つかり、検索リクエストに指定したフィルタと一致しない場合、サーバーは一致エントリなしで成功メッセージを戻します。 

不十分なアクセス権限 

ユーザーが間接参照されたエントリへのアクセス権限を持っていません。 

分散環境でのディレクトリ・サーバーの位置の特定

特定のエントリに対して操作を実行するには、クライアントが、そのエントリが常駐するサーバーを検出できる必要があります。分散環境では、サーバーの位置に関する情報は、次の2通りの方法で入手できます。

この項では、サーバー情報の位置を特定する2通りの方法について説明します。次の項目について説明します。

ディレクトリ・サーバー構成ファイル(ldap.ora)を使用した静的ディレクトリ・サーバーの検出

この方法では、クライアントは、ディレクトリ・エントリに対して操作を実行する場合、クライアント・ホストに格納されているディレクトリ・サーバー構成ファイル(ldap.ora)からディレクトリ・サーバーの位置情報を取得します。このファイルには、次の要件を指定する構成パラメータが含まれています。

ファイルldap.oraはLDAPクライアントのファイル・システムに常駐しています。クライアントは、このファイルを次のファイル・システム・ディレクトリから優先順位に従って検索します。

  1. LDAP_ADMIN環境変数が指し示すディレクトリ

  2. ORACLE_HOME/ldap/adminのディレクトリ(またはMicrosoft Windowsの場合、ORACLE_HOME¥ldap¥admin

  3. TNS_ADMIN環境変数が指し示すディレクトリ

  4. ORACLE_HOME/network/adminのディレクトリ(またはMicrosoft Windowsの場合、ORACLE_HOME¥network¥admin

ファイルldap.oraが複数の位置に存在する場合、優先順位の高い位置を使用します。

静的方法を使用してディレクトリ・サーバーを検出すると、管理オーバーヘッドが増加する場合があります。たとえば、ldap.oraファイルがクライアント・ホストに格納されているため、管理者は、ディレクトリ・サーバーのホスト名やポート番号を変更するたびに、すべてのクライアント上でそのファイルを更新する必要があります。このオーバーヘッドの増加を回避するには、アプリケーションでドメイン・ネーム・システム(DNS)を使用して、動的にディレクトリ・サーバーを検出します。

ドメイン・ネーム・システム(DNS)を使用した動的ディレクトリ・サーバーの検出

ドメイン・ネーム・システム(DNS)は、ドメイン名の位置を特定し、それをコンピュータの実際のアドレスに変換する動的方法です。この変換プロセスは、ディレクトリ・サーバーの位置に関する情報が格納されている中央ドメイン・ネーム・サーバーによって処理されます。

ネットワーク管理者がディレクトリ・サーバーの位置に関する必要な情報をドメイン・ネーム・サーバーに入力すると、クライアントは、ldap.oraファイルからではなく、そのサーバーから情報を取り出すことができます。

クライアントがDNSを使用してディレクトリ・サーバーの位置を特定する場合は、次の手順を完了しておく必要があります。

クライアントがDNSを使用してディレクトリ・サーバーの位置を特定する方法

クライアントは、エントリが常駐するディレクトリ・サーバーを検出するためにドメイン・ネーム・サーバーと通信します。具体的には、ドメイン・ネーム・サーバーにドメイン名を提供します。ドメイン名は、必要なディレクトリ・サーバーが配置されている場所を指定します。

クライアントは、ドメイン名を生成するためにユーザーが入力した識別名からドメイン・コンポーネントを抽出します。たとえば、識別名cn=John Doe,ou=accounting,dc=example,dc=netの場合、ドメイン・コンポーネントはdc=example,dc=netです。このドメイン・コンポーネントは、リクエストしたエントリが常駐するサーバーを表します。次に、クライアントは、そのドメイン名コンポーネントをドメイン・ネーム・サーバーが認識する形式(example.net)のドメイン名に変換します。

図5-4とその後の説明で、クライアントの視点からディレクトリ・サーバーの位置を特定するプロセスを示します。

図5-4    DNSを使用してディレクトリ・サーバーの位置を特定するクライアント


  1. ディレクトリ・エントリに対して操作を実行するユーザーは、エントリの識別名(DN)をクライアントに入力します。たとえば、cn=John Doe,ou=accounting,dc=example,
    dc=net
    です。

  2. クライアントは、ドメイン・ネーム・サーバーと通信するために、識別名のドメイン・コンポーネントをドメイン名に変換します。ここで使用している例では、クライアントはその識別名のドメイン・コンポーネントdc=example,dc=netをドメイン名example.netに変換します。

  3. クライアントは、指定したドメイン名を持つSRVリソース・レコードについてドメイン・ネーム・サーバーに問い合せます。

  4. ドメイン・ネーム・サーバーは、指定したドメイン名と一致するSRVリソース・レコードを戻します。これらのリソース・レコードには、リクエストしたエントリを含むディレクトリ・サーバーのホスト名情報が格納されています。ドメイン・ネーム・サーバーによって一致するSRVリソース・レコードを検出できない場合は、エラー・メッセージが戻されます。

  5. クライアントは、このレコードを解析します。これらのレコードからディレクトリ・ホスト名情報を抽出し、ユーザーに戻します。

    関連資料

    • http://www.ietf.orgのP. Mockapetris氏による「Domain Names: Concepts and Facilities (RFC 1034)」を参照してください。

    • http://www.ietf.orgのP. Mockapetris氏による「Domain Names: Implementation and Specification (RFC 1035)」を参照してください。

     


    注意

    ドメイン・ネーム・サーバーは、必要なすべてのSRVレコードをローカルに格納するか、または他のドメイン・ネーム・サーバーから取得します。また、リクエストされた情報を検出できない場合は、エラー・メッセージを戻します。別のドメイン・ネーム・サーバーに対する参照は戻しません。 


ドメイン・ネーム・システムへのディレクトリ・サーバーの登録

ディレクトリ・サーバーに関するサーバーの位置情報を登録するには、DNSサービス・ロケーション・レコード(SRV)をドメイン・ネーム・サーバーに入力します。SRVレコードには次の情報が格納されています。

SRVリソース・レコードによって、管理者は、1つのドメインに対して複数のサーバーを使用し、サービスをホスト間で簡単に移動し、一部のホストをサービス用のプライマリ・サーバーとして、残りをバックアップとして指定することができます。

SRVレコードは、Oracle Internet Directoryサーバーに固有の形式または標準形式にできます。Oracle Internet Directoryサーバーに関する情報の場合は、Oracle Internet Directory固有の形式をお薦めします。クライアントは、初めてドメイン・ネーム・サーバーに問い合せる場合、Oracle Internet Directory固有の形式を持つSRVレコードを検索します。この形式のレコードを検出できない場合は、標準形式のSRVレコードを問い合せます。

SRVレコード用のOracle Internet Directory固有の形式

Oracle Internet Directory固有の形式は、次のとおりです。

_Service._Proto._product.Domain TTL Class Type Priority Weight Port Target

表5-5に引数を示します。次に、Oracle Internet Directory固有の形式を使用したSRVレコードの例を示します。

_ldap._tcp._oid.acme.com 0 IN SRV 0 1 389 ldap.acme.com

SRVレコード用の標準形式

標準形式は、次のとおりです。

_Service._Proto.Domain TTL Class Type Priority Weight Port Target

表5-5に引数を示します。次に、非SSLベースのディレクトリ・サーバー用の標準形式を使用したSRVレコードの例を示します。

_ldap._tcp.acme.com 0 IN SRV 0 1 389 ldap.acme.com
表5-5    サービス・ロケーション・レコード(SRV)の引数 
引数  説明 

Service 

非SSLベースのサーバーの場合、この引数の値はldapです。SSLベースのサーバーの場合は、ldapsです。 

Proto 

常に、値はtcpです。 

Product 

常に、値はoidです。 

Domain 

ドメイン名。通常は、ディレクトリ・サーバーによって作成されたネーミング・コンテキストのDNをドメイン名に変換して取得されます。

関連項目: 「クライアントがDNSを使用してディレクトリ・サーバーの位置を特定する方法」を参照してください。 

TTL 

有効期間。この引数は標準DNSの意味を持っています。情報のソースを再度問い合せるまでリソース・レコードをキャッシュしておくことができる時間を指定します。 

Class 

この引数は標準DNSの意味を持っています。SRVレコードはINクラスで発生します。 

Type 

すべてのSRVレコードで、この引数の値はSRVです。 

Priority 

ディレクトリ・サーバーの優先順位。クライアントは、優先順位番号が一番小さいターゲット・ホストと通信する必要があります。 

Weight 

サーバー選択メカニズム。この引数は、同じ優先順位を持つエントリに対して相対的な重みを指定します。複数のSRVが同じ優先順位を持っている場合は、次のプロトコルに従って順位付けされます。

  1. 次に通信するターゲットを選択するために、順位付けされていないすべてのSRVリソース・レコードを任意の順序で並べます。ただし、重み0のレコードはすべてリストの先頭に置きます。

  2. これらのリソース・レコードの重みの合計を計算します。また、各リソース・レコードには、選択した順序での重みの累計を関連付けます。

  3. 0から計算した合計までの間の一様乱数を選択し、選択した順序で、重みの累計値が初めて選択した乱数以上となるリソース・レコードを選択します。選択したSRVリソース・レコードに指定されているターゲット・ホストが、クライアントによって次に通信されるホストです。

  4. 順位付けされていないSRVリソース・レコードのセットから、このSRVリソース・レコードを削除します。

  5. 順序付けされていないSRVリソース・レコードに前述のアルゴリズムを適用して、次のターゲット・ホストを選択します。

  6. 順位付けされていないSRVリソース・レコードがなくなるまで、この順位付けプロセスを続けます。

  7. このプロセスを各優先順位に対して繰り返します。

 

Port 

ディレクトリ・サービス用のターゲット・ホストのポート。 

Target 

ディレクトリ・サーバーが稼働しているホストのドメイン名。 


注意

ディレクトリ・サーバーが別のホストに移動された場合、または別のポートで稼働している場合は、対応するSRVリソース・レコードをそれに応じて更新する必要があります。 



戻る 次へ
Oracle
Copyright © 1995, 2005 Oracle.

All Rights Reserved.
目次
目次
索引
索引