メインコンテンツまでスキップ

3.3. 構文定義 (A-J)

3.3.1. 属性タイプ記述

Attribute Type Description (属性タイプ記述) 構文の値は、属性タイプの定義です。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <AttributeTypeDescription> 規則によって定義されます。

例えば、[RFC4512] の createTimestamp 属性タイプの以下の定義も、Attribute Type Description 構文の値です。(注: 読みやすくするために改行が追加されています。プロトコルで転送される場合、これらは値の一部ではありません。)

( 2.5.18.1 NAME 'createTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

Attribute Type Description 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Description' )

この構文は [X.501] の AttributeTypeDescription ASN.1 タイプに対応しています。

3.3.2. ビット文字列

Bit String (ビット文字列) 構文の値は、2進数のシーケンスです。この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:

BitString    = SQUOTE *binary-digit SQUOTE "B"
binary-digit = "0" / "1"

<SQUOTE> 規則は [RFC4512] で定義されています。

例: '0101111101'B

Bit String 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' )

この構文は [ASN.1] の BIT STRING ASN.1 タイプに対応しています。

3.3.3. ブール値

Boolean (ブール値) 構文の値は、ブール値の true または false のいずれかです。この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:

Boolean = "TRUE" / "FALSE"

Boolean 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )

この構文は [ASN.1] の BOOLEAN ASN.1 タイプに対応しています。

3.3.4. 国名コード文字列

Country String (国名コード文字列) 構文の値は、国を表すための ISO 3166 [ISO3166] の2文字コードのいずれかです。この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:

CountryString  = 2(PrintableCharacter)

<PrintableCharacter> 規則は第 3.2 節で定義されています。

例:

US
AU

Country String 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )

この構文は [X.520] の以下の ASN.1 タイプに対応しています:

PrintableString (SIZE (2)) -- ISO 3166 codes only

3.3.5. 配信方法

Delivery Method (配信方法) 構文の値は、エンティティがメッセージを受信する意志がある、および/または受信可能なサービスの優先順位付きリストを示す項目のシーケンスです。この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:

DeliveryMethod = pdm *( WSP DOLLAR WSP pdm )

pdm = "any" / "mhs" / "physical" / "telex" / "teletex" /
"g3fax" / "g4fax" / "ia5" / "videotex" / "telephone"

<WSP> および <DOLLAR> 規則は [RFC4512] で定義されています。

例: telephone $ videotex

Delivery Method 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.14 DESC 'Delivery Method' )

この構文は [X.520] の以下の ASN.1 タイプに対応しています:

SEQUENCE OF INTEGER {
any-delivery-method (0),
mhs-delivery (1),
physical-delivery (2),
telex-delivery (3),
teletex-delivery (4),
g3-facsimile-delivery (5),
g4-facsimile-delivery (6),
ia5-terminal-delivery (7),
videotex-delivery (8),
telephone-delivery (9) }

3.3.6. ディレクトリ文字列

Directory String (ディレクトリ文字列) 構文の値は、Universal Character Set (UCS) [UCS] からの1文字以上の任意の文字の文字列です。長さゼロの文字列は許可されません。この構文の値の LDAP 固有エンコーディングは、文字列の UTF-8 エンコーディング [RFC3629] です。このようなエンコーディングは、以下の ABNF に準拠します:

DirectoryString = 1*UTF8

<UTF8> 規則は [RFC4512] で定義されています。

例: This is a value of Directory String containing #!%#@.

サーバーおよびクライアントは、印刷可能な ASCII の範囲外のコードポイントや、現在どの文字にも割り当てられていないコードポイントを含む、任意の UCS コードポイントを受信する準備ができている必要があります (MUST)。

Directory String 構文を使用する属性タイプ定義は、例えば ABNF で記述された特定のパターンに文字列が準拠することを要求するなどして、Directory String 値の形式を制限すべきではありません。そのような場合は、新しい構文を定義すべきです。

Directory String 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' )

この構文は [X.520] の DirectoryString パラメータ化 ASN.1 タイプに対応しています。

DirectoryString ASN.1 タイプは、[ASN.1] の TeletexString、PrintableString、または UniversalString ASN.1 タイプの選択を許可します。ただし、選択された代替手段は、Directory String 値の LDAP 固有エンコーディングでは示されないことに注意してください。

Directory String 値を LDAP 固有エンコーディングから X.500 で使用される BER エンコーディングに変換する実装は、文字列内の特定の文字を許可する代替手段を選択しなければならず、文字を UTF-8 エンコーディングから選択された代替手段の文字エンコーディングに変換しなければなりません。Directory String 値を BER エンコーディングから LDAP 固有エンコーディングに変換する場合、文字は選択された代替手段の文字エンコーディングから UTF-8 エンコーディングに変換されなければなりません。これらの変換は、LDAP のための文字列準備アルゴリズム [RFC4518] の Transcode ステップと一致する方法で行われるべきです (SHOULD)。

3.3.7. DIT コンテンツ規則記述

DIT Content Rule Description (DIT コンテンツ規則記述) 構文の値は、DIT (Directory Information Tree) コンテンツ規則の定義です。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <DITContentRuleDescription> 規則によって定義されます。

