mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
284 lines
10 KiB
Plaintext
284 lines
10 KiB
Plaintext
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Network Working Group R. Weltman
|
|||
|
Request for Comments: 4370 Yahoo!, Inc.
|
|||
|
Category: Standards Track February 2006
|
|||
|
|
|||
|
|
|||
|
Lightweight Directory Access Protocol (LDAP)
|
|||
|
Proxied Authorization Control
|
|||
|
|
|||
|
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 Notice
|
|||
|
|
|||
|
Copyright (C) The Internet Society (2006).
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
This document defines the Lightweight Directory Access Protocol
|
|||
|
(LDAP) Proxy Authorization Control. The Proxy Authorization Control
|
|||
|
allows a client to request that an operation be processed under a
|
|||
|
provided authorization identity instead of under the current
|
|||
|
authorization identity associated with the connection.
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
Proxy authorization allows a client to request that an operation be
|
|||
|
processed under a provided authorization identity instead of under
|
|||
|
the current authorization identity associated with the connection.
|
|||
|
This document defines support for proxy authorization using the
|
|||
|
Control mechanism [RFC2251]. The Lightweight Directory Access
|
|||
|
Protocol [LDAPV3] supports the use of the Simple Authentication and
|
|||
|
Security Layer [SASL] for authentication and for supplying an
|
|||
|
authorization identity distinct from the authentication identity,
|
|||
|
where the authorization identity applies to the whole LDAP session.
|
|||
|
The Proxy Authorization Control provides a mechanism for specifying
|
|||
|
an authorization identity on a per-operation basis, benefiting
|
|||
|
clients that need to perform operations efficiently on behalf of
|
|||
|
multiple users.
|
|||
|
|
|||
|
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY"
|
|||
|
used in this document are to be interpreted as described in
|
|||
|
[KEYWORDS].
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Weltman Standards Track [Page 1]
|
|||
|
|
|||
|
RFC 4370 LDAP Proxied Authorization Control February 2006
|
|||
|
|
|||
|
|
|||
|
2. Publishing Support for the Proxy Authorization Control
|
|||
|
|
|||
|
Support for the Proxy Authorization Control is indicated by the
|
|||
|
presence of the Object Identifier (OID) "2.16.840.1.113730.3.4.18" in
|
|||
|
the supportedControl attribute [RFC2252] of a server's root
|
|||
|
DSA-specific Entry (DSE).
|
|||
|
|
|||
|
3. Proxy Authorization Control
|
|||
|
|
|||
|
A single Proxy Authorization Control may be included in any search,
|
|||
|
compare, modify, add, delete, or modify Distinguished Name (DN) or
|
|||
|
extended operation request message. The exception is any extension
|
|||
|
that causes a change in authentication, authorization, or data
|
|||
|
confidentiality [RFC2829], such as Start TLS [LDAPTLS] as part of the
|
|||
|
controls field of the LDAPMessage, as defined in [RFC2251].
|
|||
|
|
|||
|
The controlType of the proxy authorization control is
|
|||
|
"2.16.840.1.113730.3.4.18".
|
|||
|
|
|||
|
The criticality MUST be present and MUST be TRUE. This requirement
|
|||
|
protects clients from submitting a request that is executed with an
|
|||
|
unintended authorization identity.
|
|||
|
|
|||
|
Clients MUST include the criticality flag and MUST set it to TRUE.
|
|||
|
Servers MUST reject any request containing a Proxy Authorization
|
|||
|
Control without a criticality flag or with the flag set to FALSE with
|
|||
|
a protocolError error. These requirements protect clients from
|
|||
|
submitting a request that is executed with an unintended
|
|||
|
authorization identity.
|
|||
|
|
|||
|
The controlValue SHALL be present and SHALL either contain an authzId
|
|||
|
[AUTH] representing the authorization identity for the request or be
|
|||
|
empty if an anonymous association is to be used.
|
|||
|
|
|||
|
The mechanism for determining proxy access rights is specific to the
|
|||
|
server's proxy authorization policy.
|
|||
|
|
|||
|
If the requested authorization identity is recognized by the server,
|
|||
|
and the client is authorized to adopt the requested authorization
|
|||
|
identity, the request will be executed as if submitted by the proxy
|
|||
|
authorization identity; otherwise, the result code 123 is returned.
|
|||
|
|
|||
|
4. Implementation Considerations
|
|||
|
|
|||
|
One possible interaction of proxy authorization and normal access
|
|||
|
control is illustrated here. During evaluation of a search request,
|
|||
|
an entry that would have been returned for the search (if submitted
|
|||
|
by the proxy authorization identity directly) may not be returned if
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Weltman Standards Track [Page 2]
|
|||
|
|
|||
|
RFC 4370 LDAP Proxied Authorization Control February 2006
|
|||
|
|
|||
|
|
|||
|
the server finds that the requester does not have the right to assume
|
|||
|
the requested identity for searching the entry, even if the entry is
|
|||
|
within the scope of a search request under a base DN that does imply
|
|||
|
such rights. This means that fewer results, or no results, may be
|
|||
|
returned than would be if the proxy authorization identity issued the
|
|||
|
request directly. An example of such a case may be a system with
|
|||
|
fine-grained access control, where the proxy right requester has
|
|||
|
proxy rights at the top of a search tree, but not at or below a point
|
|||
|
or points within the tree.
|
|||
|
|
|||
|
5. Security Considerations
|
|||
|
|
|||
|
The Proxy Authorization Control method is subject to general LDAP
|
|||
|
security considerations [RFC2251] [AUTH] [LDAPTLS]. The control may
|
|||
|
be passed over a secure channel as well as over an insecure channel.
|
|||
|
|
|||
|
The control allows for an additional authorization identity to be
|
|||
|
passed. In some deployments, these identities may contain
|
|||
|
confidential information that requires privacy protection.
|
|||
|
|
|||
|
Note that the server is responsible for determining if a proxy
|
|||
|
authorization request is to be honored. "Anonymous" users SHOULD NOT
|
|||
|
be allowed to assume the identity of others.
|
|||
|
|
|||
|
6. IANA Considerations
|
|||
|
|
|||
|
The OID "2.16.840.1.113730.3.4.18" is reserved for the Proxy
|
|||
|
Authorization Control. It has been registered as an LDAP Protocol
|
|||
|
Mechanism [RFC3383].
|
|||
|
|
|||
|
A result code (123) has been assigned by the IANA for the case where
|
|||
|
the server does not execute a request using the proxy authorization
|
|||
|
identity.
|
|||
|
|
|||
|
7. Acknowledgements
|
|||
|
|
|||
|
Mark Smith, formerly of Netscape Communications Corp., Mark Wahl,
|
|||
|
formerly of Sun Microsystems, Inc., Kurt Zeilenga of OpenLDAP
|
|||
|
Foundation, Jim Sermersheim of Novell, and Steven Legg of Adacel have
|
|||
|
contributed with reviews of this document.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Weltman Standards Track [Page 3]
|
|||
|
|
|||
|
RFC 4370 LDAP Proxied Authorization Control February 2006
|
|||
|
|
|||
|
|
|||
|
8. Normative References
|
|||
|
|
|||
|
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
|
|||
|
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
|||
|
|
|||
|
[LDAPV3] Hodges, J. and R. Morgan, "Lightweight Directory Access
|
|||
|
Protocol (v3): Technical Specification", RFC 3377,
|
|||
|
September 2002.
|
|||
|
|
|||
|
[SASL] Myers, J., "Simple Authentication and Security Layer
|
|||
|
(SASL)", RFC 2222, October 1997.
|
|||
|
|
|||
|
[AUTH] Wahl, M., Alvestrand, H., Hodges, J., and R. Morgan,
|
|||
|
"Authentication Methods for LDAP", RFC 2829, May 2000.
|
|||
|
|
|||
|
[LDAPTLS] Hodges, J., Morgan, R., and M. Wahl, "Lightweight
|
|||
|
Directory Access Protocol (v3): Extension for Transport
|
|||
|
Layer Security", RFC 2830, May 2000.
|
|||
|
|
|||
|
[RFC2251] Wahl, M., Howes, T., and S. Kille, "Lightweight Directory
|
|||
|
Access Protocol (v3)", RFC 2251, December 1997.
|
|||
|
|
|||
|
[RFC2252] Wahl, M., Coulbeck, A., Howes, T., and S. Kille,
|
|||
|
"Lightweight Directory Access Protocol (v3): Attribute
|
|||
|
Syntax Definitions", RFC 2252, December 1997.
|
|||
|
|
|||
|
[RFC2829] Wahl, M., Alvestrand, H., Hodges, J., and R. Morgan,
|
|||
|
"Authentication Methods for LDAP", RFC 2829, May 2000.
|
|||
|
|
|||
|
[RFC3383] Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
|
|||
|
Considerations for the Lightweight Directory Access
|
|||
|
Protocol (LDAP)", BCP 64, RFC 3383, September 2002.
|
|||
|
|
|||
|
Author's Address
|
|||
|
|
|||
|
Rob Weltman
|
|||
|
Yahoo!, Inc.
|
|||
|
701 First Avenue
|
|||
|
Sunnyvale, CA 94089
|
|||
|
USA
|
|||
|
|
|||
|
Phone: +1 408 349-5504
|
|||
|
EMail: robw@worldspot.com
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Weltman Standards Track [Page 4]
|
|||
|
|
|||
|
RFC 4370 LDAP Proxied Authorization Control February 2006
|
|||
|
|
|||
|
|
|||
|
Full Copyright Statement
|
|||
|
|
|||
|
Copyright (C) The Internet Society (2006).
|
|||
|
|
|||
|
This document is subject to the rights, licenses and restrictions
|
|||
|
contained in BCP 78, and except as set forth therein, the authors
|
|||
|
retain all their rights.
|
|||
|
|
|||
|
This document and the information contained herein are provided on an
|
|||
|
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
|||
|
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
|
|||
|
ENGINEERING TASK FORCE DISCLAIM 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.
|
|||
|
|
|||
|
Intellectual Property
|
|||
|
|
|||
|
The IETF takes no position regarding the validity or scope of any
|
|||
|
Intellectual Property Rights or other rights that might be claimed to
|
|||
|
pertain to the implementation or use of the technology described in
|
|||
|
this document or the extent to which any license under such rights
|
|||
|
might or might not be available; nor does it represent that it has
|
|||
|
made any independent effort to identify any such rights. Information
|
|||
|
on the procedures with respect to rights in RFC documents can be
|
|||
|
found in BCP 78 and BCP 79.
|
|||
|
|
|||
|
Copies of IPR disclosures made to the IETF Secretariat and any
|
|||
|
assurances of licenses to be made available, or the result of an
|
|||
|
attempt made to obtain a general license or permission for the use of
|
|||
|
such proprietary rights by implementers or users of this
|
|||
|
specification can be obtained from the IETF on-line IPR repository at
|
|||
|
http://www.ietf.org/ipr.
|
|||
|
|
|||
|
The IETF invites any interested party to bring to its attention any
|
|||
|
copyrights, patents or patent applications, or other proprietary
|
|||
|
rights that may cover technology that may be required to implement
|
|||
|
this standard. Please address the information to the IETF at
|
|||
|
ietf-ipr@ietf.org.
|
|||
|
|
|||
|
Acknowledgement
|
|||
|
|
|||
|
Funding for the RFC Editor function is provided by the IETF
|
|||
|
Administrative Support Activity (IASA).
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Weltman Standards Track [Page 5]
|
|||
|
|