第3章 カスタムスキーマファイルの手動での作成
スキーマを拡張することにより、カスタム属性とオブジェクトクラスを Directory Server に追加できます。以下のように、スキーマを拡張できます。
- スキーマファイルの作成による手動での拡張(このセクションでは、このプロセスについて説明します)
- コマンドラインで dsconf ユーティリティーを使用した拡張
- Directory Server Web コンソールを使用した拡張
3.1. スキーマ拡張のワークフロー
新しいスキーマ要素の追加には、以下が必要です。
新しいスキーマの一意のオブジェクト識別子 (OID) を計画し、定義します。Directory Server は OID によってスキーマ要素を認識しますが、OID を手動で管理する必要があります。
OID は、サーバーへのスキーマ要素を識別するドットで区切られた番号です。OID は、異なるブランチに対応するために拡張できるベース OID を使用して階層化することができます。たとえば、ベース OID は
1
で、属性のブランチを1.1
にし、オブジェクトクラスのブランチを1.2
にすることもできます。重要必須ではない場合でも、上位互換性とパフォーマンスを向上させるために、カスタムスキーマに数値 OID を使用することを推奨します。
- Internet Assigned Numbers Authority (IANA) に OID をリクエストします。詳細は、https://pen.iana.org/pen/PenApplication.page を参照してください。
- OID レジストリーを作成して、OID 割り当てを追跡し、複数の目的で OID が使用されないようにします。OID レジストリーは、説明を含むディレクトリースキーマで使用されるすべての OID のリストです。カスタムスキーマで OID レジストリーを公開します。
- 新しい属性を定義します。
- 新しい属性を含むオブジェクトクラスを定義します。ただし、デフォルトのスキーマは更新しないでください。新しい属性を作成する場合は、常にそれらをカスタムオブジェクトクラスに追加してください。
Directory Server は、インスタンスの起動時にスキーマをロードします。新しいスキーマファイルをロードするには、インスタンスを再起動するか、リロードタスクを開始します。
Directory Server スキーマをカスタマイズする場合は、以下のルールを念頭に置いてください。
- スキーマはできるだけシンプルに保ちます。
- 可能であれば、既存のスキーマ要素を再利用します。
- 各オブジェクトクラスに定義される必須属性の数を最小限に抑えます。
- 複数のオブジェクトクラスまたは属性を同じ目的で定義しないでください。
- 属性またはオブジェクトクラスの既存の定義は変更しないでください。
警告
他のディレクトリーまたは LDAP クライアントアプリケーションとの互換性の問題を回避するために、標準スキーマを更新または削除しないでください。