例:

( 2.5.6.4 DESC 'content rule for organization'
NOT ( x121Address $ telexNumber ) )

注: 読みやすくするために改行が追加されています。これは値の一部ではありません。

DIT Content Rule Description 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.16
DESC 'DIT Content Rule Description' )

この構文は [X.501] の DITContentRuleDescription ASN.1 タイプに対応しています。

3.3.8. DIT 構造規則記述

DIT Structure Rule Description (DIT 構造規則記述) 構文の値は、DIT 構造規則の定義です。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <DITStructureRuleDescription> 規則によって定義されます。

例: ( 2 DESC 'organization structure rule' FORM 2.5.15.3 )

DIT Structure Rule Description 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.17
DESC 'DIT Structure Rule Description' )

この構文は [X.501] の DITStructureRuleDescription ASN.1 タイプに対応しています。

3.3.9. DN

DN 構文の値は、エントリの (称する) 識別名 (DN) です [RFC4512]。この構文の値の LDAP 固有エンコーディングは、識別名の文字列表現 [RFC4514] の <distinguishedName> 規則によって定義されます。

例 ([RFC4514] より):

UID=jsmith,DC=example,DC=net
OU=Sales+CN=J. Smith,DC=example,DC=net
CN=John Smith\, III,DC=example,DC=net
CN=Before\0dAfter,DC=example,DC=net
1.3.6.1.4.1.1466.0=#04024869,DC=example,DC=com
CN=Lu\C4\8Di\C4\87

DN 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' )

DN 構文は [X.501] の DistinguishedName ASN.1 タイプに対応しています。BER エンコードされた識別名 (X.500 で使用されるもの) を LDAP 固有エンコーディングに再エンコードした場合、識別名の LDAP 固有エンコーディングでは識別名の DirectoryString コンポーネントで選択された文字列タイプが示されないため (第 3.3.6 節参照)、必ずしも元の BER エンコーディングに戻せるとは限らないことに注意してください。

3.3.10. 拡張ガイド

Enhanced Guide (拡張ガイド) 構文の値は、特定のオブジェクトクラスのエントリを検索するためのフィルタを構築する際に使用される、属性タイプとフィルタ演算子の組み合わせで構成される基準を示唆します。Enhanced Guide 構文は、推奨される検索深度を指定できるようにすることで、Guide 構文を改良しています。

この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:

EnhancedGuide = object-class SHARP WSP criteria WSP
SHARP WSP subset
object-class = WSP oid WSP
subset = "baseobject" / "oneLevel" / "wholeSubtree"

criteria = and-term *( BAR and-term )
and-term = term *( AMPERSAND term )
term = EXCLAIM term /
attributetype DOLLAR match-type /
LPAREN criteria RPAREN /
true /
false
match-type = "EQ" / "SUBSTR" / "GE" / "LE" / "APPROX"
true = "?true"
false = "?false"
BAR = %x7C ; 垂直バー ("|")
AMPERSAND = %x26 ; アンパサンド ("&")
EXCLAIM = %x21 ; 感嘆符 ("!")

<SHARP>, <WSP>, <oid>, <LPAREN>, <RPAREN>, <attributetype>, および <DOLLAR> 規則は [RFC4512] で定義されています。

Enhanced Guide 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.21 DESC 'Enhanced Guide' )

例: person#(sn$EQ)#oneLevel

Enhanced Guide 構文は [X.520] の EnhancedGuide ASN.1 タイプに対応しています。EnhancedGuide タイプは、同じく [X.520] の Criteria ASN.1 タイプを参照しています。上記の <true> 規則は、Criteria タイプの値における空の "and" 式を表します。上記の <false> 規則は、Criteria タイプの値における空の "or" 式を表します。

3.3.11. ファクシミリ電話番号

Facsimile Telephone Number (ファクシミリ電話番号) 構文の値は、公衆交換電話網上のファクシミリ装置の加入者番号です。この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:

fax-number       = telephone-number *( DOLLAR fax-parameter )
telephone-number = PrintableString
fax-parameter = "twoDimensional" /
"fineResolution" /
"unlimitedLength" /
"b4Length" /
"a3Width" /
"b4Width" /
"uncompressed"

<telephone-number> は、国際電話番号を表すための国際的に合意された形式 [E.123] に準拠する印刷可能な文字の文字列です。<PrintableString> 規則は第 3.2 節で定義されています。<DOLLAR> 規則は [RFC4512] で定義されています。

Facsimile Telephone Number 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number')

Facsimile Telephone Number 構文は [X.520] の FacsimileTelephoneNumber ASN.1 タイプに対応しています。

3.3.12. ファックス

Fax (ファックス) 構文の値は、メモなどのオブジェクトを複製するためにグループ 3 ファクシミリプロセス [FAX] を使用して生成された画像です。この構文の値の LDAP 固有エンコーディングは、[FAX] で定義されているグループ 3 ファックス画像のオクテット列です。

Fax 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' )

Fax 構文に対応する ASN.1 タイプは、EXPLICIT TAGS を仮定すると、以下のように定義されます:

