ヘッダーをスキップ
Oracle Fusion Middleware Oracle Internet Directory管理者ガイド
11g リリース1(11.1.1)
B55919-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

20 ディレクトリ・スキーマの管理

この章では、Oracle Internet Directoryのオブジェクト・クラスと属性を管理する方法を説明します。

この章の項目は次のとおりです。

20.1 ディレクトリ・スキーマの管理の概要

ディレクトリ内のベース・スキーマの追加または変更を行う前に、ディレクトリのコンポーネントの基本概念を理解しておいてください。

ディレクトリ・スキーマには、次の機能があります。


注意:

Oracle Internet Directoryのスキーマ・オブジェクトには、それぞれ特定の制限があります。たとえば、一部のオブジェクトは変更できません。これらの制限事項は、ここでは制約や規則として説明しています。

この項の項目は次のとおりです。


関連項目:

Oracle Fusion Middleware Oracle Identity ManagementリファレンスのLDAPスキーマの概要に関する説明

20.1.1 ディレクトリ内のスキーマ情報の格納場所

ディレクトリ・スキーマには、DIT内のデータを編成する方法に関するすべての情報(オブジェクト・クラス、属性、一致規則構文などのメタデータ)が含まれています。この情報は、サブエントリと呼ばれる特別なクラスのエントリに格納されます。Oracle Internet Directoryは、LDAPバージョン3の規格に従って、タイプsubSchemaSubentryのサブエントリにこの情報を格納します。

subSchemaSubentryタイプのサブエントリに新規のオブジェクト・クラスと属性タイプを追加できます。Oracle Internet Directoryですでにサポートされているこれらのもの以外に、新規の一致規則や構文を追加することはできません。

10g(10.1.4.0.1)の前は、ルートDSEエントリcn=subSchemaSubentryの直下にsubSchemaSubentryが1つしかなく、常にオブジェクト・クラスと属性タイプを直接追加していました。10g(10.1.4.0.1)では、エントリcn=subSchemaSubentryに下位エントリを設定できるようになりました。スキーマ・コンポーネントを追加する必要のある、Oracle Internet Directoryを使用するアプリケーションはいずれも、cn=subSchemaSubentryの下に固有のsubSchemaSubentryを作成し、そこにスキーマ・コンポーネントを追加できます。図20-1は、cn=userdefined1,cn=subschemasubentrycn=userdefined2,cn=subschemasubentryなど、アプリケーションによって定義されたsubSchemaSubentryエントリをいくつか示しています。

ベスト・プラクティスは、アプリケーションまたはアプリケーションのグループごとにsubschemasubentryの下に1つの下位エントリを作成することです。アプリケーションに関連するすべてのattributeTypesおよびobjectClassesは、cn=subschemasubentryの下の対応するエントリの下に配置する必要があります。

スキーマ・エントリはすべて、ルートDSE属性subschemasubentryに示されています。

図20-1 subSchemaSubentryタイプのエントリでのスキーマ・コンポーネントの位置

この図はテキストで説明します。

subSchemaSubentryエントリの追加には、bulkloadを使用できません。ldapaddを使用する必要があります。

20.1.2 オブジェクト・クラスの理解

エントリを追加する場合は、そのエントリを1つ以上のオブジェクト・クラスと関連付けます。各オブジェクト・クラスには、新規エントリと関連付ける属性が含まれています。たとえば、従業員に関するエントリを作成する場合は、そのエントリをpersonオブジェクト・クラスと関連付けることができます。このオブジェクト・クラスには、その従業員エントリと関連付ける多くの属性(名前、住所、電話番号など)が含まれています。


注意:

Oracle Directory Services Managerの「スキーマ」タブの属性ページには、属性を直接参照するオブジェクト・クラスを示す「参照元」セクションがあります

各オブジェクト・クラスは、スーパークラスの階層から派生し、これらのスーパークラスからの属性を継承します。デフォルトでは、すべてのオブジェクト・クラスはtopオブジェクト・クラスから継承します。オブジェクト・クラスをエントリに割り当てると、エントリは、そのオブジェクト・クラスとそのオブジェクト・クラスのスーパークラスの両方の属性をすべて継承します。

エントリがスーパークラスから継承する属性は、必須またはオプションのいずれかです。オプション属性の値は、ディレクトリ・エントリに存在している必要はありません。

オブジェクト・クラスに対して、属性が必須またはオプションのいずれであるかを指定できますが、指定した特性はそのオブジェクト・クラスに対してのみバインドされます。その属性を別のオブジェクト・クラスに配置する場合は、このオブジェクト・クラスに対してその属性が必須またはオプションのいずれであるかを再度指定できます。次の内容を実行できます。

  • 標準以外の新規オブジェクト・クラスの追加と既存属性の割当て

  • 既存の標準オブジェクト・クラスからの選択

  • 既存のオブジェクト・クラスの変更、異なる属性のセットへの割当て

  • 既存の属性の追加と変更


関連項目:

Oracle Internet Directoryとともにインストールされるスキーマ要素のリストは、Oracle Fusion Middleware Oracle Identity ManagementリファレンスのLDAPスキーマの概要に関する説明を参照してください。

エントリはトップダウン順序で追加する必要があります。つまり、エントリを追加するときに、そのすべての親エントリがディレクトリ内に存在している必要があります。同様に、オブジェクト・クラスと属性を参照するエントリを追加する場合は、参照されるオブジェクト・クラスと属性がディレクトリ・スキーマに存在している必要があります。通常は、ディレクトリ・サーバーには標準のディレクトリ・オブジェクトの完全なセットが用意されているため、このことは問題になりません。

エントリに操作を追加または実行する場合、そのエントリに関連付けられたスーパークラスの階層全体を指定する必要はありません。リーフ・オブジェクト・クラスの指定のみで済みます。Oracle Internet Directoryは、リーフ・オブジェクト・クラスの階層を解決して、情報モデル制約を適用します。これは多くの場合、オブジェクト・クラスの増加と呼ばれます。たとえば、inetOrgPersonオブジェクト・クラスは、そのスーパークラスとして、toppersonおよびorganizationalPersonを持っています。ある人物を表すエントリを作成する場合、オブジェクト・クラスとして指定する必要があるのはinetOrgPersonのみです。Oracle Internet Directoryは、各スーパークラスtoppersonおよびorganizationalPersonによって定義されたスキーマ制約を適用します。

20.1.2.1 オブジェクト・クラスの追加の概要

オブジェクト・クラスを追加するときは、次の点に注意してください。

  • すべての構造型オブジェクト・クラスには、スーパークラスとしてtopを設定する必要があります。

  • オブジェクト・クラスの名前とオブジェクト識別子は、すべてのスキーマ・コンポーネントを通して一意であることが必要です。実際の属性名と属性名の別名は、すべての属性名と属性別名を通して一意であることが必要です。オブジェクト識別子は一意の識別子、2.16.840.1.113894で始まり、その後ろにOracle指定の接頭辞.9999か、サイト固有の接頭辞が続いている必要があります。

  • オブジェクト・クラスで参照されるスキーマ・コンポーネント(スーパークラスなど)は、すでに存在している必要があります。

  • 抽象型オブジェクト・クラスの場合は、スーパークラスも抽象型であることが必要です。

  • スーパークラスの必須属性は、新規オブジェクト・クラスでオプション属性に再定義することが可能です。同様に、スーパークラスのオプション属性は、新規オブジェクト・クラスで必須属性に再定義できます。


    関連項目:

    これらの用語の概念の説明は、「サブクラス、スーパークラスおよび継承」を参照してください。

