ページの先頭行へ戻る
Interstage Application Server ディレクトリサービス運用ガイド

2.1.3 格納できるデータの構造(スキーマ)

  リポジトリへ追加する新しいエントリや更新するエントリの情報は、スキーマに従わなければなりません。追加/更新要求がスキーマに従っていない場合は、リポジトリからエラーが返されます。

  以下に、LDAPのスキーマの構成要素を示します。
  Interstage ディレクトリサービスでは、「オブジェクトクラス定義」、「属性型定義」、「属性構文定義」、「照合規則定義」が利用できます。

構成要素

説明

オブジェクトクラス定義

クラスの種類、基底クラス、エントリが持つことのできる属性を定義します。

属性型定義

属性が保持するデータの種別を定義します。名前や属性構文、照合規則などの各要素で属性型それぞれを定義づけます。

属性構文定義
(シンタックス)

属性値に使用できる文字と属性値の形式を定義します。

照合規則定義
(マッチングルール)

比較や検索での属性の照合規則を定義します。

名前形式定義

RDNに利用できる属性を定義します。
Interstage ディレクトリサービスでは利用できません。

DIT構造規則定義

エントリの配置制限を定義します。
Interstage ディレクトリサービスでは利用できません。

DIT内容規則定義

オブジェクトクラスの組み合わせを定義します。
Interstage ディレクトリサービスでは利用できません。

  ここでは、オブジェクトクラス定義、属性型定義について説明します。属性構文定義、照合規則定義については、“2.1.3.2 属性型定義”で説明します。


  Interstage ディレクトリサービスでは、RFCで定義された標準スキーマを利用しています。また、標準スキーマにないスキーマを新たに追加したり、既存のスキーマを継承して拡張したりすることで、スキーマを拡張することもできます。
  Interstage ディレクトリサービスで使用できるスキーマ定義については、“付録A オブジェクトクラス一覧”、および“付録B 属性一覧”を参照してください。
  スキーマの拡張方法については、“5.3 スキーマ拡張”を参照してください。

2.1.3.1 オブジェクトクラス定義

  オブジェクトクラス定義は、次の要素から構成されます。

オブジェクトクラスのOID

  オブジェクトクラスを識別するためのオブジェクト識別子、OID(Object IDentifier)です。
  オブジェクトクラスに限らず、LDAPの各要素にはOIDが割り当てられています。これは、ISOで標準化されています。

オブジェクトクラスの名前

  定義するオブジェクトクラスの名前です。

基底クラス

  オブジェクトクラスの定義のもととなるオブジェクトクラスです。あるオブジェクトクラスを定義する場合、他のオブジェクトクラスの定義をもとに定義することがあります。この定義もととなったオブジェクトクラスを基底クラスといいます。
  派生クラスは基底クラスから必須属性、およびオプション属性を継承します。

オブジェクトクラスの種別

  オブジェクトクラスは、抽象型(ABSTRACT)/構造型(STRUCTURAL)/補助型(AUXILIARY)のどれか1つに分類されます。

説明

抽象型
(ABSTRACT)

他のオブジェクトクラスを定義するために用意されたオブジェクトクラスです。topがこの型の代表例となります。
抽象型オブジェクトクラスにのみ属するエントリは存在できません。

構造型
(STRUCTURAL)

そのクラスを使用してエントリを作成することができるオブジェクトクラスです。エントリは、必ずどれかの構造型オブジェクトクラスに属さなければなりません。

補助型
(AUXILIARY)

単独ではエントリを作成することはできず、ほかの構造型オブジェクトクラスと併用して、エントリを作成することができるオブジェクトクラスです。補助型オブジェクトクラスだけに属するエントリは存在できません。

必須属性

  そのオブジェクトクラスを使用する際、必ず登録しなければならない属性です。

オプション属性

  そのオブジェクトクラスを使用する際、付加情報として使用する属性(必須ではない)です。

  Interstage ディレクトリサービスで使用できるオブジェクトクラス定義については、“付録A オブジェクトクラス一覧”を参照してください。

2.1.3.2 属性型定義

  属性型定義は、以下の要素から構成されます。

属性型のOID

  属性型を識別するためのOIDです。

属性型の名前

  定義する属性の名前です。

基底属性型

  その属性の定義の基底となる属性です。基底となる属性型から属性構文、照合規則を継承します。オブジェクトクラスと違って、属性型では何かを継承しなければならないという決まりはありません。

照合規則

  属性に対する比較照合の際に、どのような場合に照合条件を満たすとするかを規定するものです。照合規則に何も指定されない場合には、属性に対する比較照合はできません。

同値性の照合規則

  検索などで同値性(どのような場合に等しいとみなすか)の検査を行う場合に適用される照合規則です。

名前

説明

objectIdentifierMatch

OID

distinguishedNameMatch

DN

caseIgnoreMatch

英大小文字の区別なし、スペース無視

caseExactMatch

英大小文字の区別あり、スペース無視

numericStringMatch

数値文字列

booleanMatch

真偽値

octetStringMatch

任意のオクテット文字列

telephoneNumberMatch

英大小文字の区別なし、スペース、“-”無視

