3.2. 標準スキーマ


ディレクトリースキーマは、データ値のサイズ、範囲、および形式に制約を設定することにより、ディレクトリーに保存されているデータの整合性を維持します。スキーマは、ディレクトリーに含まれるさまざまな種類のエントリー (人、デバイス、組織など) と、各エントリーで使用可能な属性を識別します。

Directory Server の定義済みスキーマには、サーバーの機能をサポートするための標準 LDAP スキーマとアプリケーション固有のスキーマの両方が含まれています。ディレクトリーの固有のニーズに対応するために、新しいオブジェクトクラスと属性を追加してスキーマを拡張できます。

3.2.1. スキーマの形式

Directory Server のスキーマ形式は、LDAP プロトコルのバージョン 3 に基づいてビルドされています。このプロトコルでは、Directory Server は LDAP 自体によりそのスキーマを公開する必要があります。これにより、ディレクトリークライアントアプリケーションがプログラム的にスキーマを取得し、その動作を調整することができます。Directory Server のグローバルスキーマセットは、cn=schema エントリーにあります。

Directory Server スキーマは、プロプライエタリーオブジェクトクラスおよび属性を使用するため、LDAPv3 スキーマとは異なります。さらに、スキーマエントリーが元々どこで定義されたかを説明する、X-ORIGIN 389 Directory Server と呼ばれるスキーマエントリー内のプライベートフィールドを使用します。

標準 LDAPv3 スキーマでスキーマエントリーを定義する場合、X-ORIGIN 389 Directory Server フィールドは RFC 2252 を参照します。Directory Server の使用のためにエントリーが Red Hat によって定義されている場合、X-ORIGIN 389 Directory Server フィールドに 389 Directory Server 値が含まれます。たとえば、標準の person オブジェクトクラスは、以下のようにスキーマに表示されます。

# objectclasses: ( 2.5.6.6 NAME 'person' DESC 'Standard Person Object Class' SUP top
MUST (objectclass $ sn $ cn) MAY (description $ seeAlso $ telephoneNumber $ userPassword)
X-ORIGIN 'RFC 2252' )
Copy to Clipboard Toggle word wrap

このスキーマエントリーには次のように記載されています。

  • クラスのオブジェクト識別子 (OID) (2.5.6.6)
  • オブジェクトクラスの名前 (person)
  • クラスの説明 (Standard Person)
  • 必須属性 (objectclass, sn, and cn)
  • オプション属性 (descriptionseeAlsotelephoneNumberuserPassword)

3.2.2. 標準属性

属性には、名前や fax 番号などの特定のデータ要素が含まれます。Directory Server は、特定の情報に関連付けられた説明的なスキーマ属性である属性とデータのペアとしてデータを表します。これらは、attribute-value assertions または AVAs とも呼ばれます。

たとえば、ディレクトリーには、標準属性を持つペアで人の名前などのデータを保存できます。Babs Jensen という名前の人物のエントリーには、属性とデータのペア cn: Babs Jensen があります。

エントリー全体は、一連の属性とデータのペアとして表されます。Babs Jensen のエントリー全体は以下のようになります。

dn: uid=bjensen,ou=people,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: Babs Jensen
sn: Jensen
givenName: Babs
givenName: Barbara
mail: bjensen@example.com
Copy to Clipboard Toggle word wrap

スキーマ内の各属性定義には、次の情報が含まれます。

  • 一意な名前
  • 属性のオブジェクト識別子 (OID)
  • 属性のテキストでの説明
  • 属性構文の OID
  • 以下を示す

    1. 属性が単一値か複数値
    2. この属性はディレクトリーでの使用を目的とする
    3. 属性の起点
    4. 属性に関連付けられた追加の一致ルール

cn 属性の定義は、スキーマ内で次のように表示されます。

attributetypes: ( 2.5.4.3 NAME 'cn' DESC 'commonName Standard Attribute'
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Copy to Clipboard Toggle word wrap

属性の構文を使用して、属性に格納できる値の形式を定義できます。Directory Server は、すべての標準属性構文をサポートします。

3.2.3. 標準のオブジェクトクラス

オブジェクトクラスは、person や fax machine などの実際のオブジェクトを表します。関連する情報をグループ化するために使用されます。オブジェクトクラスを使用する前に、スキーマ内のオブジェクトクラスとその属性を識別する必要があります。ディレクトリーは、デフォルトでオブジェクトクラスの標準リストを認識します。

各ディレクトリーエントリーは、少なくとも 1 つのオブジェクトクラスに属します。スキーマで識別されるオブジェクトクラスをエントリーに配置すると、エントリーが特定の属性値セットを持つことができ、さらに別のより小さな必須属性値セットを持つ必要があることが Directory Server に通知されます。

オブジェクトクラス定義では次の情報が利用できます。

  • 一意な名前
  • オブジェクト識別子 (OID)
  • 必須属性のセット
  • 許可属性またはオプション属性のセット

スキーマ内の標準の person オブジェクトクラス:

objectclasses: ( 2.5.6.6 NAME 'person' DESC 'Standard Person Object Class' SUP top
     MUST (objectclass $ sn $ cn) MAY (description $ seeAlso $ telephoneNumber $ userPassword)
     X-ORIGIN 'RFC 2252' )
Copy to Clipboard Toggle word wrap
注記

オブジェクトクラスは Directory Server で定義され、直接保存されるため、標準の LDAP 操作を使用してディレクトリースキーマをクエリーおよび変更できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る