Fax ::= CHOICE {
g3-facsimile [3] G3FacsimileBodyPart
}

G3FacsimileBodyPart ASN.1 タイプは [X.420] で定義されています。

3.3.13. 一般化時刻

Generalized Time (一般化時刻) 構文の値は、日付と時刻を表す文字列です。この構文の値の LDAP 固有エンコーディングは、[ISO8601] で定義された形式の制限であり、以下の ABNF によって記述されます:

GeneralizedTime = century year month day hour
[ minute [ second / leap-second ] ]
[ fraction ]
g-time-zone

century = 2(%x30-39) ; "00" to "99"
year = 2(%x30-39) ; "00" to "99"
month = ( %x30 %x31-39 ) ; "01" (January) to "09"
/ ( %x31 %x30-32 ) ; "10" to "12"
day = ( %x30 %x31-39 ) ; "01" to "09"
/ ( %x31-32 %x30-39 ) ; "10" to "29"
/ ( %x33 %x30-31 ) ; "30" to "31"
hour = ( %x30-31 %x30-39 ) / ( %x32 %x30-33 ) ; "00" to "23"
minute = %x30-35 %x30-39 ; "00" to "59"

second = ( %x30-35 %x30-39 ) ; "00" to "59"
leap-second = ( %x36 %x30 ) ; "60"

fraction = ( DOT / COMMA ) 1*(%x30-39)
g-time-zone = %x5A ; "Z"
/ g-differential
g-differential = ( MINUS / PLUS ) hour [ minute ]
MINUS = %x2D ; マイナス記号 ("-")

<DOT>, <COMMA>, および <PLUS> 規則は [RFC4512] で定義されています。

上記の ABNF は、有効な日付 (グレゴリオ暦において) および/または有効な時刻 (例えば、1994年2月31日) を表さない文字列を許可しています。そのような文字列は、この構文では無効と見なされるべき (SHOULD) です。

<g-time-zone> の "Z" 形式が使用される場合、時刻値は協定世界時 (グリニッジ標準時と同等) を表します。それ以外の場合、値は <g-differential> で示されるタイムゾーンの現地時間を表します。後者の場合、協定世界時は現地時間から差分を引くことで計算できます。<g-time-zone> の "Z" 形式は、<g-differential> よりも優先して使用されるべき (SHOULD) です。

<minute> が省略された場合、<fraction> は時間の小数を表します。それ以外で、<second> および <leap-second> が省略された場合、<fraction> は分の小数を表します。それ以外の場合、<fraction> は秒の小数を表します。

例:

199412161032Z
199412160532-0500

両方の例の値は、同じ協定世界時、1994年12月16日午前10時32分を表しています。

Generalized Time 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )

この構文は [ASN.1] の GeneralizedTime ASN.1 タイプに対応していますが、差分のない現地時間は使用してはならない (SHALL NOT) という制約があります。

3.3.14. ガイド

Guide (ガイド) 構文の値は、特定のオブジェクトクラスのエントリを検索するためのフィルタを構築する際に使用される、属性タイプとフィルタ演算子の組み合わせで構成される基準を示唆します。Guide 構文は廃止されており、新しい属性タイプの定義には使用すべきではありません。

この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:

Guide = [ object-class SHARP ] criteria

<object-class> および <criteria> 規則は第 3.3.10 節で定義されています。<SHARP> 規則は [RFC4512] で定義されています。

Guide 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.25 DESC 'Guide' )

Guide 構文は [X.520] の Guide ASN.1 タイプに対応しています。

3.3.15. IA5 文字列

IA5 String (IA5 文字列) 構文の値は、ASCII 文字セットの国際版である International Alphabet 5 (IA5) [T.50] からの、ゼロ、1つ、または複数の文字の文字列です。この構文の値の LDAP 固有エンコーディングは、第 3.2 節の <IA5String> 規則に準拠する未変換の文字列です。

IA5 String 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' )

この構文は [ASN.1] の IA5String ASN.1 タイプに対応しています。

3.3.16. 整数

Integer (整数) 構文の値は、無制限の大きさの整数です。この構文の値の LDAP 固有エンコーディングは、オプションで符号付きの10進数字文字列による数値の表現です (例えば、数値 1321 は文字列 "1321" で表されます)。エンコーディングは以下の ABNF によって定義されます:

Integer = ( HYPHEN LDIGIT *DIGIT ) / number

<HYPHEN>, <LDIGIT>, <DIGIT>, および <number> 規則は [RFC4512] で定義されています。

Integer 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'INTEGER' )

この構文は [ASN.1] の INTEGER ASN.1 タイプに対応しています。

3.3.17. JPEG

JPEG 構文の値は、[JPEG] で記述されている JPEG File Interchange Format (JFIF) の画像です。この構文の値の LDAP 固有エンコーディングは、画像の JFIF エンコーディングのオクテット列です。

JPEG 構文の LDAP 定義は以下の通りです:

( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' )

JPEG 構文は以下の ASN.1 タイプに対応しています:

JPEG ::= OCTET STRING (CONSTRAINED BY
{ -- contents octets are an image in the --
-- JPEG File Interchange Format -- })