caseExactIA5Match

英大小文字の区別あり、スペース無視

caseIgnoreIA5Match

英大小文字の区別なし、スペース無視

caseIgnoreListMatch

英大小文字の区別なし、スペース無視

integerMatch

数値文字列

generalizedTimeMatch

ローカル時刻、または国際標準時刻で使用できる文字列

順序性の照合規則

  検索などで大小関係の検査を行う場合に適用される照合規則です。

名前

説明

caseIgnoreOrderingMatch

英大小文字の区別なし、スペース無視

caseExactOrderingMatch

英大小文字の区別あり、スペース無視

generalizedTimeOrderingMatch

ローカル時刻、または国際標準時刻で使用できる文字列

部分文字列一致の照合規則

  検索などで部分文字列の一致(どのような場合に部分文字列を含むとみなすか)の検査を行う場合に適用される照合規則です。

名前

説明

caseIgnoreIA5SubstringsMatch

英大小文字の区別なし、先頭、末尾の空白を無視、連続する空白は、単一の空白とみなす

caseIgnoreListSubstringsMatch

英大小文字の区別なし、スペース無視

caseIgnoreSubstringsMatch

英大小文字の区別なし、スペース無視

caseExactSubstringsMatch

英大小文字の区別あり、スペース無視

numericStringSubstringsMatch

数値文字列

属性構文

  属性値の形式です。

構文

指定できる値

Audio

サウンドデータが使用できます。(バイナリ型)

Binary

バイナリデータが使用できます。(バイナリ型)

Certificate

証明書データが使用できます。(バイナリ型)

Certificate List

証明書リストデータが使用できます。(バイナリ型)

Certificate Pair

証明書対データが使用できます。(バイナリ型)

Directory String

UTF-8で扱える範囲が使用できます。文字としては、Unicodeの範囲です。(文字列型)

DN

DNが使用できます。(文字列型)
  (例)  cn=User001,o=fujitsu,dc=com

Facsimile Telephone Number

PrintableStringと同様の文字が使用できます。(文字列型)

Generalized Time

ローカル時刻(YYYYMMDDhhmmss.p形式、またはYYYYMMDDhhmmss.p(+|-HHMM)形式)、または国際標準時刻(YYYYMMDDhhmmss.pZ形式)が使用できます。(文字列型)

IA5 String

CCITT国際アルファベット No.5(ASCII文字相当)が使用できます。(文字列型)

INTEGER

数字が使用できます。(数値型)
  (例)  1321

JPEG

JPEGデータが使用できます。(バイナリ型)

Name And Optional UID

「<DN>#<ビット列>」の形式の文字列です。「#<ビット列>」の部分はオプションです。(文字列型)

Numeric String

数字(0から9)およびスペースが使用できます。(文字列型)
  (例)  1997

Octet String

バイト列(各バイトは、0x00~0xFFの任意の値)が使用できます。(文字列型)

OID

OIDが使用できます。(文字列型)
  (例)  1.2.3.4

Other Mailbox

X.400とRFC822以外の電子メールボックスデータが使用できます。 形式は以下のとおりです。(文字列型)
  mailbox-type "$" mailbox
上記では、mailbox-typeはメールの種類、mailboxはメールアドレス(例:user001@interstage.fujitsu.com)です。

Postal Address

Directory Stringで扱える範囲(Unicode)が使用できます。(文字列型)
(注)  英数字のみ使用した場合、以下の形式となります。また、dstringは最大6個の組み合わせまで可能です。
  postal-address = dstring *( "$" dstring )
  dstring = 英数字30文字

Printable String

英数字文字および以下の記号が使用できます。(文字列型)

  • スペース

  • “'”(シングル引用符)

  • “(”(左カッコ)

  • “)”(右カッコ)

  • “+”(プラス)

  • “,”(カンマ)

  • “-”(マイナス)

  • “.”(ピリオド)

  • “/”(スラッシュ)

  • “:”(コロン)

  • “=”(イコール)

  • “?”(クエスチョン)

Supported Algorithm

supportAlgorithm属性の構文です。(バイナリ型)

Telephone Number

Printable Stringと同様の文字が使用できます。(文字列型)
(注)  “-”(マイナス)およびスペースを使用した場合、検索時は以下の例のようになります。

  検索時にtelephoneNumber=0123456789で検索した場合
    012-345-6789
    0123456789
  両者ともヒットします。

Telex Number

テレックス番号が使用できます。形式は以下のとおりです。(文字列型)

  actual-number "$" country "$" answerback

上記では、actual-numberは暗号化されるテレックス番号の番号部を構文的に表示したもので、countryはテレックスの国コード、answerbackはテレックスターミナルの返信コードです。

シングルフラグ

  属性値を1つまたは複数を設定できるかどうかを表します。
  たとえば、電話番号は複数の属性値を使用することがありますが、従業員番号は複数の属性値を使用すると差し支えがあります。このような場合に、シングルフラグを真にします。

  Interstage ディレクトリサービスで使用できる属性型定義、属性構文定義、および、照合規則定義については、“付録B 属性一覧”を参照してください。