3.5. 一貫性のあるスキーマの維持


Directory Server 内で一貫したスキーマは、LDAP クライアントアプリケーションがディレクトリーエントリーを見つけるのに役立ちます。一貫性のないスキーマを使用すると、ディレクトリーツリーの情報を効率的に特定することは困難になります。
一貫性のないスキーマは、異なる属性またはフォーマットを使用して同じ情報を保存します。スキーマの一貫性を以下の方法で維持します。
  • スキーマチェックを使用して、属性とオブジェクトクラスがスキーマルールに準拠していることを確認します。
  • 構文検証を使用して、属性値が必要な属性構文と一致するようにします。
  • 一貫性のあるデータ形式を選択して適用します。

3.5.1. スキーマチェック

スキーマチェックにより、すべての新規または変更されたディレクトリーエントリーがスキーマルールに準拠していることを確認します。ルールに違反すると、ディレクトリーは要求された変更を拒否します。
注記
スキーマチェックは、適切な属性が存在することのみを確認します。属性の値が正しい構文にあることを確認するには、「構文の検証」の説明に従って構文の検証を使用します。
デフォルトでは、ディレクトリーはスキーマチェックを有効にします。Red Hat は、この機能を無効にしないことを推奨します。スキーマチェックの有効化および無効化に関する情報は、『Red Hat Directory Server 管理ガイド』を参照してください。
スキーマチェックを有効にすると、オブジェクトクラスで定義されるように必要な属性および許可される属性に注意を払います。オブジェクトクラス定義には、通常 1 つ以上の必要な属性と 1 つまたは複数の任意の属性が含まれます。任意の属性は、ディレクトリーエントリーに追加することが可能な属性ですが、必須ではありません。属性を、エントリーのオブジェクトクラス定義に従って必要でも許可でもないエントリーに追加しようとすると、Directory Server はオブジェクトクラス違反メッセージを返します。
たとえば、organization openblas オブジェクトクラスを使用するようにエントリーが定義されている場合は、エントリーに共通名(cn)および姓(sn)属性が必要です。つまり、エントリーの作成時にこれらの属性の値を設定する必要があります。さらに、telephoneNumberuidstreetAddress、および userPassword などの説明的な属性など、エントリーでオプションで使用できる属性のリストがあります。

3.5.2. 構文の検証

構文の検証 とは、Directory Server が属性の値が、その属性に必要な構文と一致することを確認することを意味します。たとえば、構文の検証では、新しい telephoneNumber 属性に、実際にその値に有効な電話番号が指定されていることを確認します。

3.5.2.1. 構文の検証の概要

デフォルトでは、構文の検証が有効になっています。これは最も基本的な構文検証です。スキーマチェックと同様に、ディレクトリーの変更を検証し、構文ルールに違反する変更を拒否します。オプションとして追加の設定を行い、構文検証により構文違反に関する警告メッセージをログに記録し、変更を拒否したり、変更プロセスを正常に実行できるようにしたりすることもできます。
構文検証は、新規属性が追加されるか、属性値が変更されたために新しい属性値が追加される LDAP 操作をチェックします。構文の検証は、既存の属性やレプリケーションなどのデータベース操作で追加された属性を処理しません。既存の属性は、特別なスクリプト syntax-validate.pl を使用して検証できます。
この機能は、バイナリー構文 (検証できない) および標準以外の構文 (定義された必要な形式がない) を除き、すべての属性構文を検証します。構文は RFC 4514 に対して検証されますが、DN は厳格ではない RFC 1779 または RFC 2253 に対して検証されます(厳格な DN 検証を設定することもできます)。

3.5.2.2. 構文の検証およびその他の Directory Server 操作

構文の検証は、エントリーの作成 (add) や属性の編集 (modify) などの標準の LDAP 操作に主に関係します。ただし、属性の構文の検証は他の Directory Server 操作に影響を及ぼす可能性があります。

データベース暗号化

通常の LDAP 操作では、値がデータベースに書き込まれる直前に属性は暗号化されます。これは、属性構文の検証 後に 暗号化が実行されることを意味します。

暗号化されたデータベース (「データベースの暗号化」で説明) をエクスポートおよびインポートすることができます。通常、これらのエクスポート操作およびインポート操作は db2ldif および ldif2db とともに -E フラグを使用して行うことが強く推奨されます。これにより、インポート操作で構文の検証が問題になる可能性もあります。ただし、-E フラグを使用せずに暗号化されたデータベースをエクスポートする場合は (サポートされていない)、暗号化された値で LDIF が作成されます。この LDIF をインポートすると、暗号化された属性を検証できず、警告がログに記録され、インポートされたエントリーで属性検証はスキップされます。

同期

Windows Active Directory エントリーと Red Hat Directory Server エントリーでは、属性の許容構文または強制構文に違いがある場合があります。この場合、構文の検証により Directory Server エントリーの RFC 標準が強制されるため、Active Directory の値を適切に同期できませんでした。

レプリケーション

Directory Server 11.0 インスタンスがコンシューマーに変更を複製するサプライヤーである場合は、構文検証の使用に問題はありません。ただし、レプリケーションのサプライヤーが古いバージョンの Directory Server であったり、構文の検証が無効になっていたりする場合は、Directory Server 11.0 コンシューマーは、サプライヤーが許可する属性値を拒否する可能性があるため、構文の検証を 11.0 コンシューマーで使用しないでください。

3.5.3. 一貫性のあるデータフォーマットの選択

LDAP スキーマを使用すると、任意の属性値に任意のデータを配置できます。ただし、LDAP クライアントアプリケーションおよびディレクトリーユーザーに適した形式を選択して、一貫性を維持してディレクトリーツリーでデータを保存することが重要になります。
LDAP プロトコルおよび Directory Server では、データは RFC 2252 で指定されたデータ形式で示される必要があります。たとえば、電話番号に関する正しい LDAP 形式は、2 つの ITU-T 推奨ドキュメントで定義されます。
  • ITU-T Recommendation E.123:国内およびおよび国際電話番号の記法
  • ITU-T Recommendation E.163:国際的な電話サービスの番号付けプランたとえば、米国の電話番号は +1 555 222 1717 としてフォーマットされます。
別の例として、postalAddress 属性は、ドル記号($)を行区切り文字として使用する複数行の文字列の形式の属性値を想定します。適切にフォーマットされたディレクトリーエントリーは以下のように表示されます。
postalAddress: 1206 Directory Drive$Pleasant View, MN$34200
属性には、文字列、バイナリー入力、整数その他の形式が必要になる場合があります。使用できる形式は、属性のスキーマ定義に設定されます。

3.5.4. 複製されたスキーマでの一貫性の維持

ディレクトリースキーマを編集すると、変更は変更ログに記録されます。レプリケーション中、変更ログをスキャンして変更の有無を確認し、変更はすべて複製されます。複製されたスキーマで一貫性を維持することで、レプリケーションがスムーズに維持されます。複製された環境で一貫したスキーマを維持するために、以下のポイントを考慮してください。
  • 読み取り専用レプリカでスキーマを変更しないでください。
    読み取り専用レプリカでスキーマを変更すると、スキーマで不整合が生じ、レプリケーションが失敗します。
  • 異なる構文を使用する同じ名前の属性を 2 つ作成しないでください。
    読み取り/書き込みレプリカで作成された属性がサプライヤーレプリカ上の属性と同じ名前を持ち、サプライヤー上の属性とは異なる構文を持つ場合、レプリケーションは失敗します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る