20.1.2.2 オブジェクト・クラスの変更の概要

この項では、既存のオブジェクト・クラスに対して実行できる変更のタイプについて説明します。変更は、Oracle Directory Services Managerおよびコマンドライン・ツールを使用して実行できます。

オブジェクト・クラスに対しては、次の変更を実行できます。

  • 必須属性からオプション属性への変更

  • オプション属性の追加

  • スーパークラスの追加

  • 抽象型オブジェクト・クラスから構造型または補助型オブジェクト・クラスへの変換(その抽象型オブジェクト・クラスが、別の抽象型オブジェクト・クラスのスーパークラスではない場合)

オブジェクト・クラスを変更するときは、次のガイドラインに注意してください。

  • 標準のLDAPスキーマの一部であるオブジェクト・クラスは変更できません。ユーザー定義のオブジェクト・クラスは変更できます。

  • 必要な属性が既存のオブジェクト・クラスに設定されていない場合は、補助型オブジェクト・クラスを作成して、必要な属性をそのオブジェクト・クラスに関連付けることができます。

  • 既存のオブジェクト・クラスに、必須属性を追加できません。

  • ベース・スキーマのオブジェクト・クラスは変更できません。

  • 既存のオブジェクト・クラスから属性またはスーパークラスを削除できません。

  • 構造型オブジェクト・クラスは、他の型のオブジェクト・クラスに変換できません。

  • エントリがすでに関連付けられているオブジェクト・クラスは変更しないでください。

20.1.2.3 オブジェクト・クラスの削除の概要

オブジェクト・クラスの削除に関しても、いくつかの制限事項があります。

  • ベース・スキーマからオブジェクト・クラスを削除できません。

  • ベース・スキーマ内にないオブジェクト・クラスは、他のスキーマ・コンポーネントから直接または間接的に参照されていないかぎり削除できます。たとえば、このようなオブジェクト・クラスを参照するディレクトリ・エントリがいくつか存在するとします。このオブジェクト・クラスを削除すると、これらのエントリにはアクセスできなくなります。

20.1.3 属性の理解

属性を扱う操作を実行する前に、概念的な観点から属性を理解する必要があります。

多くの場合、ベース・スキーマにある属性で、ユーザーの組織のニーズを満たすことができます。ベース・スキーマにない属性を使用する場合は、新規属性の追加または既存属性の変更が可能です。

デフォルトでは、属性は複数値です。Oracle Directory Services Managerまたはコマンドライン・ツールを使用して、属性を単一値に指定できます。


注意:

非バイナリ属性の最大長は4000バイトです。


関連項目:

  • 属性の概念の説明は、「属性」を参照してください。

  • 属性オプションの詳細は、「属性オプション」を参照してください。

  • 属性値のサイズを指定する構文の使用方法の詳細は、Oracle Fusion Middleware Oracle Identity Managementリファレンスの属性の構文に関する説明を参照してください。


20.1.3.1 属性の追加の概要

属性の追加に関しては、次の規則があります。

  • 属性の名前とオブジェクト識別子は、すべてのスキーマ・コンポーネントを通して一意であることが必要です。

  • 構文と一致規則は、整合性がとれている必要があります。

  • スーパー属性はすでに存在している必要があります。

  • 属性名の長さは127文字までです。

20.1.3.2 属性の変更の概要

属性の変更に関しては、次の規則があります。

  • 属性の名前とオブジェクト識別子は、すべてのスキーマ・コンポーネントを通して一意であることが必要です。

  • 属性の構文は変更できません。

  • 単一値の属性は複数値の属性に変更できますが、複数値の属性を単一値の属性に変更することはできません。

  • ベース・スキーマの属性は、変更または削除できません。

20.1.3.3 属性の削除の概要

属性の削除に関しては、次の規則があります。

  • 削除できるのはユーザー定義属性のみです。ベース・スキーマの属性は削除しないでください。

  • 他のスキーマ・コンポーネントから直接または間接的に参照されていない属性は、削除することができます。

    エントリの参照先である属性を削除すると、そのエントリはディレクトリ操作に使用できなくなります。


    注意:

    Oracle Directory Services Managerの「スキーマ」タブの属性ページには、属性を直接参照するオブジェクト・クラスを示す「参照元」セクションがあります


    関連項目:

    属性値のサイズを指定する構文の使用方法の詳細は、Oracle Fusion Middleware Oracle Identity Managementリファレンスの属性の構文に関する説明を参照してください。

20.1.3.4 属性の索引付けの概要

Oracle Internet Directoryは、索引を使用して属性を検索できるようにしています。Oracle Internet Directoryのインストール時に、検索で使用できる属性のリストがエントリcn=catalogsに表示されます。

その他の属性を検索フィルタで使用する場合は、使用する属性をカタログ・エントリに追加する必要があります。

新しい属性(ディレクトリにデータが存在していない属性)に、ldapmodifyを使用して索引を付けることができます。ディレクトリにデータがすでに存在している属性に索引を付けるには、カタログ管理ツールを使用します。属性から索引を削除するには、ldapmodifyを使用することもできますが、カタログ管理ツールを使用することをお薦めします。また、Oracle Directory Services Managerを使用して属性の索引を管理することもできます。


注意:

  • 必須属性として指定された索引付けされていない属性を使用して検索を実行しようとすると、「この機能は組み込まれていません」または「ディレクトリ・サービス・エージェントが実行不可の状態です。」というエラーが返されます。

  • Oracle Directory Services Managerでは、属性がまだ使用されていない場合にのみその属性に索引を付けることができます。Oracle Directory Services Managerを使用して、すでに使用されている属性に索引を付けることはできません。すでに使用されている属性に索引を付けるには、「カタログ管理ツールを使用した、データが存在している属性の索引付け」で説明するカタログ管理ツールを使用します。



注意:

次の条件を満たす属性のみ索引を付けることができます。
  • 等価の一致規則

  • Oracle Internet Directoryでサポートされる一致規則は、Oracle Fusion Middleware Oracle Identity Managementリファレンスの属性の一致規則に関する説明を参照してください。

  • 属性名が127文字以下


20.1.4 エントリと関連付けられた属性数の拡大

エントリの属性数を拡大できます。使用する方法は、エントリがすでに存在するかどうかによって異なります。

エントリがまだない場合、ディレクトリにエントリを作成する前に属性数を拡大できます。

