RFC 3673

Lightweight Directory Access Protocol version 3 (LDAPv3): All Operational Attributes

๐Ÿ“… published December 2003, from ietf

Okay bestie, RFC 3673 is a total gem ๐Ÿ’– It's titled Lightweight Directory Access Protocol version 3 (LDAPv3): All Operational Attributes ๐ŸŽ€. It was written by K. Zeilenga (Kurt D. Zeilenga) of the OpenLDAP Foundation ๐Ÿงš It's a Standards Track doc, dated December 2003. The original doesn't list anything it obsoletes or updates, so there's no drama there ๐Ÿซถ

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. ๐Ÿ“ฎ

Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract ๐Ÿฆ‹

LDAP has a way to ask for all the user attributes, but not all the operational attributes ๐Ÿ™ˆ This doc describes an LDAP extension that clients can use to ask for all the operational attributes, so they get the full picture ๐ŸŒธ


1. Overview ๐ŸŒˆ

Okay so X.500 [X.500] already gives clients a way to ask for all operational attributes to come back with the entries from a search. Clients use this a lot to figure out which operational attributes an entry actually has ๐Ÿ‘€

This doc extends the Lightweight Directory Access Protocol (LDAP) [RFC3377] with a simple mechanism that clients can use to ask for all operational attributes. It's built to work with existing general purpose LDAP clients (including web browsers that support LDAP URLs) and existing LDAP APIs. No cap, that's super practical ๐Ÿ’œ

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119]. ๐Ÿ“š

2. All Operational Attributes ๐Ÿ”ฅ

The attribute description "+" (ASCII 43) showing up in the list of attributes in a Search Request [RFC2251] SHALL signify a request for the return of all operational attributes. Iconic, right? โœจ

As with all search requests, client implementors should note that results may not include all requested attributes due to access controls or other restrictions. Client implementors should also note that certain operational attributes may be returned only if requested by name even when "+" is present. This is because some operational attributes are very expensive to return ๐Ÿ’€

Servers supporting this feature SHOULD publish the Object Identifier 1.3.6.1.4.1.4203.1.5.1 as a value of the 'supportedFeatures' [RFC3674] attribute in the root DSE. ๐Ÿงš

3. Interoperability Considerations ๐Ÿซถ

This mechanism is specifically designed so users can request all operational attributes using existing LDAP clients. It's meant to stay compatible with existing general purpose LDAP clients, including those that support LDAP URLs [RFC2255]. Main character energy ๐Ÿ‘‘

The addition of this mechanism to LDAP is not believed to cause any significant interoperability issues (this has been confirmed through testing). Servers that haven't implemented this specification yet should ignore the "+" as an unrecognized attribute description per [RFC2251, Section 4.5.1]. From the client's perspective, a server that doesn't return all operational attributes when "+" is requested should be viewed as having other restrictions. ๐Ÿ™ƒ

It is also noted that this mechanism is believed to require no modification of existing LDAP APIs. ๐ŸŽ€

4. Security Considerations ๐Ÿ”

This doc gives a general mechanism clients can use to discover operational attributes. Before this came along, operational attributes were only returned when requested by name. Some might have viewed that as an obscurity feature. However, that's a false sense of security, because the attributes were still transferable ๐Ÿ˜ญ Not me thinking people would rely on that ๐Ÿ’€

Implementations SHOULD implement appropriate access controls mechanisms to restricts access to operational attributes. This part is seriously important, bestie, so please don't skip it ๐Ÿšจ

5. IANA Considerations ๐Ÿ“

This document uses the OID 1.3.6.1.4.1.4203.1.5.1 to identify the feature described above. The OID was assigned [ASSIGN] by OpenLDAP Foundation, under its IANA-assigned private enterprise allocation [PRIVATE], for use in this specification.

Registration of this feature has been completed by IANA [RFC3674], [RFC3383]. The registration template looks like this:

Subject: Request for LDAP Protocol Mechanism Registration

Object Identifier: 1.3.6.1.4.1.4203.1.5.1

Description: All Op Attrs

Person & email address to contact for further information:
     Kurt Zeilenga <kurt@openldap.org>

Usage: Feature

Specification: RFC3673

Author/Change Controller: IESG

Comments: none

6. Acknowledgment ๐Ÿ’œ

The "+" mechanism is believed to have first been suggested by Bruce Greenblatt in a November 1998 post to the IETF LDAPext Working Group mailing list. Shoutout to Bruce ๐Ÿซถ

7. Intellectual Property Statement โš–๏ธ

The IETF takes no position on the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or on the extent to which any license under such rights might or might not be available. It also doesn't represent that it has made any effort to identify any such rights. Info on the IETF's procedures for rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication, any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementors or users of this specification to use such proprietary rights, can be obtained from the IETF Secretariat.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please send that information to the IETF Executive Director. ๐Ÿ“ฌ

8. References ๐Ÿ“–

8.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2251]  Wahl, M., Howes, T. and S. Kille, "Lightweight Directory
           Access Protocol (v3)", RFC 2251, December 1997.

[RFC3377]  Hodges, J. and R. Morgan, "Lightweight Directory Access
           Protocol (v3): Technical Specification", RFC 3377,
           September 2002.

[RFC3674]  Zeilenga, K., "Feature Discovery in Lightweight Directory
           Access Protocol (LDAP)", RFC 3674, December 2003.

8.2. Informative References

[RFC2255]  Howes, T. and M. Smith, "The LDAP URL Format", RFC 2255,
           December 1997.

[RFC3383]  Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
           Considerations for the Lightweight Directory Access
           Protocol (LDAP)", BCP 64, RFC 3383, September 2002.

[X.500]    ITU-T Rec.  X.500, "The Directory: Overview of Concepts,
           Models and Service", 1993.

[ASSIGN]   OpenLDAP Foundation, "OpenLDAP OID Delegations",
           http://www.openldap.org/foundation/oid-delegate.txt.

[PRIVATE]  IANA, "Private Enterprise Numbers",
           http://www.iana.org/assignments/enterprise-numbers.

9. Author's Address ๐Ÿงš

Kurt D. Zeilenga
OpenLDAP Foundation

EMail: Kurt@OpenLDAP.org

Copyright (C) The Internet Society (2003). All Rights Reserved.

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 assignees.

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. โœจ

๐Ÿ“ฆ where this page comes from