+++ /dev/null
-
-
-
-
-
-
-Network Working Group E. Stokes
-Request for Comments: 2820 D. Byrne
-Category: Informational IBM
- B. Blakley
- Dascom
- P. Behera
- Netscape
- May 2000
-
-
- Access Control Requirements for LDAP
-
-Status of this Memo
-
- This memo provides information for the Internet community. It does
- not specify an Internet standard of any kind. Distribution of this
- memo is unlimited.
-
-Copyright Notice
-
- Copyright (C) The Internet Society (2000). All Rights Reserved.
-
-Abstract
-
- This document describes the fundamental requirements of an access
- control list (ACL) model for the Lightweight Directory Application
- Protocol (LDAP) directory service. It is intended to be a gathering
- place for access control requirements needed to provide authorized
- access to and interoperability between directories.
-
- The keywords "MUST", "SHOULD", and "MAY" used in this document are to
- be interpreted as described in [bradner97].
-
-1. Introduction
-
- The ability to securely access (replicate and distribute) directory
- information throughout the network is necessary for successful
- deployment. LDAP's acceptance as an access protocol for directory
- information is driving the need to provide an access control model
- definition for LDAP directory content among servers within an
- enterprise and the Internet. Currently LDAP does not define an
- access control model, but is needed to ensure consistent secure
- access across heterogeneous LDAP implementations. The requirements
- for access control are critical to the successful deployment and
- acceptance of LDAP in the market place.
-
- The RFC 2119 terminology is used in this document.
-
-
-
-
-Stokes, et al. Informational [Page 1]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
-2. Objectives
-
- The major objective is to provide a simple, but secure, highly
- efficient access control model for LDAP while also providing the
- appropriate flexibility to meet the needs of both the Internet and
- enterprise environments and policies.
-
- This generally leads to several general requirements that are
- discussed below.
-
-3. Requirements
-
- This section is divided into several areas of requirements: general,
- semantics/policy, usability, and nested groups (an unresolved issue).
- The requirements are not in any priority order. Examples and
- explanatory text is provided where deemed necessary. Usability is
- perhaps the one set of requirements that is generally overlooked, but
- must be addressed to provide a secure system. Usability is a security
- issue, not just a nice design goal and requirement. If it is
- impossible to set and manage a policy for a secure situation that a
- human can understand, then what was set up will probably be non-
- secure. We all need to think of usability as a functional security
- requirement.
-
-3.1 General
-
- G1. Model SHOULD be general enough to support extensibility to add
- desirable features in the future.
-
- G2. When in doubt, safer is better, especially when establishing
- defaults.
-
- G3. ACL administration SHOULD be part of the LDAP protocol. Access
- control information MUST be an LDAP attribute.
-
- G4. Object reuse protection SHOULD be provided and MUST NOT inhibit
- implementation of object reuse. The directory SHOULD support policy
- controlling the re-creation of deleted DNs, particularly in cases
- where they are re-created for the purpose of assigning them to a
- subject other than the owner of the deleted DN.
-
-3.2 Semantics / Policy
-
- S1. Omitted as redundant; see U8.
-
- S2. More specific policies must override less specific ones (e.g.
- individual user entry in ACL SHOULD take precedence over group entry)
- for the evaluation of an ACL.
-
-
-
-Stokes, et al. Informational [Page 2]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
- S3. Multiple policies of equal specificity SHOULD be combined in
- some easily-understood way (e.g. union or intersection). This is
- best understood by example. Suppose user A belongs to 3 groups and
- those 3 groups are listed on the ACL. Also suppose that the
- permissions for each of those groups are not identical. Each group is
- of equal specificity (e.g. each group is listed on the ACL) and the
- policy for granting user A access (given the example) SHOULD be
- combined in some easily understood way, such as by intersection or
- union. For example, an intersection policy here may yield a more
- limited access for user A than a union policy.
-
- S4. Newly created directory entries SHOULD be subject to a secure
- default policy.
-
- S5. Access policy SHOULD NOT be expressed in terms of attributes
- which the directory administrator or his organization cannot
- administer (e.g. groups whose membership is administered by another
- organization).
-
- S6. Access policy SHOULD NOT be expressed in terms of attributes
- which are easily forged (e.g. IP addresses). There may be valid
- reasons for enabling access based on attributes that are easily
- forged and the behavior/implications of doing that should be
- documented.
-
- S7. Humans (including administrators) SHOULD NOT be required to
- manage access policy on the basis of attributes which are not
- "human-readable" (e.g. IP addresses).
-
- S8. It MUST be possible to deny a subject the right to invoke a
- directory operation. The system SHOULD NOT require a specific
- implementation of denial (e.g. explicit denial, implicit denial).
-
- S9. The system MUST be able (semantically) to support either
- default-grant or default-deny semantics (not simultaneously).
-
- S10. The system MUST be able to support either union semantics or
- intersection semantics for aggregate subjects (not simultaneously).
-
- S11. Absence of policy SHOULD be interpretable as grant or deny.
- Deny takes precedence over grant among entries of equal specificity.
-
- S12. ACL policy resolution MUST NOT depend on the order of entries
- in the ACL.
-
- S13. Rights management MUST have no side effects. Granting a
- subject one right to an object MUST NOT implicitly grant the same or
- any other subject a different right to the same object. Granting a
-
-
-
-Stokes, et al. Informational [Page 3]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
- privilege attribute to one subject MUST NOT implicitly grant the same
- privilege attribute to any other subject. Granting a privilege
- attribute to one subject MUST NOT implicitly grant a different
- privilege attribute to the same or any other subject. Definition: An
- ACL's "scope" is defined as the set of directory objects governed by
- the policy it defines; this set of objects is a sub-tree of the
- directory. Changing the policy asserted by an ACL (by changing one
- or more of its entries) MUST NOT implicitly change the policy
- governed by an ACL in a different scope.
-
- S14. It SHOULD be possible to apply a single policy to multiple
- directory entries, even if those entries are in different subtrees.
- Applying a single policy to multiple directory entries SHOULD NOT
- require creation and storage of multiple copies of the policy data.
- The system SHOULD NOT require a specific implementation (e.g. nested
- groups, named ACLs) of support for policy sharing.
-
-3.3 Usability (Manageability)
-
- U1. When in doubt, simpler is better, both at the interface and in
- the implementation.
-
- U2. Subjects MUST be drawn from the "natural" LDAP namespace; they
- should be DNs.
-
- U3. It SHOULD NOT be possible via ACL administration to lock all
- users, including all administrators, out of the directory.
-
- U4. Administrators SHOULD NOT be required to evaluate arbitrary
- Boolean predicates in order to create or understand policy.
-
- U5. Administrators SHOULD be able to administer access to
- directories and their attributes based on their sensitivity, without
- having to understand the semantics of individual schema elements and
- their attributes (see U9).
-
- U6. Management of access to resources in an entire subtree SHOULD
- require only one ACL (at the subtree root). Note that this makes
- access control based explicitly on attribute types very hard, unless
- you constrain the types of entries in subtrees. For example, another
- attribute is added to an entry. That attribute may fall outside the
- grouping covered by the ACL and hence require additional
- administration where the desired affect is indeed a different ACL.
- Access control information specified in one administrative area MUST
- NOT have jurisdiction in another area. You SHOULD NOT be able to
- control access to the aliased entry in the alias. You SHOULD be able
- to control access to the alias name.
-
-
-
-
-Stokes, et al. Informational [Page 4]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
- U7. Override of subtree policy MUST be supported on a per-
- directory-entry basis.
-
- U8. Control of access to individual directory entry attributes (not
- just the whole directory entry) MUST be supported.
-
- U9. Administrator MUST be able to coarsen access policy granularity
- by grouping attributes with similar access sensitivities.
-
- U10. Control of access on a per-user granularity MUST be supported.
-
- U11. Administrator MUST be able to aggregate users (for example, by
- assigning them to groups or roles) to simplify administration.
-
- U12. It MUST be possible to review "effective access" of any user,
- group, or role to any entry's attributes. This aids the administrator
- in setting the correct policy.
-
- U13. A single administrator SHOULD be able to define policy for the
- entire directory tree. An administrator MUST be able to delegate
- policy administration for specific subtrees to other users. This
- allows for the partitioning of the entire directory tree for policy
- administration, but still allows a single policy to be defined for
- the entire tree independent of partitioning. (Partition in this
- context means scope of administration). An administrator MUST be able
- to create new partitions at any point in the directory tree, and MUST
- be able to merge a superior and subordinate partition. An
- administrator MUST be able to configure whether delegated access
- control information from superior partitions is to be accepted or
- not.
-
- U14. It MUST be possible to authorize users to traverse directory
- structure even if they are not authorized to examine or modify some
- traversed entries; it MUST also be possible to prohibit this. The
- tree structure MUST be able to be protected from view if so desired
- by the administrator.
-
- U15. It MUST be possible to create publicly readable entries, which
- may be read even by unauthenticated clients.
-
- U16. The model for combining multiple access control list entries
- referring to a single individual MUST be easy to understand.
-
- U17. Administrator MUST be able to determine where inherited policy
- information comes from, that is, where ACLs are located and which
- ACLs were applied. Where inheritance of ACLs is applied, it must be
- able to be shown how/where that new ACL is derived from.
-
-
-
-
-Stokes, et al. Informational [Page 5]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
- U18. It SHOULD be possible for the administrator to configure the
- access control system to permit users to grant additional access
- control rights for entries which they create.
-
-4. Security Considerations
-
- Access control is a security consideration. This documents addresses
- the requirements.
-
-5. Glossary
-
- This glossary is intended to aid the novice not versed in depth about
- access control. It contains a list of terms and their definitions
- that are commonly used in discussing access control [emca].
-
- Access control - The prevention of use of a resource by unidentified
- and/or unauthorized entities in any other that an authorized manner.
-
- Access control list - A set of control attributes. It is a list,
- associated with a security object or a group of security objects.
- The list contains the names of security subjects and the type of
- access that may be granted.
-
- Access control policy - A set of rules, part of a security policy, by
- which human users, or their representatives, are authenticated and by
- which access by these users to applications and other services and
- security objects is granted or denied.
-
- Access context - The context, in terms of such variables as location,
- time of day, level of security of the underlying associations, etc.,
- in which an access to a security object is made.
-
- Authorization - The granting of access to a security object.
-
- Authorization policy - A set of rules, part of an access control
- policy, by which access by security subjects to security objects is
- granted or denied. An authorization policy may be defined in terms
- of access control lists, capabilities, or attributes assigned to
- security subjects, security objects, or both.
-
- Control attributes - Attributes, associated with a security object
- that, when matched against the privilege attributes of a security
- subject, are used to grant or deny access to the security object. An
- access control list or list of rights or time of day range are
- examples of control attributes.
-
- Credentials - Data that serve to establish the claimed identity of a
- security subject relative to a given security domain.
-
-
-
-Stokes, et al. Informational [Page 6]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
- Privilege attributes - Attributes, associated with a security subject
- that, when matched against control attributes of a security object,
- are used to grant or deny access to that subject. Group and role
- memberships are examples of privilege attributes.
-
- Security attributes - A general term covering both privilege
- attributes and control attributes. The use of security attributes is
- defined by a security policy.
-
- Security object - An entity in a passive role to which a security
- policy applies.
-
- Security policy - A general term covering both access control
- policies and authorization policies.
-
- Security subject - An entity in an active role to which a security
- policy applies.
-
-6. References
-
- [ldap] Kille, S., Howes, T. and M. Wahl, "Lightweight Directory
- Access Protocol (v3)", RFC 2251, August 1997.
-
- [ecma] ECMA, "Security in Open Systems: A Security Framework"
- ECMA TR/46, July 1988.
-
- [bradner97] Bradner, S., "Key Words for use in RFCs to Indicate
- Requirement Levels", BCP 14, RFC 2119, March 1997.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Stokes, et al. Informational [Page 7]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
-7. Authors' Addresses
-
- Bob Blakley
- Dascom
- 5515 Balcones Drive
- Austin, TX 78731
- USA
-
- Phone: +1 512 458 4037 ext 5012
- Fax: +1 512 458 2377
- EMail: blakley@dascom.com
-
-
- Ellen Stokes
- IBM
- 11400 Burnet Rd
- Austin, TX 78758
- USA
-
- Phone: +1 512 838 3725
- Fax: +1 512 838 0156
- EMail: stokes@austin.ibm.com
-
-
- Debbie Byrne
- IBM
- 11400 Burnet Rd
- Austin, TX 78758
- USA
-
- Phone: +1 512 838 1930
- Fax: +1 512 838 8597
- EMail: djbyrne@us.ibm.com
-
-
- Prasanta Behera
- Netscape
- 501 Ellis Street
- Mountain View, CA 94043
- USA
-
- Phone: +1 650 937 4948
- Fax: +1 650 528-4164
- EMail: prasanta@netscape.com
-
-
-
-
-
-
-
-Stokes, et al. Informational [Page 8]
-\f
-RFC 2820 Access Control Requirements for LDAP May 2000
-
-
-8. Full Copyright Statement
-
- Copyright (C) The Internet Society (2000). 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 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.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Stokes, et al. Informational [Page 9]
-\f