既存エントリの場合、関連付ける属性数の拡大方法には2通りあります。

  • 各エントリのobjectclass属性のリストにオブジェクト・クラスの名前を追加します。ディレクトリが比較的小さい場合は、属性に基づいてエントリを検索できるため、この方法が適しています。一方、ディレクトリが大きい場合は、objectclass属性へのオブジェクト・クラスの名前の入力が、非常に複雑な作業になる場合があります。

  • コンテンツ・ルールを使用します。大きいディレクトリでエントリの内容を拡大する場合、この方が効率的な場合があります。

この項の項目は次のとおりです。

20.1.4.1 ディレクトリでエントリを作成する前の属性数の拡大

Oracle Internet Directoryは、インストール時に、標準的なLDAPオブジェクト・クラスといくつかの専用オブジェクト・クラスを用意します。この事前に定義されたオブジェクト・クラスに属している属性のセットには、必須属性を追加できません。エントリに必要なすべての属性が所定のオブジェクト・クラスに含まれていない場合には、次のうちのいずれかを行います。

  • 新規の(ベース)オブジェクト・クラスの定義

  • オブジェクト・サブクラスの定義


    関連項目:

    • Oracle Internet Directoryとともにインストールされるスキーマに含まれるオブジェクト・クラスのリストは、Oracle Fusion Middleware Oracle Identity ManagementリファレンスのOracle Identity Management LDAPオブジェクト・クラスに関する説明を参照してください。

    • 新規のオブジェクト・クラスまたはオブジェクト・サブクラスを定義する方法は、「Oracle Directory Services Managerを使用したオブジェクト・クラスの追加」を参照してください。


20.1.4.2 補助型オブジェクト・クラスの作成による既存エントリの属性数の拡大

エントリに必要な追加属性を含む補助型オブジェクト・クラスを作成し、その補助型オブジェクト・クラスをエントリと関連付けることができます。補助型オブジェクト・クラスをエントリと関連付けるには、エントリのobjectclass属性でそれを指定します。


関連項目:


20.1.4.3 コンテンツ・ルールの作成による既存エントリの属性数の拡大

コンテンツ・ルールは、仕様に従って、特定の構造型オブジェクト・クラスと関連付けられたエントリで使用されるコンテンツの種類を決定します。たとえば、personオブジェクト・クラスと関連付けられたエントリは、そのオブジェクト・クラスの属性だけでなく、他の属性も持つ必要があることを指定できます。追加属性は、補助型オブジェクト・クラスの必須またはオプションの属性にできます。

エントリには補助型クラスをリストする必要があります(これはかなりの管理負荷になることがあります)が、コンテンツ・ルールをリストする必要はありません。

コンテンツ・ルールには、コンテンツ・ルールが適用される構造型オブジェクト・クラスだけでなく、次のものも含めることができます。

  • 規則によって制御されるエントリで使用可能な補助型オブジェクト・クラス

  • 構造型および補助型オブジェクト・クラスに必要な属性に加え、DITコンテンツ・ルールによって制御されるエントリで必要な必須属性

  • 構造型および補助型オブジェクト・クラスに必要な属性に加え、DITコンテンツ・ルールによって制御されるエントリで使用可能なオプション属性

この項では、Oracle Directory Services Managerおよびコマンドライン・ツールを使用してコンテンツ・ルールを管理する方法を説明します。

新しいコンテンツ・ルールの定義中に、ディレクトリ・サーバーは構文を検証し、コンテンツ・ルールにリストされた属性およびオブジェクト・クラスがディレクトリで定義済であることを確認します。

コンテンツ・ルールは、構造型オブジェクト・クラスに対してのみ指定できます。オブジェクト・クラスの名前では、大文字と小文字が区別されます。

各構造型オブジェクト・クラスに複数のコンテンツ・ルールを指定できます。ただし、コンテンツ・ルールは、オブジェクト・クラスごとに異なるラベルで関連付ける必要があります。

コンテンツ・ルールの既存の定義を変更する場合、クライアントは既存の定義を削除した後で、新しい定義を追加する必要があります。replaceコマンドを使用してコンテンツ・ルールを単純に置き換えることはできません。

コンテンツ・ルールを削除する場合、クライアントは構造型オブジェクト・クラスおよびコンテンツ・ルールの英数字のオブジェクト識別子のみを指定する必要があります。オプションで、削除するコンテンツ・ルールの関連バージョンを指定することもできます。

20.1.4.4 コンテンツ・ルールを作成および変更するための規則

コンテンツ・ルールは、サブスキーマ・サブエントリ(cn=subschemasubentry)のDITContentRule属性の値として定義されます。これらは、次の規則に準拠する必要があります。

  • エントリの構造型オブジェクト・クラスは、エントリに適用可能なコンテンツ・ルールを識別します。構造型オブジェクト・クラスに対するコンテンツ・ルールが存在しない場合、そのオブジェクト・クラスと関連付けられたエントリには、構造型オブジェクト・クラス定義によって許可された属性のみが含まれます。

  • コンテンツ・ルールは構造型オブジェクト・クラスと関連付けられるため、同じ構造型オブジェクト・クラスのすべてのエントリが、DITでの位置に関係なく、同じコンテンツ・ルールを持ちます。

  • エントリのコンテンツは、そのエントリのobjectClass属性にリストされたオブジェクト・クラスの一貫性を維持している必要があります。具体的には、次の条件を満たしている必要があります。

    • objectClass属性にリストされたオブジェクト・クラスの必須属性は、常にエントリ内に存在する必要があります。

    • コンテンツ・ルールで指定された補助型オブジェクト・クラスのオプション属性は、objectClass属性にそれらの補助型オブジェクト・クラスがリストされていない場合でも存在できます。


      関連項目:

      コンテンツ・ルールの作成と管理の詳細は、「補助型オブジェクト・クラスの作成による既存エントリの属性数の拡大」を参照してください。

20.1.4.5 コンテンツ・ルール使用時のスキーマ制約

スキーマ整合性についてオブジェクトを検証する場合、ディレクトリ・サーバーはエントリの構造型オブジェクト・クラスのコンテンツ・ルールを使用します。また、エントリにリストされたその他すべてのオブジェクト・クラスも使用します。

オブジェクト・クラスに複数のコンテンツ・ルールが存在する場合は、エントリの追加または変更時、あるいはデータのバルク・ロード時に、次の規則が適用されます。

  • エントリには、各種コンテンツ・ルールにリストされたすべての補助型オブジェクト・クラスからの属性を含めることができます。コンテンツ・ルールにオブジェクト・クラスが指定されていない場合、クライアントは、制限なくディレクトリ・エントリの補助型オブジェクト・クラスを明示的に追加できます。

  • エントリには、次のものにリストされたすべての必須属性の値を含める必要があります。

    • コンテンツ・ルール

    • エントリと関連付けられたオブジェクト・クラス

    • エントリに適用可能なコンテンツ・ルールにリストされた補助型オブジェクト・クラス

  • オプションで、次のものにリストされたオプション属性の一部またはすべての値をエントリに含めることができます。

    • コンテンツ・ルール

    • エントリにリストされたオブジェクト・クラス

    • エントリに適用可能なコンテンツ・ルールにリストされた補助型オブジェクト・クラス

  • 必須と指定された属性は、その属性をオプションと定義する他のすべての定義をオーバーライドします。

