Oracle Internet Directory 管理者ガイド 10gリリース2(10.1.2) B15775-02 |
|
この章では、Oracle Directory Managerとコマンドライン・ツールを使用してOracleディレクトリ・サーバーを管理する方法について説明します。
この章では、次の項目について説明します。
オブジェクト・クラスを使用してOracleディレクトリ・サーバーを起動すると、その起動メッセージはサーバー・パラメータを含む構成設定エントリを参照します。構成設定エントリを追加、変更および削除するには、Oracle Directory Managerまたは対応するコマンドライン・ツールを使用します。
この項では、次の項目について説明します。
構成設定エントリconfigset0
はデフォルトで、すべての新規構成設定エントリのテンプレートとして使用されます。このデフォルト構成設定の値は変更できますが、すべての変更が、新規に作成するすべての構成設定エントリに影響します。
すべてのサーバー・インスタンスに対しては有効でない値を変更するには、新しい構成設定エントリを作成することをお薦めします。ただし、この方法は、Oracleディレクトリ・サーバーおよびOracle Directory Integration Serverのインスタンスにのみ適用されます。Oracleディレクトリ・レプリケーション・サーバーがサポートする構成設定は1つのみです。
異なる値を使用して、ディレクトリ・サーバーの別のインスタンスを設定できます。この値を使用するユーザーを限定する場合は、新規の構成設定エントリを設定してから、特別なニーズを持つグループ用に、その構成設定エントリを示す個別のサーバー・インスタンスを実行してください。
図5-1に、それぞれ異なる値を持つ、3つのディレクトリ・サーバー・インスタンスを示します。
図5-1は、次のものを表しています。
cn=odsldap
)
configset0
を使用しているレプリケーション・サーバー・インスタンス(cn=odsrepld
)
関連資料
Oracle Directory Managerを使用して、構成設定エントリの表示、追加、変更および削除ができます。
次の項目について説明します。
構成設定エントリを表示する手順は、次のとおりです。
ダイアログ・ボックス上部のタブを選択すると、インスタンスのパラメータをすべて参照できます。ただし、このダイアログ・ボックスではパラメータの値を変更できません。変更するには、基となっている構成設定エントリを変更する必要があります。
初めて構成設定エントリを追加するときには、次の操作が可能です。
デフォルトの構成設定エントリのコピーを使用して構成設定エントリを追加する手順は、次のとおりです。
関連資料
既存の構成設定のコピーを使用せずに、新しい構成設定エントリを作成する手順は、次のとおりです。
構成設定エントリを変更する手順は、次のとおりです。
構成設定エントリを削除する手順は、次のとおりです。
構成設定エントリの変更にはOracle Directory Managerを使用する方法をお薦めしますが、利用可能なコマンドライン・ツールを使用する方が便利な場合があります。たとえば、複数のOracleディレクトリ・サーバーに同じ変更を加える場合などがそうです。
コマンドライン・ツールを使用して構成設定エントリを追加または変更する場合、新規構成設定エントリの追加用の入力ファイルは、LDIFで作成する必要があります。インストール時のデフォルトと異なる属性と値のみ記述してください。ディレクトリ・サーバーは、新規構成設定エントリに設定された属性値で、該当する属性の既存値をオーバーライドします。
次の項目について説明します。
新しいOracleディレクトリ・サーバー・インスタンスを追加する場合は、既存の構成設定エントリを使用するか、新しいインスタンス用に新規の構成設定エントリを追加します。
新規構成設定エントリを追加するには、入力ファイルを作成して、そのファイルをldapaddでロードします。次の手順で行ってください。
入力ファイルは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
コマンド・プロンプトで、入力ファイルを追加するコマンドを入力します。
ldapadd [options] -f LDIF_file_name
既存の構成設定エントリを変更または削除するには、変更する属性のみを含む入力ファイルを作成して、その入力ファイルをldapmodifyコマンドでロードします。次の手順で行ってください。
入力ファイルを作成するとき、インストール時のデフォルトと異なる属性のみ定義(記述)します。
入力ファイルはLDIFフォーマットで作成する必要があります。
次に示す例では、パラメータcn=configset2,cn=osdldapd,cn=subconfigsubentry
が、既存の構成設定エントリの識別名(ローカル名)です。この例は、orclsslportパラメータを7000に変更する方法を示しています。
dn:cn=configset2,cn=osdldapd,cn=subconfigsubentry
changetype: modify
replace: orclsslport
orclsslport: 7000
コマンド・プロンプトで、入力ファイルを参照するコマンドを入力します。
ldapmodify [options] -f LDIF_file_name
操作属性は、アプリケーション属性とは異なり、ディレクトリ自体の操作に関係します。一部の操作情報(エントリのタイムスタンプなど)は、サーバーを制御するためにディレクトリによって指定されます。アクセス情報などのその他の操作情報は、管理者が定義し、ディレクトリ・プログラムの処理時に、そのプログラムによって使用されます。システム操作属性を設定するには、スーパーユーザー権限を持っている必要があります。
この項では、次の項目について説明します。
接続している各Oracleディレクトリ・サーバーの操作属性の一部は、Oracle Directory Managerを使用して表示および設定できます。この操作を実行するには、ナビゲータ・ペインで、「Oracle Internet Directoryサーバー」を展開して、ディレクトリ・サーバーを選択します。右側のペインにシステム操作属性が表示されます。
Oracle Directory Managerに表示されるシステム操作属性フィールドの説明は、表A-36を参照してください。
システム操作属性を変更するには、ldapmodifyを使用します。変更可能なシステム操作属性は、『Oracle Identity Managementユーザー・リファレンス』で、Oracle Identity ManagementのLDAPの属性リファレンスに関する項を参照してください。
ユーザーが特定のネーミング・コンテキストを検索できるように、それらのネーミング・コンテキストを公開できます。この項では、次の項目について説明します。
ネーミング・コンテキストを公開するには、各ネーミング・コンテキストの最上位エントリを、ルートDSEのnamingContexts
属性の値として指定します。たとえば、3つの主なネーミング・コンテキストを持ったディレクトリ情報ツリーがあり、それらの最上位エントリがc=uk
、c=us
およびc=de
であるとします。これらのエントリがnamingContexts属性の値として指定されている場合、適切なフィルタを指定することによって、ユーザーはルートDSEの検索によってそれらの情報を検索できます。ユーザーは、特にc=deネーミング・コンテキストに絞り込むなど、検索条件を詳細に指定できます。
ネーミング・コンテキストの公開には、Oracle Directory Managerまたはldapmodifyを使用できます。namingContexts
属性は複数値なので、複数のネーミング・コンテキストを指定できます。
公開されたネーミング・コンテキストを検索するには、検索フィルタとしてobjectClass =*
を指定して、ルートDSEでベース検索を実行します。検索された情報には、namingContexts
属性で指定したエントリが含まれています。
ネーミング・コンテキストを公開する前に、次のことを確認してください。
次のサンプルLDIFファイルは、ネーミング・コンテキストとしてエントリc=uk
を指定しています。
dn: changetype: modify add: namingcontexts namingcontexts: c=uk
この項では、次の項目について説明します。
表5-1は、スーパーユーザー、ゲスト・ユーザーおよびプロキシ・ユーザーを定義したものです。
Oracle Directory Managerまたはldapmodifyのどちらかを使用して、ユーザーごとにユーザー名とパスワードを管理できます。
ユーザーのタイプ | 定義 |
---|---|
スーパーユーザー |
ディレクトリ情報へのあらゆるアクセスが可能な特別なディレクトリ管理者。スーパーユーザーのデフォルトのユーザー名は 注意: このパスワードは、インストール後にすぐに変更することをお薦めします。 |
ゲスト・ユーザー |
匿名ユーザーではなく、特定のユーザー・エントリも持っていないユーザー。ゲスト・ユーザーのデフォルトのユーザー名は |
プロキシ・ユーザー |
通常、ファイアウォール、Oracle Delegated Administration Servicesのようなアプリケーション、RADIUSサーバーなどの中間層を備えた環境で利用されるユーザー。プロキシ・ユーザーのデフォルトのユーザー名は 関連項目: プロキシ・ユーザーの詳細は、「間接認証」を参照してください。 |
Oracle Directory Managerを使用して、スーパーユーザー、ゲスト・ユーザーまたはプロキシ・ユーザーのユーザー名またはパスワードを設定する手順は、次のとおりです。
スーパーユーザー、ゲスト・ユーザーまたはプロキシ・ユーザーのユーザー名またはパスワードを変更するには、ldapmodifyを使用して該当する属性を変更します。
ユーザー名 | パスワード | 属性 |
---|---|---|
スーパーユーザーの名前 |
|
|
ゲスト・ユーザーの名前 |
|
|
プロキシ・ユーザーの名前 |
|
|
たとえば、スーパーユーザーのパスワードをsuperuserpassword
に変更するには、ldapmodifyで、次のように記述したLDIFファイルを使用してDSEを変更します。
dn: changetype:modify replace:orclsupassword orclsupassword:superuserpassword
Oracleディレクトリ・サーバーは、匿名ユーザによるバインドを許可するようにも禁止するようにも構成できます。この動作は、ルートDSEエントリのorclAnonymousBindsFlag
属性で制御します。表5-3に、orclAnonymousBindsFlag
に指定可能な値と、ディレクトリ・サーバーの動作を示します。
orclAnonymousBindsFlagの値 | ディレクトリ・サーバーの動作 |
---|---|
0 |
匿名ユーザーによるバインドを禁止 |
1 |
匿名ユーザーによるバインドを許可(デフォルト) |
2 |
匿名ユーザーによるバインドを許可。ただし、許可されるのは、ルート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を使用します。この手順は、次のとおりです。
アイドル状態のLDAP接続がクローズするまでのアイドル時間を分単位で指定できます。この処理を行うには、orclLDAPconnTimeout
属性に値を設定します。この属性の詳細は、『Oracle Identity Managementユーザー・リファレンス』で、Oracle Identity ManagementのLDAPの属性リファレンスに関する項を参照してください。
Oracle Internet Directoryは、独自に指定されたOracleデータベースへの接続時にパスワードを使用します。Oracle Internet Directoryインストール時のこのパスワードのデフォルトは、Oracle Application Server管理者のパスワードと同じです。OIDデータベース・パスワード・ユーティリティを使用すると、このパスワードを変更できます。
エントリに非常に長く複雑な識別名が付いている場合があるため、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で、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に示すツリーが生成されます。
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
ldapadd -p port -h host -f 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レベル検索では、指定したベース・レベルに対する子のみを検索します。
次の例は、間接参照フラグを-a find
に設定し、フィルタとして"objectclass=*"
を使用して"ou=Area1,c=us"
の1レベル検索を行う場合を示しています。
ldapsearch -p port -h host -b "ou=Area1,c=us" -a find -s one "objectclass=*"
ディレクトリ・サーバーは、2つの手順で検索を実行します。
この例では、検索リクエストに-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つの手順で検索を実行します。
この例では、検索リクエストに-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は、間接参照の別名エントリに関するメッセージと、各メッセージの意味を示しています。
特定のエントリに対して操作を実行するには、クライアントが、そのエントリが常駐するサーバーを検出できる必要があります。分散環境では、サーバーの位置に関する情報は、次の2通りの方法で入手できます。
ldap.ora
)を使用。
この項では、サーバー情報の位置を特定する2通りの方法について説明します。次の項目について説明します。
この方法では、クライアントは、ディレクトリ・エントリに対して操作を実行する場合、クライアント・ホストに格納されているディレクトリ・サーバー構成ファイル(ldap.ora
)からディレクトリ・サーバーの位置情報を取得します。このファイルには、次の要件を指定する構成パラメータが含まれています。
ファイルldap.ora
はLDAPクライアントのファイル・システムに常駐しています。クライアントは、このファイルを次のファイル・システム・ディレクトリから優先順位に従って検索します。
LDAP_ADMIN
環境変数が指し示すディレクトリ
ORACLE_HOME
/ldap/admin
のディレクトリ(またはMicrosoft Windowsの場合、ORACLE_HOME
¥ldap¥admin
)
TNS_ADMIN
環境変数が指し示すディレクトリ
ORACLE_HOME
/network/admin
のディレクトリ(またはMicrosoft Windowsの場合、ORACLE_HOME
¥network¥admin
)
ファイルldap.ora
が複数の位置に存在する場合、優先順位の高い位置を使用します。
静的方法を使用してディレクトリ・サーバーを検出すると、管理オーバーヘッドが増加する場合があります。たとえば、ldap.ora
ファイルがクライアント・ホストに格納されているため、管理者は、ディレクトリ・サーバーのホスト名やポート番号を変更するたびに、すべてのクライアント上でそのファイルを更新する必要があります。このオーバーヘッドの増加を回避するには、アプリケーションでドメイン・ネーム・システム(DNS)を使用して、動的にディレクトリ・サーバーを検出します。
ドメイン・ネーム・システム(DNS)は、ドメイン名の位置を特定し、それをコンピュータの実際のアドレスに変換する動的方法です。この変換プロセスは、ディレクトリ・サーバーの位置に関する情報が格納されている中央ドメイン・ネーム・サーバーによって処理されます。
ネットワーク管理者がディレクトリ・サーバーの位置に関する必要な情報をドメイン・ネーム・サーバーに入力すると、クライアントは、ldap.ora
ファイルからではなく、そのサーバーから情報を取り出すことができます。
クライアントがDNSを使用してディレクトリ・サーバーの位置を特定する場合は、次の手順を完了しておく必要があります。
クライアントは、エントリが常駐するディレクトリ・サーバーを検出するためにドメイン・ネーム・サーバーと通信します。具体的には、ドメイン・ネーム・サーバーにドメイン名を提供します。ドメイン名は、必要なディレクトリ・サーバーが配置されている場所を指定します。
クライアントは、ドメイン名を生成するためにユーザーが入力した識別名からドメイン・コンポーネントを抽出します。たとえば、識別名cn=John Doe,ou=accounting,dc=example,dc=net
の場合、ドメイン・コンポーネントはdc=example,dc=net
です。このドメイン・コンポーネントは、リクエストしたエントリが常駐するサーバーを表します。次に、クライアントは、そのドメイン名コンポーネントをドメイン・ネーム・サーバーが認識する形式(example.net
)のドメイン名に変換します。
図5-4とその後の説明で、クライアントの視点からディレクトリ・サーバーの位置を特定するプロセスを示します。
cn=John Doe,ou=accounting,dc=example,
dc=net
です。
dc=example,dc=net
をドメイン名example.net
に変換します。
ディレクトリ・サーバーに関するサーバーの位置情報を登録するには、DNSサービス・ロケーション・レコード(SRV)をドメイン・ネーム・サーバーに入力します。SRVレコードには次の情報が格納されています。
SRVリソース・レコードによって、管理者は、1つのドメインに対して複数のサーバーを使用し、サービスをホスト間で簡単に移動し、一部のホストをサービス用のプライマリ・サーバーとして、残りをバックアップとして指定することができます。
SRVレコードは、Oracle Internet Directoryサーバーに固有の形式または標準形式にできます。Oracle Internet Directoryサーバーに関する情報の場合は、Oracle Internet Directory固有の形式をお薦めします。クライアントは、初めてドメイン・ネーム・サーバーに問い合せる場合、Oracle Internet Directory固有の形式を持つSRVレコードを検索します。この形式のレコードを検出できない場合は、標準形式のSRVレコードを問い合せます。
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
標準形式は、次のとおりです。
_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
引数 | 説明 |
---|---|
Service |
非SSLベースのサーバーの場合、この引数の値は |
Proto |
常に、値は |
Product |
常に、値は |
Domain |
ドメイン名。通常は、ディレクトリ・サーバーによって作成されたネーミング・コンテキストのDNをドメイン名に変換して取得されます。 関連項目: 「クライアントがDNSを使用してディレクトリ・サーバーの位置を特定する方法」を参照してください。 |
TTL |
有効期間。この引数は標準DNSの意味を持っています。情報のソースを再度問い合せるまでリソース・レコードをキャッシュしておくことができる時間を指定します。 |
Class |
この引数は標準DNSの意味を持っています。SRVレコードはINクラスで発生します。 |
Type |
すべてのSRVレコードで、この引数の値はSRVです。 |
Priority |
ディレクトリ・サーバーの優先順位。クライアントは、優先順位番号が一番小さいターゲット・ホストと通信する必要があります。 |
Weight |
サーバー選択メカニズム。この引数は、同じ優先順位を持つエントリに対して相対的な重みを指定します。複数のSRVが同じ優先順位を持っている場合は、次のプロトコルに従って順位付けされます。
|
Port |
ディレクトリ・サービス用のターゲット・ホストのポート。 |
Target |
ディレクトリ・サーバーが稼働しているホストのドメイン名。 |
|
![]() Copyright © 1995, 2005 Oracle. All Rights Reserved. |
|