OpenLDAPのスキーマ解説

OpenLDAPでは利用したいスキーマをincludeして利用します。

そのスキーマについての解説をします。

 

 

OpenLDAPのスキーマについて

スキーマファイルは、/etc/ldap/schema/内に、”***.schema”ファイルで定義されており、この中で定義されたオブジェクトと要素に沿ってツリー構造を作成して行きます。

また、目的にあった要素が見つからない場合は、 ユーザ自らが独自のスキーマファイルを作成し利用することもできます。

 

 

スキーマの利用方法

スキーマは、slapd.confでincludeする事により利用可能になります。

もし、デフォルトの意外に利用したいスキーマがあれば、include構文で追加します。

例)slapd.conf

# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include		/etc/openldap/schema/core.schema
include		/etc/openldap/schema/cosine.schema
include		/etc/openldap/schema/inetorgperson.schema
include		/etc/openldap/schema/nis.schema
include		/etc/openldap/schema/samba.schema <---SambaLdap用スキーマの追加例
include		/etc/openldap/schema/mail.schema <---独自定義のスキーマの追加例

 

 

OpenLDAPで用意されているスキーマ

デフォルトで用意されているスキーマの一覧です。

スキーマファイル 内容
core.schema OpenLDAPのコアスキーマ(必項)
cosine.schem Cosine and Internet X.500スキーマ(RFC 1274)
inetorgperson.schema InetOrgPersonスキーマ(RFC 2798)
nis.schema Network Infomation Servicesスキーマ(RFC 2307)
java.schema Javaスキーマ(RFC 2713)
corba.schema CORBAスキーマ(RFC 2714)
openldap.schema OpenLDAP Projectの実験用スキーマ
misc.schema その他実験用スキーマ

 

 

スキーマファイルの書式

データ属性のattributetypeとオブジェクトクラスのobjectClassの書式を示します。

また、それに指定する定義の一覧を記載します。

データ属性の定義

attributetype (オブジェクト識別子 NAME '属性名'
		DESC '説明'
		EQUALITY 照合規則
		SYNTAX データ型 キーワード)

 

オブジェクト識別子 ローカルで利用する場合は、1.1台が利用できます。
属性名 属性の名称です。
説明 属性の説明です。
照合規則 照合規則を設定します。
データ型 データ型を設定します。
キーワード データに関するOption

 

オブジェクトクラス定義

objectClass (オブジェクト識別子 NAME 'オブジェクト名'
		DESC '説明'
		SUP 基底オブジェクトクラス
		MUST ( 必項属性 )
		MAY  ( オプション属性 ))

 

オブジェクト識別子 ローカルで利用する場合は、1.1台が利用できます。
オブジェクト名 オブジェクトの名称です。
説明 オブジェクトクラスの説明です。
基底オブジェクトクラス ここに指定したオブジェクトクラスの属性を利用できます。(継承)
必項属性 必ず利用しなければ行けない属性を指定(複数指定する場合は、$ で区切ります)
オプション属性 利用できる(しなくても良い)属性を指定(複数指定する場合は、$ で区切ります)

 

 

スキーマで利用するデータ定義

OIDの割り当て(1.1台)

OID 割り当て
1.1 組織に割り当てられるOID
1.1.1 SNMP要素
1.1.2 LDAP要素
1.1.2.1 属性型群
1.1.2.1.1 単一の属性
1.1.2.2 オブジェクトクラス群
1.1.2.2.1 単一のオブジェクトクラス

 

照合規則(EQUALITY)

等価照合規則

OID 名前 説明
2.5.13.0 objectLdentiferMatch OID
2.5.13.1 distinguishedNameMatch DN
2.5.13.2 caseIgnoreMatch 英大小文字区別なし、スペース無視
2.5.13.5 caseExactMatch 英大小文字区別あり、スペース無視
2.5.13.8 numericStringMatch 数値文字列
2.5.13.13 booleanMatch 真偽値(TRUE/FALSE)
2.5.13.17 octetStringMatch 任意のオクテット文字列
2.5.13.23 uniqueMemberMatch オプションでUIDの付いた名前
1.3.6.1.4.1.1466.109.114.1 caseExactIA5Match ASCII文字列の英大小文字区別あり、スペース無視
1.3.6.1.4.1.1466.109.114.1 caseIgnoreIA5Match ASCII文字列の英大小文字区別あり、スペース無視

順序照合規則

OID 名前 説明
2.5.13.3 caseIgnoreOrderingMatch 英大小文字区別なし、スペース無視
2.5.14.6 caseExactOrderingMatch 英大小文字区別あり、スペース無視
2.5.13.15 numericStringOrderingMatch 数値文字列

部分文字列照合規則

OID 名前 説明
2.5.13.4 caseIgnoreSubstringsMatch 英大小文字区別なし、スペース無視
2.5.13.7 caseExactSubstringsMatch 英大小文字区別あり、スペース無視
2.5.13.10 numericStringSubstringsMatch 数値文字列

データ型(SYNTAX)

OID 説明
1.3.6.1.4.1.1466.115.121.1.7 TRUE or FALSE
1.3.6.1.4.1.1466.115.121.1.12 Dn形式の文字列
1.3.6.1.4.1.1466.115.121.1.15 UTF-8文字列
1.3.6.1.4.1.1466.115.121.1.26 ASCII文字列
1.3.6.1.4.1.1466.115.121.1.27 整数値
1.3.6.1.4.1.1466.115.121.1.28 JFIFエンコードされたJPEG画像
1.3.6.1.4.1.1466.115.121.1.34 DnおよびUID
1.3.6.1.4.1.1466.115.121.1.36 数値文字列
1.3.6.1.4.1.1466.115.121.1.38 OID形式の文字列
1.3.6.1.4.1.1466.115.121.1.40 任意のオクテット文字列
1.3.6.1.4.1.1466.115.121.1.41 住所([$]で区切ったUTF-8文字列)
1.3.6.1.4.1.1466.115.121.1.44 表示可能な文字列
1.3.6.1.4.1.1466.115.121.1.50 電話番号

キーワード

説明
SINGLE-VALUE 単一値のみ持てる
NO-USER-MODIFICATION サービス利用者が値を更新することを禁止

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">