スキーマの拡張について

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、Microsoft Active Directory のマネージド サービスでのスキーマ拡張について説明します。

概要

Active Directory(AD)は、ディレクトリ データを整理して保存するためにスキーマに依存しています。AD スキーマは、ディレクトリ データの保存に使用するオブジェクト クラスとその属性を定義します。

スキーマ拡張を使用すると、スキーマの変更を行い、Active Directory 内の特定のクラスまたは属性に依存するアプリケーションのサポートを有効にできます。

新しいクラスと属性を定義するか、既存のクラスと属性の定義またはプロパティを変更することで、デフォルトの AD スキーマを拡張できます。マネージド Microsoft AD では、スキーマ変更用のコマンドを含む LDAP Data Interchange Format(LDIF)ファイルを使用して、スキーマを拡張できます。詳細については、スキーマの拡張をご覧ください。

LDIF の詳細については、LDAP Data Interchange Format をご覧ください。

LDIF ファイルの準備方法

LDIF ファイルは、Lightweight Directory Access Protocol(LDAP)のディレクトリ コンテンツと更新リクエストを表すための標準の書式なしテキストによるデータ交換形式です。LDIF ファイルは、追加、変更、名前変更などの更新リクエストのコレクションを表す一連のレコードで構成されます。空の行は、更新リクエストの各エントリを表すレコードのセットを LDIF ファイル内で区切ります。スキーマの変更を伴うファイルを作成する前に、LDIF ファイルの形式を理解しておくことをおすすめします。詳しくは、LDIF スクリプトをご覧ください。

LDIF ファイルを準備する前に、次のガイドラインをお読みください。

スキーマの要素

クラス、属性、オブジェクトなどのスキーマ要素は、AD スキーマの構成要素です。属性、オブジェクト クラス、オブジェクト識別子、リンク属性など、スキーマ要素に関連する重要な概念について学習することをおすすめします。詳細については、Active Directory スキーマ(AD DS)をご覧ください。

LDIF ファイル構造

ディレクトリ情報ツリー(DIT)構造を使用して、LDIF ファイルにエントリを配置する必要があります。有効な LDIF ファイルの構造は、次のガイドラインに従っている必要があります。

  • 子エントリより前の親エントリを一覧表示します。
  • LDIF ファイルのエントリは空白行で区切ります。
  • エントリで使用するクラスまたは属性は、スキーマに存在する必要があります。クラスまたは属性を使用する前に、そのスキーマや属性がスキーマで使用できることを確認してください。存在しない場合は、スキーマにクラスまたは属性を追加する必要があります。たとえば、属性をクラスに添付する前に属性を作成する必要があります。

識別名の形式

LDIF ファイルのエントリはすべて、識別名(DN)で始まります。レコードが操作される AD オブジェクトを指定します。レコードがスキーマ キャッシュを更新する場合、DN は空である必要があります。スキーマを変更する場合、DN は次の形式でなければなりません。

dn: cn=CLASS_OR_ATTRIBUTE,cn=Schema,cn=Configuration,dc=ROOT_DOMAIN,dc=TOP_LEVEL_DOMAIN

以下を置き換えます。

  • CLASS_OR_ATTRIBUTE: クラスまたは属性の名前。例: example-attribute
  • ROOT_DOMAIN: ドメイン名のルートドメイン。たとえば、ドメイン名が example.com の場合は、「example」と入力します。
  • TOP_LEVEL_DOMAIN: ドメイン名のトップレベル ドメイン。たとえば、ドメイン名が example.com の場合は、「com」と入力します。

たとえば、ドメイン名 example.com の属性 example-attribute の DN は、次の形式である必要があります。

dn: cn=example-attribute,cn=Schema,cn=Configuration,dc=example,dc=com

サポートされている LDIF 変更タイプ

マネージド Microsoft AD は、スキーマ拡張に対して次の LDIF 変更型をサポートしています。

LDIF 変更タイプ スキーマ拡張アクション
add スキーマ内に新しいクラスまたは属性を作成します。
modify スキーマ内のクラスまたは属性のプロパティを更新します。以下の一覧に、使用可能なプロパティ更新の一部を示します。
  • クラスへの属性のアタッチ。
  • クラスまたは属性の ldapDisplayName プロパティを更新する
  • クラスまたは属性の無効化
  • modrdn または moddn クラスまたは属性の相対識別名(RDN)の名前を変更します。

    考慮事項

    スキーマを拡張する前に、次の点を考慮してください。

    • Microsoft は、Active Directory 環境におけるスキーマ拡張の影響に関する詳細なアドバイスを提供します。スキーマを拡張する前に、それらを慎重に確認してください。詳細については、スキーマを拡張する前に知っておくべきことをご覧ください。
    • スキーマにクラスまたは属性を追加する操作は永続的に適用されます。ただし、追加後に不要になったクラスや属性は無効にできます。詳しくは、既存のクラスと属性を無効にするをご覧ください。

    スキーマ拡張の仕組み

    ドメインでスキーマ拡張を開始すると、マネージド Microsoft AD は、構造、スキーマ要素の形式、サポートされている変更タイプまたはアクションについて LDIF ファイルを検証します。

    LDIF ファイルが有効な場合、マネージド Microsoft AD はスキーマの変更を適用する前にドメインのバックアップを取得します。スキーマの更新後にアプリケーションで問題が発生した場合は、このバックアップを使用してドメインを復元できます。マネージド Microsoft AD はドメイン コントローラの一つをドメインから分離し、Ldifde ツールを使用してスキーマの変更を適用します。スキーマの変更が進行している間は、ドメイン内の他のドメイン コントローラがクライアント トラフィックを処理します。

    スキーマの変更が成功すると、分離されたドメイン コントローラがドメインに接続し、これらのスキーマの変更をドメイン内の他のドメイン コントローラに複製します。

    スキーマの変更が失敗すると、マネージド Microsoft AD はドメイン コントローラをバックアップ状態に戻します。

    マネージド Microsoft AD は、ドメインの部分スキーマ拡張をサポートしていません。つまり、LDIF ファイル内のコマンドのいずれかがドメインに適用できなかった場合、スキーマ拡張リクエストは失敗します。マネージド Microsoft AD は、ドメインをスキーマの変更を適用する前の状態に戻すこともできます。

    次のステップ