リポジトリへ追加する新しいエントリや更新するエントリの情報は、スキーマに従わなければなりません。追加/更新要求がスキーマに従っていない場合は、リポジトリからエラーが返されます。
以下に、LDAPのスキーマの構成要素を示します。
Interstage ディレクトリサービスでは、「オブジェクトクラス定義」、「属性型定義」、「属性構文定義」、「照合規則定義」が利用できます。
構成要素 | 説明 |
---|---|
オブジェクトクラス定義 | クラスの種類、基底クラス、エントリが持つことのできる属性を定義します。 |
属性型定義 | 属性が保持するデータの種別を定義します。名前や属性構文、照合規則などの各要素で属性型それぞれを定義づけます。 |
属性構文定義 | 属性値に使用できる文字と属性値の形式を定義します。 |
照合規則定義 | 比較や検索での属性の照合規則を定義します。 |
名前形式定義 | RDNに利用できる属性を定義します。 |
DIT構造規則定義 | エントリの配置制限を定義します。 |
DIT内容規則定義 | オブジェクトクラスの組み合わせを定義します。 |
ここでは、オブジェクトクラス定義、属性型定義について説明します。属性構文定義、照合規則定義については、“2.1.3.2 属性型定義”で説明します。
Interstage ディレクトリサービスでは、RFCで定義された標準スキーマを利用しています。また、標準スキーマにないスキーマを新たに追加したり、既存のスキーマを継承して拡張したりすることで、スキーマを拡張することもできます。
Interstage ディレクトリサービスで使用できるスキーマ定義については、“付録A オブジェクトクラス一覧”、および“付録B 属性一覧”を参照してください。
スキーマの拡張方法については、“5.3 スキーマ拡張”を参照してください。
オブジェクトクラス定義は、次の要素から構成されます。
オブジェクトクラスのOID
オブジェクトクラスの名前
基底クラス
オブジェクトクラスの種別
必須属性
オプション属性
オブジェクトクラスのOID
オブジェクトクラスを識別するためのオブジェクト識別子、OID(Object IDentifier)です。
オブジェクトクラスに限らず、LDAPの各要素にはOIDが割り当てられています。これは、ISOで標準化されています。
オブジェクトクラスの名前
定義するオブジェクトクラスの名前です。
基底クラス
オブジェクトクラスの定義のもととなるオブジェクトクラスです。あるオブジェクトクラスを定義する場合、他のオブジェクトクラスの定義をもとに定義することがあります。この定義もととなったオブジェクトクラスを基底クラスといいます。
派生クラスは基底クラスから必須属性、およびオプション属性を継承します。
オブジェクトクラスの種別
オブジェクトクラスは、抽象型(ABSTRACT)/構造型(STRUCTURAL)/補助型(AUXILIARY)のどれか1つに分類されます。
型 | 説明 |
---|---|
抽象型 | 他のオブジェクトクラスを定義するために用意されたオブジェクトクラスです。topがこの型の代表例となります。 |
構造型 | そのクラスを使用してエントリを作成することができるオブジェクトクラスです。エントリは、必ずどれかの構造型オブジェクトクラスに属さなければなりません。 |
補助型 | 単独ではエントリを作成することはできず、ほかの構造型オブジェクトクラスと併用して、エントリを作成することができるオブジェクトクラスです。補助型オブジェクトクラスだけに属するエントリは存在できません。 |
必須属性
そのオブジェクトクラスを使用する際、必ず登録しなければならない属性です。
オプション属性
そのオブジェクトクラスを使用する際、付加情報として使用する属性(必須ではない)です。
Interstage ディレクトリサービスで使用できるオブジェクトクラス定義については、“付録A オブジェクトクラス一覧”を参照してください。
属性型定義は、以下の要素から構成されます。
属性型のOID
属性型の名前
基底属性型
照合規則
同値性の照合規則
順序性の照合規則
部分文字列一致の照合規則
属性構文
シングルフラグ
属性型の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が使用できます。(文字列型) |
Facsimile Telephone Number | PrintableStringと同様の文字が使用できます。(文字列型) |
Generalized Time | ローカル時刻(YYYYMMDDhhmmss.p形式、またはYYYYMMDDhhmmss.p(+|-HHMM)形式)、または国際標準時刻(YYYYMMDDhhmmss.pZ形式)が使用できます。(文字列型) |
IA5 String | CCITT国際アルファベット No.5(ASCII文字相当)が使用できます。(文字列型) |
INTEGER | 数字が使用できます。(数値型) |
JPEG | JPEGデータが使用できます。(バイナリ型) |
Name And Optional UID | 「<DN>#<ビット列>」の形式の文字列です。「#<ビット列>」の部分はオプションです。(文字列型) |
Numeric String | 数字(0から9)およびスペースが使用できます。(文字列型) |
Octet String | バイト列(各バイトは、0x00~0xFFの任意の値)が使用できます。(文字列型) |
OID | OIDが使用できます。(文字列型) |
Other Mailbox | X.400とRFC822以外の電子メールボックスデータが使用できます。 形式は以下のとおりです。(文字列型) |
Postal Address | Directory Stringで扱える範囲(Unicode)が使用できます。(文字列型) |
Printable String | 英数字文字および以下の記号が使用できます。(文字列型)
|
Supported Algorithm | supportAlgorithm属性の構文です。(バイナリ型) |
Telephone Number | Printable Stringと同様の文字が使用できます。(文字列型) 検索時にtelephoneNumber=0123456789で検索した場合 |
Telex Number | テレックス番号が使用できます。形式は以下のとおりです。(文字列型) actual-number "$" country "$" answerback 上記では、actual-numberは暗号化されるテレックス番号の番号部を構文的に表示したもので、countryはテレックスの国コード、answerbackはテレックスターミナルの返信コードです。 |
属性値を1つまたは複数を設定できるかどうかを表します。
たとえば、電話番号は複数の属性値を使用することがありますが、従業員番号は複数の属性値を使用すると差し支えがあります。このような場合に、シングルフラグを真にします。
Interstage ディレクトリサービスで使用できる属性型定義、属性構文定義、および、照合規則定義については、“付録B 属性一覧”を参照してください。