20.1.4.6 コンテンツ・ルールにリストされたオブジェクト・クラスの検索

コンテンツ・ルールにリストされた補助型オブジェクト・クラスは、エントリのobjectclass属性にリストされないため、それらのオブジェクト・クラスをエントリ検索時にフィルタとしてリストすることはできません。かわりに、関連する構造型オブジェクト・クラスに基づいて検索します。補助型オブジェクト・クラスに基づいて検索する必要がある場合は、その補助型オブジェクト・クラスをユーザー・オブジェクトのobjectclass属性に明示的に追加します。

たとえば、構造型オブジェクト・クラスinetOrgPersonのコンテンツ・ルールは、補助型オブジェクト・クラスorclUserを指定できます。ただし、これは、ディレクトリ内のすべてのinetOrgPersonエントリにorclUserobjectclass属性の値として含まれることを意味しません。したがって、フィルタobjectclass=orclUserを使用した検索は失敗します。コンテンツ・ルールに含まれる補助型オブジェクト・クラスを問い合せるかわりに、objectclass=inetOrgPersonなどの構造型オブジェクト・クラスを問い合せる必要があります。

objectclass=orcluserに基づいて検索するには、各エントリのobjectclass属性の値の1つとしてorclUserを追加します。

この注意事項は、アクセス制御ポリシーで使用するフィルタにも適用されます。追加の補助型オブジェクト・クラスと関連付けられたコンテンツ・ルールを使用している場合、検索フィルタでは構造型オブジェクト・クラスのみを使用します。

20.1.5 属性別名の理解

10g(10.1.4.0.1)では、属性名の別名を作成できます。たとえば、属性snに対して、わかりやすい別名surnameを作成できます。属性名に別名を作成すると、ユーザーはLDAP操作で属性名のかわりに別名を指定できます。

属性のLDAPスキーマ定義で、属性に対して別名を定義します。ディレクトリ・スキーマの操作属性attributeTypesが強化され、属性名リストに別名を含めることができるようになりました。これまでのリリースでは、属性名リストの形式は、次のようなものでした。

attributeTypes=( ObjectIdentifier NAME 'AttributeName'  ... )

10g(10.1.4.0.1)では、オプションで次のように指定できます。

attributeTypes=( ObjectIdentifier NAME ( 'AttributeName' 'Alias1' 'Alias2' ...) ... )

これは、RFC 2251およびRFC 2252で指定されているように、LDAPプロトコルと一致します。属性名リストでは、最初の項目は属性の名前として認識され、リストの残りの項目は属性別名として認識されます。たとえば、属性snに別名surnameを指定するには、snのスキーマ定義について次の変更を行います。

attributeTypes=( 2.5.4.4 NAME 'sn' SUP name )

次のように変更します。

attributeTypes=( 2.5.4.4 NAME ( 'sn' 'surname') SUP name )

次の規則が属性別名に適用されます。

  • 属性別名は、すべてのスキーマ・コンポーネントにわたり、実際の属性名とその他の属性別名すべてを通して一意である必要があります。属性を定義する場合、attributeTypes定義のNAMEフィールドの最初の値は、実際の属性名である必要があります。実際の属性名の後に、NAMEフィールドで属性別名を定義します。

  • 属性別名は、属性名と同じ構文規則に従います。

  • 別名のない属性を再定義することにより、属性別名を削除します。

「コマンドラインを使用したディレクトリ・スキーマの管理」を参照してください。


関連項目:

別名エントリの詳細は、第17章「別名エントリの管理」を参照してください。

20.1.6 LDAP操作でのオブジェクト識別子のサポート

ユーザーは、属性別名と同じように、属性名のかわりにオブジェクト識別子を使用できます。

20.2 Oracle Directory Services Managerを使用したディレクトリ・スキーマの管理

この項の項目は次のとおりです。

20.2.1 Oracle Directory Services Managerを使用したオブジェクト・クラスの検索

Oracle Directory Services Managerを使用してオブジェクト・クラスを検索する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 左側の「オブジェクト・クラス」パネルを展開します。

  4. 「検索」フィールドにキーワードを入力し、「実行」をクリックします。キーワードと一致するオブジェクト・クラスのリストが左側のパネルに表示されます。

    ワイルドカードとして"*"および"?"を使用できます。たとえば、*personと入力すると、検索によってpersonで終わるすべてのオブジェクト・クラスが返されます。

    検索を終了し、オブジェクト・クラスの全一覧に戻るには、「検索テキストのクリア」を選択します。

20.2.2 Oracle Directory Services Managerを使用したオブジェクト・クラスの追加

Oracle Directory Services Managerを使用してオブジェクト・クラスを追加する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 左側の「オブジェクト・クラス」パネルを展開し、ツールバーの「作成」を選択します。「新規オブジェクト・クラス」ダイアログ・ボックスが表示されます。

    または、「オブジェクト・クラス」パネルで、作成するオブジェクト・クラスに類似しているオブジェクト・クラスを選択した後、「類似作成」を選択する方法もあります。「新規オブジェクト・クラス」ダイアログ・ボックスに選択したオブジェクト・クラスの属性が表示されます。このオブジェクト・クラスをテンプレートとして使用して、新規のオブジェクト・クラスを作成できます。

  4. 「新規オブジェクト・クラス」ダイアログ・ボックスで、フィールドに情報を入力します。

  5. 「作成」を選択します。


関連項目:


20.2.3 Oracle Directory Services Managerを使用したオブジェクト・クラスの変更

すでにエントリで使用されているオブジェクト・クラスには、オプション属性は追加できますが、必須属性は追加できません。すでに使用されているオブジェクト・クラスにオプション属性を追加する場合、特別なルールは適用されず、属性は空の属性としてエントリに追加されます。

オブジェクト・クラスを変更する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 左側の「オブジェクト・クラス」パネルを展開します。スクロールバーを使用して、オブジェクト・クラスのアルファベット順のリストを移動します。「Oracle Directory Services Managerを使用したオブジェクト・クラスの検索」に記載のように、オブジェクト・クラスを検索することもできます。

  4. 変更するオブジェクト・クラスをクリックします。ページの右側に「オブジェクト・クラス」タブが表示されます。

  5. スーパークラスまたは属性を追加または削除するには、「スーパークラス」「必須属性」または「オプション属性」リストで選択し、リストの上にあるツールバーの「追加」または「削除」を選択します。

    「必須属性」ツールバーの「オプションの作成」を選択し、属性をオプションにします。

    スーパークラスまたは属性を編集するには、「スーパークラス」「必須属性」または「オプション属性」リストで選択し、「編集」を選択します。「オブジェクト・クラス」または「属性」ダイアログが表示されます。これを使用してスーパークラスまたは属性を変更します。「オブジェクト・クラス」ダイアログで、スーパークラス、あるいはスーパークラスの必須属性またはオプション属性を追加、削除または編集できます。変更後、各ダイアログで「OK」をクリックします。

  6. 「オブジェクト・クラス」ページで「適用」を選択して変更を適用するか、「元に戻す」を選択して変更を破棄します。


    注意:

    属性は、補助型オブジェクト・クラスまたはユーザー定義の構造型オブジェクト・クラスに追加できます。

    関連項目: 補助型オブジェクト・クラスへの属性の追加例は、「コマンドライン・ツールを使用した補助型またはユーザー定義のオブジェクト・クラスへの新規属性の追加」を参照してください。


