/etc/openldap/schemaのcore.schmaを開いたら、暗号すぎてわけがわからなかったので調査
LDAP attribute構成要素は、
attributeのOID(ObjectID),
Description,
attributeを検索する際の照合規則
attributeのデータ型(OIDで指定。StringとかIntegerとか)
から成る。
attributetype
( 1.1.2.1.1 Name 'myName'
DESC 'unique name with my company'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
例えば上の例だと、『OID 1.1.2.1.1、myNameっていう名前の、自社固有のAttributeをString型で定義する。照合条件は大文字小文字を無視。』という意味。
Attributeの構成要素
Type | Meaning |
---|---|
OID | attributeのObjectID |
NAME | attributeの名前 |
DESC | DESCription 詳細。 |
照合規則 | EQUALITY(完全一致照合) ORDERING(順序性照合規則) SUBSTR(部分一致照合) のいずれか、あるいは複数を規定する |
SYNTAX | attributeのデータ型をOIDで指定する。 例えば文字列型なら、1.3.6.1.4.1.1466.115.121.1.12 |
照合規則
EQUALITY(どういった条件で一致とみなすか)
ORDERING(大小検索照合)
SUBSTR(文字列部分一致の照合)
の3つがある。規則によって適用できるattributeは異なる。
当たり前だけど、integerMatchとかなら、INTEGER型のattributeに設定しないと無意味。
EQUALITY(同値性)
どんな場合に一致しているとみなすか
EQUALITY | Meaning | attribute Syntax |
---|---|---|
booleanMatch | True/Falseで一致 | Boolean |
caseIgnoreMatch | 大文字小文字を区別しない、スペース無視 | Directory String |
caseExactMatch | 大文字小文字区別、スペース無視 | Directory String |
distinguished NameMatch |
識別名一致 | Distinguished Name syntax |
integerMatch | 整数一致 | Integer |
octetStringMatch | オクテット文字列一致 | OctetString |
ORDERING
大小関係や辞書順で照合する際に適用される
ORDERING | Meaning | attribute Syntax |
---|---|---|
caseIgnore OrderingMatch |
大文字小文字区別なし。スペース無視。辞書順で大小比較 | Directory String |
caseExact OrderingMatch |
大文字小文字区別有。スペース無視。辞書順で大小比較 | Directory String |
integer OrderingMatch |
整数で比較 | Integer |
numericString OrderingMatch |
数値で比較 | Numeric String |
SUBSTR
部分一致照合
SUBSTR | Meaning | attribute Syntax |
---|---|---|
caseIgnore SubstringsMatch |
大文字小文字区別なし。スペース無視 | Directory String |
caseExact SubStringMatch |
大文字小文字区別有。スペース無視 | Directory String |
SYNTAXの種類
ここはITUとかに規定されているので、全世界共通。最悪1.3.6.1.4.1.1466.115.121.1.5とかで丸ごとググれば、何の型だか分かる。
SYNTAX OID | 属性 | 説明 |
---|---|---|
1.3.6.1.4.1.1466.115.121.1.5 | Binary | |
1.3.6.1.4.1.1466.115.121.1.8 | Certificate | |
1.3.6.1.4.1.1466.115.121.1.9 | Certificate List | |
1.3.6.1.4.1.1466.115.121.1.10 | Certificate Pair | |
1.3.6.1.4.1.1466.115.121.1.11 | Country String | |
1.3.6.1.4.1.1466.115.121.1.12 | Distinguished Name(DN) | dnを入れられる。 EX:cn=UserA,o=ABC_Corp,dc=com |
1.3.6.1.4.1.1466.115.121.1.15 | Directory String | |
1.3.6.1.4.1.1466.115.121.1.20 | Enhanced Guide | |
1.3.6.1.4.1.1466.115.121.1.21 | Fax Tel No | |
1.3.6.1.4.1.1466.115.121.1.22 | Fax | |
1.3.6.1.4.1.1466.115.121.1.23 | Generalized Time | |
1.3.6.1.4.1.1466.115.121.1.24 | Guide | |
1.3.6.1.4.1.1466.115.121.1.25 | IA5 String | |
1.3.6.1.4.1.1466.115.121.1.26 | Integer | |
1.3.6.1.4.1.1466.115.121.1.27 | JPEG | |
1.3.6.1.4.1.1466.115.121.1.28 | LDAP Syntax Description |