Network Working Group T. Howes Request for Comments: 2891 Loudcloud Category: Standards Track M. Wahl Sun Microsystems A. Anantha Microsoft August 2000
LDAP Control Extension for Server Side Sorting of Search Results
Status of this Memo
このメモの位置付け
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (2000). All Rights Reserved.
著作権(C)インターネット協会(2000)。全著作権所有。
Abstract
抽象
This document describes two LDAPv3 control extensions for server side sorting of search results. These controls allows a client to specify the attribute types and matching rules a server should use when returning the results to an LDAP search request. The controls may be useful when the LDAP client has limited functionality or for some other reason cannot sort the results but still needs them sorted. Other permissible controls on search operations are not defined in this extension.
この文書は、検索結果のサーバー側のソートのための2つのLDAPv3制御拡張機能について説明します。これらのコントロールは、クライアントが属性タイプを指定することができますし、マッチングがLDAP検索要求に結果を返すときにサーバーが使用するルール。 LDAPクライアントは、機能や結果を並べ替えることはできません何らかの理由が制限されていたときにコントロールが有用であるかもしれないが、それでも彼らは、ソートが必要です。検索操作上の他の許容コントロールは、この拡張で定義されていません。
The sort controls allow a server to return a result code for the sorting of the results that is independent of the result code returned for the search operation.
ソートコントロールは、サーバーが検索操作のために返される結果コードとは独立した結果のソートに結果コードを返すことができます。
The key words "MUST", "SHOULD", and "MAY" used in this document are to be interpreted as described in [bradner97].
キーワード「MUST」、「SHOULD」、および本書で使用される「MAY」は[bradner97]で説明されるように解釈されるべきです。
This control is included in the searchRequest message as part of the controls field of the LDAPMessage, as defined in Section 4.1.12 of [LDAPv3].
【のLDAPv3]のセクション4.1.12で定義されるように、この制御は、たLDAPMessageの制御フィールドの一部としてsearchRequestメッセージに含まれています。
The controlType is set to "1.2.840.113556.1.4.473". The criticality MAY be either TRUE or FALSE (where absent is also equivalent to FALSE) at the client's option. The controlValue is an OCTET STRING, whose value is the BER encoding of a value of the following SEQUENCE:
controlTypeは「1.2.840.113556.1.4.473」に設定されています。重要度は、クライアントの選択で(不在もFALSEと同等である場合)、TRUEまたはFALSEのいずれであってもよいです。 controlValueは、その値以下の配列の値のBER符号化されたOCTET STRING、です。
SortKeyList ::= SEQUENCE OF SEQUENCE { attributeType AttributeDescription, orderingRule [0] MatchingRuleId OPTIONAL, reverseOrder [1] BOOLEAN DEFAULT FALSE }
The SortKeyList sequence is in order of highest to lowest sort key precedence.
SortKeyListシーケンスは最低のソートキーの優先順位を最上位の順です。
The MatchingRuleId, as defined in section 4.1.9 of [LDAPv3], SHOULD be one that is valid for the attribute type it applies to. If it is not, the server will return inappropriateMatching.
MatchingRuleIdは、[LDAPv3の]のセクション4.1.9で定義されているように、属性は、それが適用されるタイプに対して有効であるものでなければなりません。そうでない場合は、サーバがinappropriateMatchingを返します。
Each attributeType should only occur in the SortKeyList once. If an attributeType is included in the sort key list multiple times, the server should return an error in the sortResult of unwillingToPerform.
各とattributeTypeは、一度だけSortKeyListに発生する必要があります。 attributeTypeがソートキーリストを複数回に含まれている場合、サーバーはunwillingToPerformのsortResultにエラーを返す必要があります。
If the orderingRule is omitted, the ordering MatchingRule defined for use with this attribute MUST be used.
orderingRuleが省略された場合は、この属性で使用するために定義された順序付けMatchingRuleを使用しなければなりません。
Any conformant implementation of this control MUST allow a sort key list with at least one key.
このコントロールの任意の準拠の実装は、少なくとも1つのキーでソートキーリストを許容しなければなりません。
This control is included in the searchResultDone message as part of the controls field of the LDAPMessage, as defined in Section 4.1.12 of [LDAPv3].
【のLDAPv3]のセクション4.1.12で定義されるように、この制御は、たLDAPMessageの制御フィールドの一部としてsearchResultDoneメッセージに含まれています。
The controlType is set to "1.2.840.113556.1.4.474". The criticality is FALSE (MAY be absent). The controlValue is an OCTET STRING, whose value is the BER encoding of a value of the following SEQUENCE:
controlTypeは「1.2.840.113556.1.4.474」に設定されています。重要度は、(存在しなくてもよい)FALSEです。 controlValueは、その値以下の配列の値のBER符号化されたOCTET STRING、です。
SortResult ::= SEQUENCE { sortResult ENUMERATED { success (0), -- results are sorted operationsError (1), -- server internal failure timeLimitExceeded (3), -- timelimit reached before -- sorting was completed strongAuthRequired (8), -- refused to return sorted -- results via insecure -- protocol adminLimitExceeded (11), -- too many matching entries -- for the server to sort noSuchAttribute (16), -- unrecognized attribute -- type in sort key inappropriateMatching (18), -- unrecognized or -- inappropriate matching -- rule in sort key insufficientAccessRights (50), -- refused to return sorted -- results to this client busy (51), -- too busy to process unwillingToPerform (53), -- unable to sort other (80) }, attributeType [0] AttributeDescription OPTIONAL }
The sortKeyRequestControl specifies one or more attribute types and matching rules for the results returned by a search request. The server SHOULD return all results for the search request in the order specified by the sort keys. If the reverseOrder field is set to TRUE, then the entries will be presented in reverse sorted order for the specified key.
sortKeyRequestControlは、検索リクエストで返された結果のために1つ以上の属性タイプと一致ルールを指定します。サーバーは、ソート・キーによって指定された順に検索要求のためにすべての結果を返すべきです。逆順フィールドがTRUEに設定されている場合は、そのエントリが指定されたキーの逆のソート順に表示されます。
There are six possible scenarios that may occur as a result of the sort control being included on the search request:
検索要求に含まれているソート制御の結果として生じ得る6つの可能なシナリオがあります。
1 - If the server does not support this sorting control and the client specified TRUE for the control's criticality field, then the server MUST return unavailableCriticalExtension as a return code in the searchResultDone message and not send back any other results. This behavior is specified in section 4.1.12 of [LDAPv3].
1 - サーバは、この仕分けコントロールとコントロールの臨界分野についてTRUE指定されたクライアントをサポートしていない場合は、サーバはsearchResultDoneのメッセージ内の戻りコードとしてunavailableCriticalExtensionを返し、その他の結果を返送しないしなければなりません。この動作は、[のLDAPv3]のセクション4.1.12に指定されています。
2 - If the server does not support this sorting control and the client specified FALSE for the control's criticality field, then the server MUST ignore the sort control and process the search request as if it were not present. This behavior is specified in section 4.1.12 of [LDAPv3].
2 - コントロールのクリティカルフィールドにFALSE指定されたサーバーは、この仕分け制御をサポートしていない場合は、クライアント、サーバはソート制御を無視しなければなりませんし、それが存在しないかのように、検索要求を処理します。この動作は、[のLDAPv3]のセクション4.1.12に指定されています。
3 - If the server supports this sorting control but for some reason cannot sort the search results using the specified sort keys and the client specified TRUE for the control's criticality field, then the server SHOULD do the following: return unavailableCriticalExtension as a return code in the searchResultDone message; include the sortKeyResponseControl in the searchResultDone message, and not send back any search result entries.
3 - サーバーは、この仕分け制御をサポートしていますが、何らかの理由で指定されたソート・キーとコントロールの臨界分野についてTRUE指定されたクライアントを使用して、検索結果を並べ替えることができない場合は、サーバーは、次の操作を行う必要があります。中のリターンコードとして返さunavailableCriticalExtensionをsearchResultDoneメッセージ。 searchResultDoneメッセージにsortKeyResponseControlを含めると、任意の検索結果エントリを返送しません。
4 - If the server supports this sorting control but for some reason cannot sort the search results using the specified sort keys and the client specified FALSE for the control's criticality field, then the server should return all search results unsorted and include the sortKeyResponseControl in the searchResultDone message.
4 - サーバは、この仕分け制御をサポートしていますが、何らかの理由で指定されたソート・キーを使用して、検索結果を並べ替えることができないと、クライアントがコントロールの臨界フィールドにFALSEを指定した場合、サーバはソートされていないすべての検索結果を返し、searchResultDoneでsortKeyResponseControlを含める必要がありますメッセージ。
5 - If the server supports this sorting control and can sort the search results using the specified sort keys, then it should include the sortKeyResponseControl in the searchResultDone message with a sortResult of success.
5 - サーバは、この仕分け制御をサポートし、指定されたソート・キーを使用して、検索結果を並べ替えることができれば、それは成功のsortResultとsearchResultDoneメッセージにsortKeyResponseControlを含める必要があります。
6 - If the search request failed for any reason and/or there are no searchResultEntry messages returned for the search response, then the server SHOULD omit the sortKeyResponseControl from the searchResultDone message.
6 - 検索要求が何らかの理由で失敗したおよび/またはメッセージが検索応答を返さ一切のSearchResultEntryがない場合、サーバはsearchResultDoneメッセージからsortKeyResponseControlを省略すべきです。
The client application is assured that the results are sorted in the specified key order if and only if the result code in the sortKeyResponseControl is success. If the server omits the sortKeyResponseControl from the searchResultDone message, the client SHOULD assume that the sort control was ignored by the server.
クライアントアプリケーションは、結果がsortKeyResponseControlに結果コードが成功の場合にだけ、指定されたキー順にソートされていることが保証されます。サーバはsearchResultDoneメッセージからsortKeyResponseControlを省略した場合、クライアントは、ソート制御がサーバによって無視されたことを前提とすべきです。
The sortKeyResponseControl, if included by the server in the searchResultDone message, should have the sortResult set to either success if the results were sorted in accordance with the keys specified in the sortKeyRequestControl or set to the appropriate error code as to why it could not sort the data (such as noSuchAttribute or inappropriateMatching). Optionally, the server MAY set the attributeType to the first attribute type specified in the SortKeyList that was in error. The client SHOULD ignore the attributeType field if the sortResult is success.
結果はsortKeyRequestControlに指定されたキーに基づいてソートしたり、それが並べ替えることができなかった理由として、適切なエラーコードに設定された場合sortKeyResponseControlは、searchResultDoneメッセージ内のサーバーによって含まれている場合、成功のいずれかにsortResultを設定しておく必要があります(例えばnoSuchAttribute又はinappropriateMatchingなど)のデータ。必要に応じて、サーバがエラーにあったSortKeyListで指定された最初の属性タイプへとattributeTypeを設定することができます。 sortResultが成功の場合、クライアントはとattributeTypeフィールドを無視する必要があります。
The server may not be able to sort the results using the specified sort keys because it may not recognize one of the attribute types, the matching rule associated with an attribute type is not applicable, or none of the attributes in the search response are of these types. Servers may also restrict the number of keys allowed in the control, such as only supporting a single key.
それは、属性タイプのいずれかを認識しないかもしれない属性タイプに関連付けられたマッチングルールが適用されない、または検索応答で属性のどれもが、これらのうちではないため、サーバーは、指定されたソート・キーを使用して結果をソートすることができないかもしれませんタイプ。サーバはまた、単一のキーをサポートするなどの制御で許可キーの数を制限することができます。
Servers that chain requests to other LDAP servers should ensure that the server satisfying the client's request sort the entire result set prior to sending back the results.
他のLDAPサーバへのリクエストをチェーンサーバーは、サーバーがクライアントの要求の結果を返送する前に設定ソート結果全体を満たすことを確認する必要があります。
If a server receives a sort request, the client expects to receive a set of sorted results. If a client submits a sort request to a server which chains the request and gets entries from multiple servers, and the client has set the criticality of the sort extension to TRUE, the server MUST merge sort the results before returning them to the client or MUST return unwillingToPerform.
サーバはソート要求を受信した場合、クライアントは、ソート結果のセットを受信することを期待します。クライアントは、どのチェーンサーバーの要求にソートリクエストを送信し、複数のサーバからエントリを取得し、クライアントがTRUEにソート拡張子の臨界を設定している、サーバーは、クライアントまたはMUSTに戻す前に、ソート結果をマージしなければならない場合unwillingToPerformを返します。
An entry that meets the search criteria may be missing one or more of the sort keys. In that case, the entry is considered to have a value of NULL for that key. This standard considers NULL to be a larger value than all other valid values for that key. For example, if only one key is specified, entries which meet the search criteria but do not have that key collate after all the entries which do have that key. If the reverseOrder flag is set, and only one key is specified, entries which meet the search criteria but do not have that key collate BEFORE all the entries which do have that key.
検索条件に合致するエントリがソート・キーの一つ以上が欠落することができます。その場合には、エントリがそのキーのNULLの値を持つと考えられています。この規格は、そのキーの他のすべての有効な値よりも大きな値にNULLと見なします。例えば、1つのキーだけが指定されている場合、検索基準を満たすが、エントリがその鍵を持っているすべてのエントリの後に、そのキーCOLLATEを持っていません。逆順フラグが設定されている場合、および1つのキーだけが指定され、検索基準を満たしているが、エントリがその鍵を持っているすべてのエントリの前にそのキーCOLLATEを持っていません。
If a sort key is a multi-valued attribute, and an entry happens to have multiple values for that attribute and no other controls are present that affect the sorting order, then the server SHOULD use the least value (according to the ORDERING rule for that attribute).
ソートキーは、多値属性であり、エントリは、その属性に対して複数の値を有するように発生し、他のコントロールがソート順序に影響を与える存在しない場合、サーバはそのためオーダーの規則に従って(最小値を使用する必要があります属性)。
When the sortKeyRequestControl control is included with the pagedResultsControl control as specified in [LdapPaged], then the server should send the searchResultEntry messages sorted according to the sort keys applied to the entire result set. The server should not simply sort each page, as this will give erroneous results to the client.
sortKeyRequestControl制御は[LdapPaged]で指定されるようpagedResultsControlコントロールに含まれている場合、サーバは、結果セット全体に適用されるソートキーに従ってソートのSearchResultEntryメッセージを送信すべきです。これは、クライアントに誤った結果が得られますように、サーバーは、単純に、各ページを並べ替えるべきではありません。
The sortKeyList must be present on each searchRequest message for the paged result. It also must not change between searchRequests for the same result set. If the server has sorted the data, then it SHOULD send back a sortKeyResponseControl control on every searchResultDone message for each page. This will allow clients to quickly determine if the result set is sorted, rather than waiting to receive the entire result set.
sortKeyListは、ページング結果に対する各searchRequestメッセージに存在しなければなりません。また、同じ結果セットのsearchRequestsの間で変更してはなりません。サーバーがデータをソートしている場合、それは、各ページごとsearchResultDoneメッセージのsortKeyResponseControlコントロールを送り返すべきです。これは、全体ではなく、結果セットを受け取るのを待っているよりも、結果セットがソートされている場合、クライアントがすぐに決定することができます。
Implementors and administrators should be aware that allowing sorting of results could enable the retrieval of a large number of records from a given directory service, regardless of administrative limits set on the maximum number of records to return.
実装者と管理者は結果の可能ソートにかかわらず返却するレコードの最大数に設定された管理限界を、指定されたディレクトリサービスから大量のレコードの検索を可能にすることができることに注意すべきです。
A client that desired to pull all records out of a directory service could use a combination of sorting and updating of search filters to retrieve all records in a database in small result sets, thus circumventing administrative limits.
ディレクトリサービスのうち、すべてのレコードを引っ張って目的のクライアントは、このような管理限界を回避し、小さな結果セット内のデータベース内のすべてのレコードを取得するために、ソートや検索フィルタの更新の組み合わせを使用することができます。
This behavior can be overcome by the judicious use of permissions on the directory entries by the administrator and by intelligent implementations of administrative limits on the number of records retrieved by a client.
この動作は、管理者がディレクトリエントリに対する権限を適切に使用することで、クライアントによって取得したレコードの数に対する行政の限界をインテリジェントに実装することによって克服することができます。
[LDAPv3] Wahl, M, Kille, S. and T. Howes, "Lightweight Directory Access Protocol (v3)", RFC 2251, December 1997.
[のLDAPv3]ワール、M、Kille、S.とT.ハウズ、 "ライトウェイトディレクトリアクセスプロトコル(V3)"、RFC 2251、1997年12月。
[Bradner97] Bradner, S., "Key Words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[Bradner97]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。
[LdapPaged] Weider, C., Herron, A., Anantha, A. and T. Howes, "LDAP Control Extension for Simple Paged Results Manipulation", RFC 2696, September 1999.
[LdapPaged]ウイダー、C.、ヘロン、A.、Anantha、A.およびT.ハウズ、 "シンプルなページ単位の結果操作のためのLDAP制御拡張"、RFC 2696、1999年9月。
Anoop Anantha Microsoft Corp. 1 Microsoft Way Redmond, WA 98052 USA
アヌープAnanthaマイクロソフト株式会社98052 USAの1マイクロソフトウェイレドモンド、
Phone: +1 425 882-8080 EMail: anoopa@microsoft.com
電話:+1 425 882-8080 Eメール:anoopa@microsoft.com
Tim Howes Loudcloud, Inc. 615 Tasman Dr. Sunnyvale, CA 94089 USA
ティム・ハウズLoudcloud、Inc.の615タスマン博士はカリフォルニア州サニーベール94089 USA
EMail: howes@loudcloud.com
メールアドレス:howes@loudcloud.com
Mark Wahl Sun Microsystems, Inc. 8911 Capital of Texas Hwy Suite 4140 Austin, TX 78759 USA
マーク・ワールサン・マイクロシステムズ株式会社8911資本テキサス州のハイウェイスイート4140オースティン、TX 78759 USA
EMail: Mark.Wahl@sun.com
メールアドレス:Mark.Wahl@sun.com
Copyright (C) The Internet Society (2000). All Rights Reserved.
著作権(C)インターネット協会(2000)。全著作権所有。
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
この文書とその翻訳は、コピーして他の人に提供し、それ以外についてはコメントまたは派生物は、いかなる種類の制限もなく、全体的にまたは部分的に、準備コピーし、公表して配布することができることを説明したり、その実装を支援することができます、上記の著作権表示とこの段落は、すべてのそのようなコピーや派生物に含まれていることを条件とします。しかし、この文書自体は著作権のための手順はで定義されている場合には、インターネット標準を開発するために必要なものを除き、インターネットソサエティもしくは他のインターネット関連団体に著作権情報や参照を取り除くなど、どのような方法で変更されないかもしれませんインターネット標準化プロセスが続く、または英語以外の言語に翻訳するために、必要に応じなければなりません。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上記の制限は永久で、インターネット学会やその後継者や譲渡者によって取り消されることはありません。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
この文書とここに含まれている情報は、基礎とインターネットソサエティおよびインターネットエンジニアリングタスクフォースはすべての保証を否認し、明示または黙示、その情報の利用がない任意の保証を含むがこれらに限定されない「として、」上に設けられています特定の目的への権利または商品性または適合性の黙示の保証を侵害します。
Acknowledgement
謝辞
Funding for the RFC Editor function is currently provided by the Internet Society.
RFC Editor機能のための基金は現在、インターネット協会によって提供されます。