20.2.4 Oracle Directory Services Managerを使用したオブジェクト・クラスの削除


注意:

ベース・スキーマからはオブジェクト・クラスを削除しないことをお薦めします。エントリの参照先であるオブジェクト・クラスを削除すると、そのエントリにアクセスできなくなります。

ベース・スキーマからオブジェクト・クラスを削除すると、Oracle Directory Services Managerの不具合の原因になることもあります。


Oracle Directory Services Managerを使用してオブジェクト・クラスを削除する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 「オブジェクト・クラス」の横の「+」をクリックし、「オブジェクト・クラス」パネルを展開します。スクロールバーを使用して、「オブジェクト・クラス」のアルファベット順のリストを移動します。

  4. 削除するオブジェクト・クラスを選択します。

  5. ツールバーから「削除」を選択し、確認ダイアログ・ボックスで「削除」をクリックします。

20.2.5 Oracle Directory Services Managerを使用したオブジェクト・クラスのプロパティの表示

スキーマ内のすべてのオブジェクト・クラスを表示する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 「オブジェクト・クラス」の横の「+」をクリックし、「オブジェクト・クラス」パネルを展開します。スクロールバーを使用して、「オブジェクト・クラス」のアルファベット順のリストを移動します。

  4. 表示するオブジェクト・クラスをクリックします。ページの右側に「オブジェクト・クラス」タブが表示されます。

  5. オブジェクト・クラスのスーパークラスまたは属性の詳細を表示するには、対象を選択して「編集」をクリックします。オブジェクト・クラス・パネルに戻るには、「取消」をクリックします。

20.2.6 Oracle Directory Services Managerを使用した新規属性の追加

新規属性を追加する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 必要に応じて、左側の「属性」ペインを展開し、ツールバーの「作成」ボタンを選択します。「新規属性の型」ダイアログ・ボックスが表示されます。

    または、「属性」パネルで、作成する属性に類似している属性を選択した後、「類似作成」を選択する方法もあります。「新規属性の型」ダイアログ・ボックスに選択した属性の属性が表示されます。この属性をテンプレートとして使用して、新規の属性を作成できます。


    ヒント:

    等価、構文および一致規則は数が多く複雑であるため、これらの特性は、類似の既存属性からコピーすると作業が簡単になります。

  4. 各フィールドに値を入力します。

  5. 「適用」を選択します。


    注意:

    この属性を使用するには、オブジェクト・クラスに対する属性セットの一部であることを必ず宣言してください。これは、「オブジェクト・クラス」ペインで実行します。詳細は、「Oracle Directory Services Managerを使用したオブジェクト・クラスの変更」および「コマンドライン・ツールを使用したオブジェクト・クラスの変更」を参照してください。

20.2.7 Oracle Directory Services Managerを使用した属性の変更

Oracle Directory Services Managerを使用して属性を変更する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 「属性」パネルで、変更する属性を選択します。右側に「属性」ページが表示されます。

  4. 属性タブで、必要に応じて編集可能なフィールド内の情報を変更または追加します。

  5. 「適用」を選択します。

20.2.8 Oracle Directory Services Managerを使用した属性の削除


注意:

ベース・スキーマから属性またはオブジェクト・クラスを削除しないことをお薦めします。

ベース・スキーマから属性またはオブジェクト・クラスを削除すると、Oracle Directory Services Managerの不具合の原因になることがあります。


属性を削除する方法は次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 「属性」パネルで、削除する属性を選択します。

  4. 左側のパネルのツールバーから「削除」を選択し、確認ダイアログ・ボックスで「削除」をクリックします。

20.2.9 Oracle Directory Services Managerを使用したすべてのディレクトリ属性の表示

Oracle Directory Services Managerを使用して属性を表示する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 「属性」を展開します。

  4. 「属性」パネルでスクロールバーを使用してアルファベット順のリストを移動します。


    関連項目:

    特定のオブジェクト・クラスの属性を表示する方法は、「Oracle Directory Services Managerを使用したオブジェクト・クラスのプロパティの表示」を参照してください。

20.2.10 Oracle Directory Services Managerを使用した属性の検索

Oracle Directory Services Managerを使用して属性を検索する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 左側のペインで「属性」リストを展開します。

  4. 左側のペインの「検索」フィールドに検索条件を入力します。アスタリスク(*)または疑問符(?)をワイルドカードとして使用できます。「実行」アイコンをクリックするか、キーボードの[Enter]を押します。

  5. 検索結果は左側のペインのリストに表示されます。検索を終了して属性の全一覧に戻るには、「検索テキストのクリア」アイコンをクリックします。

20.2.11 Oracle Directory Services Managerを使用した新規属性への索引の追加

属性に索引を追加する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerを使用した新規属性の追加」または「ldapmodifyを使用した属性の追加と変更」で説明されているように、属性を作成します。

  2. 「新規属性タイプ」ダイアログ・ボックスの「索引付け」ボックスを選択します。

20.2.12 Oracle Directory Services Managerを使用した既存の属性への索引の追加

Oracle Directory Services Managerでは、既存の属性がまだ使用されていない場合にのみその属性に索引を追加できます。

既存の属性に索引を追加する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 現在索引付けされていない、索引の追加先の属性を選択します。

  4. 「属性がカタログ化/カタログから削除されます。」アイコンをクリックします。確認ダイアログが表示された後、「確認」をクリックします。

  5. 「索引付け」ボックスに属性が索引付けされたことが示されます。

20.2.13 Oracle Directory Services Managerを使用した属性からの索引の削除

属性から索引を削除する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 現在索引付けされており、索引の削除対象の属性を選択します。

  4. 「属性がカタログ化/カタログから削除されます。」アイコンをクリックします。確認ダイアログが表示された後、「確認」をクリックします。

  5. 「索引付け」ボックスに、属性がもう索引付けされていないことが示されます。

20.2.14 Oracle Directory Services Managerを使用したコンテンツ・ルールの作成

コンテンツ・ルールを作成する手順は次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 左側のペインで「コンテンツ・ルール」リストを展開します。

  4. 「作成」を選択します。「新規コンテンツ・ルール」ダイアログ・ボックスが表示されます。

  5. 「新規コンテンツ・ルール」ダイアログ・ボックスの「構造化オブジェクト・クラス」および「オブジェクトID」フィールドに情報を追加します。オプションでラベルを追加します。

    「補助クラス」「必須属性」または「オプション属性」リストの上にあるツールバーの「追加」「削除」または「編集」アイコンを選択し、項目を追加または削除します。追加の場合、ダイアログから補助クラス、必須属性またはオプション属性を選択します。必要に応じて検索機能を使用します。

  6. または、「コンテンツ・ルール」パネルで、作成するコンテンツ・ルールに類似しているコンテンツ・ルールを選択した後、「類似作成」を選択する方法もあります。「新規コンテンツ・ルール」ダイアログ・ボックスに選択したコンテンツ・ルールの属性が表示されます。このコンテンツ・ルールをテンプレートとして使用して、新規のコンテンツ・ルールを作成できます。

  7. コンテンツ・ルールを追加するには、「OK」を選択します。

20.2.15 Oracle Directory Services Managerを使用したコンテンツ・ルールの変更

コンテンツ・ルールを変更する手順は次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 左側のペインで「コンテンツ・ルール」リストを展開します。

  4. 変更するコンテンツ・ルールを選択します。オブジェクト・クラスを検索する場合と同様に検索フィールドにキーワードを入力して、コンテンツ・ルールを検索できます。「Oracle Directory Services Managerを使用したオブジェクト・クラスの検索」を参照してください。

  5. コンテンツ・ルール・タブの適切なフィールドで値を変更します。

    「補助クラス」「必須属性」または「オプション属性」リストの上にあるツールバーの「追加」「削除」または「編集」アイコンを選択し、項目を追加または削除します。追加の場合、ダイアログから補助クラス、必須属性またはオプション属性を選択します。必要に応じて検索機能を使用します。

  6. 「適用」を選択して変更を有効にするか、「元に戻す」を選択して変更を破棄します。

20.2.16 Oracle Directory Services Managerを使用した一致規則の表示


注意:

一致規則は変更できません。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 「一致ルール」リストを展開します。リストに一致規則が表示されます。

  4. オブジェクト・クラスを検索する場合と同様に検索フィールドにキーワードを入力して、一致規則を検索できます。「Oracle Directory Services Managerを使用したオブジェクト・クラスの検索」を参照してください。

  5. 一致規則を選択し、右側の「一致ルール」タブ・ページにその詳細を表示します。

20.2.17 Oracle Directory Services Managerを使用した構文の表示


注意:

構文は変更できません。

Oracle Directory Services Managerを使用して構文を表示する手順は、次のとおりです。

  1. 「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「スキーマ」を選択します。

  3. 「構文」リストを展開します。リストに構文名が表示されます。

  4. 構文を選択し、右側の「構文」タブ・ページにその詳細を表示します。

20.3 コマンドラインを使用したディレクトリ・スキーマの管理

この項の項目は次のとおりです。

20.3.1 ldapsearchを使用したスキーマの表示

次のように入力して、スキーマをファイルに書き込むことができます。

ldapsearch -h OID_host -p OID_port -q -L -D "cn=orcladmin" \ 
     -b "cn=subschemasubentry" -s base "objectclass=*" > schema.ldif

20.3.2 コマンドライン・ツールを使用した新規オブジェクト・クラスの追加

この例では、LDIF入力ファイルnew_object_class.ldiに、次のようなデータが含まれています。

dn: cn=subschemasubentry
changetype: modify
add: objectclasses
objectclasses: ( 2.16.840.1.113894.9999.12345 NAME 'myobjclass' SUP top STRUCTURAL MUST ( cn $ sn ) 
 MAY ( telephonenumber $ givenname $ myattr ) )

左右のカッコとオブジェクト識別子の間には、必ず空白を入れてください。

このファイルをロードするには、次のコマンドを入力します。

ldapmodify -D "cn=orcladmin" -q -h myhost -p 3060 -f new_object_class.ldif

この例では、次の操作を行います。

  • structuralオブジェクト・クラスmyobjclassを追加します。

  • オブジェクト識別子に2.16.840.1.113894.9999.12345を指定します。

  • スーパークラスとしてtopを指定します。

  • 必須属性としてcnsnを指定します。

  • オプション属性としてtelephonenumbergivennameおよびmyattrを許可します。

記述されている属性すべてが、コマンドの実行前に存在している必要があることに注意してください。

abstractオブジェクト・クラスを作成するには、前出の例に従い、語句STRUCTURALを語句ABSTRACTで置き換えます。

20.3.3 コマンドライン・ツールを使用した補助型またはユーザー定義のオブジェクト・クラスへの新規属性の追加

補助型オブジェクト・クラスまたはユーザー定義の構造型オブジェクト・クラスに新規属性を追加するには、ldapmodifyを使用します。この例では、複合変更操作で、古いオブジェクト・クラス定義を削除して新規の定義を追加します。変更はディレクトリ・サーバーによって1回のトランザクションでコミットされます。既存のデータは影響されません。入力ファイルには次のように指定します。

dn: cn=subschemasubentry 
changetype: modify 
delete: objectclasses 
objectclasses: old value 
-
add: objectclasses 
objectclasses: new value

たとえば、既存のオブジェクト・クラスcountryに属性changesを追加する場合、入力ファイルは次のようになります。

dn: cn=subschemasubentry
changetype: modify 
delete: objectclasses 
objectclasses: 
 ( 2.16.840.1.113894.9999.12345 NAME 'country' SUP top STRUCTURAL MUST c MAY 
 ( searchGuide $ description  )  ) 
-
add: objectclasses 
objectclasses:  
 ( 2.16.840.1.113894.9999.12345 NAME 'country' SUP top STRUCTURAL MUST c MAY 
 ( searchGuide $ description  $ changes )  )

このファイルをロードするには、次のコマンドを入力します。

ldapmodify -D "cn=orcladmin" -q -h myhost -p 3060 -f new_attribute.ldif

20.3.4 コマンドライン・ツールを使用したオブジェクト・クラスの変更

スキーマ・コンポーネントを追加または変更するには、ldapmodifyを使用します。


関連項目:

Oracle Fusion Middleware Oracle Identity Managementリファレンスldapmodifyコマンドライン・ツールのリファレンス

20.3.5 ldapmodifyを使用した属性の追加と変更

ldapmodifyを使用して新規属性をスキーマに追加するには、システム・プロンプトで次のようなコマンドを入力します。

ldapmodify -D "cn=orcladmin" -q -h host -p port -f ldif_file_name

LDIFファイルには、次のようなデータが含まれています。

dn: cn=subschemasubentry
changetype: modify
add: attributetypes
attributetypes: ( 1.2.3.4.5 NAME 'myattr' SYNTAX
                 '1.3.6.1.4.1.1466.115.121.1.38' )

属性を単一値として指定するには、LDIFファイルの属性定義エントリに、空白で囲んだキーワードSINGLE-VALUEを含めます。

Oracle Directory Services Managerまたはldapsearchコマンドライン・ツールを使用して、指定した構文のオブジェクトIDを検索できます。


関連項目:

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

  • Oracle Directory Services Managerまたはldapsearchを使用した構文の表示方法は、「ldapsearchを使用した構文の表示」を参照してください。


20.3.6 ldapmodifyを使用した属性の削除


注意:

削除できるのはユーザー定義属性のみです。ベース・スキーマの属性は削除しないでください。

ldapmodifyを使用して属性を削除するには、システム・プロンプトで次のようなコマンドを入力します。

ldapmodify -D "cn=orcladmin" -q -h host -p port -f ldif_file_name

LDIFファイルには、次のようなデータが含まれています。

dn: cn=subschemasubentry
changetype: modify
delete: attributetypes
attributetypes: ( 1.2.3.4.5 NAME 'myattr' SYNTAX
                 '1.3.6.1.4.1.1466.115.121.1.38' )

Oracle Directory Services Managerまたはldapsearchコマンドライン・ツールを使用して、指定した構文のオブジェクトIDを検索できます。


関連項目:


20.3.7 ldapmodifyを使用した、データが存在していない属性の索引付け

スキーマに新規属性を定義した後、ldapmodifyを使用してその属性をカタログ・エントリに追加できます。

ディレクトリ・データが存在していない属性を追加するには、ldapmodifyを使用してLDIFファイルをインポートします。たとえば、すでにスキーマに定義されている属性fooに索引を付けるには、ldapmodifyで次のLDIFファイルをインポートします。

dn: cn=catalogs 
changetype: modify 
add: orclindexedattribute 
orclindexedattribute: foo 

システム・プロンプトで次のようなコマンドを入力します。

ldapmodify -D "cn=orcladmin" -q -h host -p port -f ldif_file_name

この方法は、ディレクトリにデータが存在している属性に索引を付ける場合には使用しないでください。このような属性に索引を付けるには、カタログ管理ツールcatalogを使用します。「catalogを使用した既存の属性の索引の作成および削除」を参照してください。

20.3.8 ldapmodifyを使用した属性からの索引の削除

ldapmodifyを使用して属性から索引を削除するには、LDIFファイルでdeleteを指定します。次に例を示します。

dn: cn=catalogs 
changetype: modify 
delete: orclindexedattribute
orclindexedattribute: foo

関連項目:

Oracle Fusion Middleware Oracle Identity Managementリファレンスldapmodifyコマンドライン・ツールのリファレンス

20.3.9 カタログ管理ツールを使用した、データが存在している属性の索引付け

データがすでに存在している属性に対する索引付けおよび属性からの索引の削除には、カタログ管理ツールを使用します。「catalogを使用した既存の属性の索引の作成および削除」を参照してください。


関連項目:

Oracle Fusion Middleware Oracle Identity Managementリファレンスcatalogコマンドライン・ツールのリファレンス


注意:

Oracle Internet Directoryでインストールされたベース・スキーマによって作成された索引ではないことが確信できない場合は、catalog delete=Tオプションを使用して属性から索引を削除しないように注意してください。ベース・スキーマ属性から索引を削除すると、Oracle Internet Directoryの操作に悪影響を及ぼす場合があります。

20.3.10 コマンドラインを使用した複数の属性別名を持つ新規属性の追加

LDIFファイルを作成し、ldapmodifyを次の構文で使用することにより、属性別名の追加、変更または削除を行います。

ldapmodify -D "cn=orcladmin" -q -h host -p port -f ldif_file_name

注意:

識別名は属性ではありません。スキーマ内ではdnを定義できません。したがって、dnの別名を作成できません。

次のLDIFファイルでは、複数の属性別名myalias1myalias2を持つ属性myattrを追加します。

dn: cn=subschemasubentry 
changetype: modify 
add: attributetypes
attributetypes: ( 1.2.3.4.5 NAME ( 'myattr' 'myalias1' 'myalias2' ) SYNTAX
                  '1.3.6.1.4.1.1466.115.121.1.38' )

20.3.11 コマンドラインを使用した既存の属性の属性別名の追加または変更

次のLDIFファイルでは、属性別名surnamemysurNameを、既存の属性snに追加します。

dn: cn=subschemasubentry
changetype: modify
delete: attributeTypes
attributeTypes: ( 2.5.4.4 NAME 'sn' SUP name )
-
add: attributeTypes
attributeTypes: ( 2.5.4.4 NAME ( 'sn' 'surname' 'mysurName' ) SUP name )

システム・プロンプトで次のようなコマンドを入力します。

ldapmodify -D "cn=orcladmin" -q -h host -p port -f ldif_file_name

20.3.12 コマンドラインを使用した属性別名の削除

属性別名の削除にはldapmodifyコマンドを使用します。次のLDIFファイルでは、属性snから属性別名mysurNameは削除しますが、属性別名surNameは削除しません。

dn: cn=subschemasubentry 
changetype: modify
delete: attributeTypes
attributeTypes: ( 2.5.4.4 NAME ( 'sn' 'surname' 'mysurName' ) SUP name )
-
add: attributeTypes
attributeTypes: ( 2.5.4.4 NAME ( 'sn' 'surname' ) SUP name )

次のLDIFファイルでは、属性別名のsurnamemysurNameの両方を属性snから削除します。

dn: cn=subschemasubentry 
changetype: modify
delete: attributeTypes
attributeTypes: ( 2.5.4.4 NAME ( 'sn' 'surname' 'mysurName' ) SUP name )
-
add: attributeTypes
attributeTypes: ( 2.5.4.4 NAME 'sn' SUP name )

20.3.13 属性別名とLDAPコマンドの使用方法

LDAPスキーマで属性別名を定義した後、ユーザーはLDAP操作で属性名に別名を代入できます。次の例は、使用するコマンドと予想される結果を示します。

表20-1は、例で使用されている別名と、別名が表す属性名を示しています。

表20-1 例で使用されている属性別名

別名 属性名

userid

uid

organizationalunit

ou

country

c

organization

o

surname

sn

commonname

cn

phone

telephonenumber


20.3.13.1 属性別名とldapsearchの使用方法

LDAPサーバーは、ldapsearch操作で、検索フィルタ文字列、ベース識別名、必須属性リスト内の属性別名を認識します。ユーザーが必須属性リストを使用して別名を明示的に要求しなければ、検索結果には実際の属性名が含まれます。たとえば、ユーザーが、ベース識別名で別名organizationalUnitcountryおよびorganizationを、フィルタ文字列で別名surnameを使用して、次の検索を指定するとします。

ldapsearch -p 3060 -h myhost \
   -b "organizationalUnit=dev,country=us,organization=myorg" \
   -s sub "surname=brown"

検索は次のような結果を返します。

uid=mbrown,ou=dev,c=us,o=myorg
uid=mbrown
sn=Brown
cn=Mark Brown
telephonenumber;office=444006
telephonenumber;mobile=555006
objectclass=organizationalPerson
objectclass=top
objectclass=person

次に、ユーザーが、別名surnamecommonnameおよびuseridを次のように必須属性リストに含めることにより、明確に別名を要求するとします。

ldapsearch -p 3060 -h myhost \
   -b "organizationalUnit=dev,country=us,organization=myorg" \
   -s sub "surname=brown" surname commonname userid phone

ユーザーが別名を明確に含めたので、検索は次のような結果を返します。

uid=mbrown,ou=dev,c=us,o=myorg
surname=Brown
commonname=Mark Brown
userid=mbrown
phone;office=444006
phone;mobile=555006

20.3.13.2 属性別名とldapaddの使用方法

LDAPサーバーは、追加操作中に、属性名のかわりに属性別名を認識します。LDAPサーバーはエントリを保存する際、別名を実際の属性名に置換します。

コマンドラインの書式は、次のとおりです。

ldapadd -h host -p port -D cn=orcladmin -q -f ldif_file_name

ユーザーはLDIFファイルを次のように指定できます。

dn: userid=mbrown,organizationalUnit=dev,country=us,organization=myorg
objectclass: account
objectclass: organizationalPerson
userID: mbrown 
surname: Brown
commonName: Mark Brown
userpassword: password
phone;office: 444006
phone;mobile: 555006

エントリは、ファイルに別名のかわりに属性名が含まれているかのように保存されます。ただし、後続のLDAP検索では、追加または変更時に識別名が入力されたので、識別名が返されます。

dn: userid=mbrown,organizationalUnit=dev,country=us,organization=myorg

これはLDAP検索結果を得るための標準動作です。識別名は常に、エントリの作成時に使用されたものと同じ書式で返されます。

20.3.13.3 属性別名とldapmodifyの使用方法

LDAPサーバーは、変更操作中に、属性名のかわりに属性別名を認識します。

コマンドラインの書式は、次のとおりです。

ldapmodify -D "cn=orcladmin" -q -h host -p port -f ldif_file_name

ユーザーはLDIFファイルを次のように指定できます。

dn: 
userid=mbrown,organizationalUnit=dev,country=us,organization=myorg
changetype: modify
replace: surname
surname: davis

エントリは、ファイルに別名のかわりに属性名が含まれているかのように保存されます。ただし、後続のLDAP検索では、追加または変更時に識別名が入力されたので、識別名が返されます。

dn: userid=mbrown,organizationalUnit=dev,country=us,organization=myorg

これはLDAP検索結果を得るための標準動作です。識別名は常に、エントリの作成時に使用されたものと同じ書式で返されます。

20.3.13.4 属性別名とldapdeleteの使用方法

LDAPサーバーは、削除操作に指定された識別名で属性別名を認識します。たとえば、ユーザーが次のように検索フィルタで別名useridorganizationalUnitcountryおよびorganizationを指定してリクエストをするとします。

ldapdelelete -D "cn=orcladmin" -q -p 3060 \
   -h myhost  "userid=mbrown,organizationalUnit=dev,country=us,organization=myorg"

サーバーは、ユーザーが次のように入力したものとしてエントリを削除します。

ldapdelelete -D "cn=orcladmin" -q -p 3060 \
   -h myhost  "uid=mbrown,ou=dev,c=us,o=myorg"

20.3.13.5 属性別名とldapmoddnの使用方法

LDAPサーバーは、識別名、新規相対識別名および新規親識別名のオプションで、属性別名を認識します。たとえば、ユーザーが次のコマンドラインを入力するとします。

ldapmoddn -D "cn=orcladmin" -q \
   -b "userid=mbrown,organizationalUnit=dev,country=us,organization=myorg"\
   -R "userid=mdavis"

LDAPサーバーは、コマンドラインをユーザーが次のように入力しものとして解釈します。

ldapmoddn -D "cn=orcladmin" -q -b "uid=mbrown,ou=dev,c=us,o=myorg" \
   -R "uid=mdavis"

エントリは、ファイルに別名のかわりに属性名が含まれているかのように保存されます。ただし、後続のLDAP検索では、追加または変更時に識別名が入力されたので、識別名が返されます。

dn: userid=mbrown,organizationalUnit=dev,country=us,organization=myorg

これはLDAP検索結果を得るための標準動作です。識別名は常に、エントリの作成時に使用されたものと同じ書式で返されます。

20.3.14 コマンドライン・ツールを使用したコンテンツ・ルールの管理

コンテンツ・ルールの形式は次のとおりです。

DITContentRule  ::=  SEQUENCE  {
oids                             ALPHA-NUMERIC-OID,
structuralObjectClass            OBJECT-CLASS,
LABEL                            CONTENT-LABEL OPTIONAL,
auxiliaries                      SET (1..MAX) OF OBJECT-CLASS OPTIONAL,
mandatory                        SET (1..MAX) OF ATTRIBUTE OPTIONAL,
optional                         SET (1..MAX) OF ATTRIBUTE OPTIONAL,
precluded                        SET (1..MAX) OF ATTRIBUTE OPTIONAL
}

ldapmodifyで次のようなLDIFファイルを指定してコンテンツ・ルールを追加できます。

dn: cn=subschemasubentrychangetype: modify
add: contentrules
contentrules: (  2.16.840.1.113894.9999.1.1 OBJECTCLASS 'exampleObjClassName' LABEL abc AUX exampleAuxObjClassName MUST businessCategory MAY ( description $ host ) )

表20-2に、パラメータを示します。属性およびオブジェクト・クラスの名前では、大文字と小文字が区別されることに注意してください。

表20-2 コンテンツ・ルールのパラメータ

パラメータ 説明

oids

オブジェクト・クラスまたは属性定義のオブジェクト識別子と同様の、コンテンツ・ルールの一意のオブジェクト識別子(oids)。これは、2.16.840.1.113894で始まり、その後ろに.9999またはサイト固有の接頭辞が続いている一意な数値である必要があります。

LABEL

ディレクトリで適用されるコンテンツ・ルールのコンテンツ・ラベル。

structuralObjectClass

コンテンツ・ルールが適用される構造型オブジェクト・クラス。

auxiliaries

コンテンツ・ルールが適用されるエントリで使用可能な補助型オブジェクト・クラス。

mandatory

コンテンツ・ルールが適用されるエントリに含まれるユーザー属性タイプ。これは、指定された構造型および補助型オブジェクト・クラスとの関連付けの結果としてエントリに含まれる必須属性に対する追加の属性です。

optional

コンテンツ・ルールが適用されるエントリに含めることができるユーザー属性タイプ。これは、指定された構造型および補助型オブジェクト・クラスとの関連付けの結果としてエントリに含めることができる属性に対する追加の属性です。


20.3.15 ldapsearchを使用した一致規則の表示


注意:

一致規則は変更できません。

一致規則を表示するには、次のように入力します。

ldapsearch -L -D "cn=orcladmin" -p port -q -b "cn=subschemasubentry" -s base "objectclass=*" matchingrules

関連項目:

Oracle Fusion Middleware Oracle Identity Managementリファレンスldapsearchコマンドライン・ツールのリファレンス

20.3.16 ldapsearchを使用した構文の表示


注意:

構文は変更できません。

構文を表示するには、次のように入力します。

ldapsearch -L -D "cn=orcladmin" -p port -q -b "cn=subschemasubentry" -s base "objectclass=*" ldapsyntaxes 

関連項目:

Oracle Fusion Middleware Oracle Identity Managementリファレンスldapsearchコマンドライン・ツールのリファレンス