INTERNET-DRAFT S. Legg draft-legg-ldap-acm-admin-00.txt Adacel Technologies Intended Category: Standards Track February 22, 2002 Access Control Administration in LDAP Copyright (C) The Internet Society (2002). All Rights Reserved. Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Distribution of this document is unlimited. Comments should be sent to the LDUP working group mailing list or to the author. This Internet-Draft expires on 22 August 2002. 1. Abstract This document adapts the X.500 directory administrative model for use by the Lightweight Directory Access Protocol. The administrative model partitions the Directory Information Tree for various aspects of directory data administration, e.g. subschema, access control and collective attributes. The generic framework that applies to every aspect of administration is described, along with the particular definitions that support Access Control administration. This document does not define a particular access control scheme. Legg Expires 22 August 2002 [Page 1] INTERNET-DRAFT Access Control Administration February 22, 2002 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 RFC 2119 [RFC2119]. 2. Table of Contents 1. Abstract .................................................... 1 2. Table of Contents ........................................... 2 3. Introduction ................................................ 2 4. Directory Administrative Model .............................. 3 4.1 Administrative Areas .................................... 3 4.2 Autonomous Administrative Areas ......................... 3 4.3 Specific Administrative Areas ........................... 4 4.4 Inner Administrative Areas .............................. 5 4.5 Administrative Entries .................................. 5 5. Access Control Administrative Model ......................... 5 5.1 Access Control Administrative Areas ..................... 6 5.2 Access Control Scheme Indication ........................ 6 5.3 Access Control Information .............................. 7 5.4 Access Control Subentries ............................... 7 5.5 Applicable Access Control Information ................... 8 6. Security Considerations ..................................... 8 7. Acknowledgements ............................................ 9 8. Normative References ........................................ 9 9. Informative References ...................................... 9 10. Intellectual Property Notice ............................... 9 11. Copyright Notice ........................................... 10 12. Author's Address ........................................... 11 3. Introduction This document adapts the X.500 directory administrative model [X501] for use by the Lightweight Directory Access Protocol (LDAP) [RFC2251]. The administrative model partitions the Directory Information Tree (DIT) for various aspects of directory data administration, e.g. subschema, access control and collective attributes. Section 4, in conjunction with [SUBENTRY], provides the definitions for the generic parts of the administrative model that apply to every aspect of directory data administration. Section 5 provides the definitions to support the administration of Access Controls, but does not define a particular access control scheme (see [BAC]). Legg Expires 22 August 2002 [Page 2] INTERNET-DRAFT Access Control Administration February 22, 2002 Schema definitions are provided using LDAP description formats [RFC2252]. Note that the LDAP descriptions have been rendered with additional white-space and line breaks for the sake of readability. Other aspects of administration that conform to the administrative model described in Section 4 are described elsewhere, e.g. collective attribute administration is described in [COLLECT]. This document is derived from, and duplicates substantial portions of, Sections 4 and 8 of [X501]. 4. Directory Administrative Model This section describes the means by which administrative authority is aportioned and exercised in the DIT. 4.1 Administrative Areas An administrative area is a subtree of the DIT considered from the perspective of administration. The root entry of the subtree is an administrative point. An administrative point is represented by an entry holding an administrativeRole attribute [SUBENTRY]. The values of this attribute identify the kind of administrative point. 4.2 Autonomous Administrative Areas The DIT may be partitioned into one or more non-overlapping subtrees termed autonomous administrative areas. It is expected that the entries in an autonomous administrative area are all administered by the same administrative authority. An administrative authority may be responsible for several autonomous administrative areas in separated parts of the DIT but it SHOULD NOT arbitrarily partition the collection of entries under its control into autonomous administrative areas (thus creating adjacent autonomous areas administered by the same authority). The root entry of an autonomous administrative area's subtree is called an autonomous administrative point. An autonomous administrative area extends from its autonomous administrative point downwards until another autonomous administrative point is encountered, at which point another autonomous administrative area begins. Legg Expires 22 August 2002 [Page 3] INTERNET-DRAFT Access Control Administration February 22, 2002 4.3 Specific Administrative Areas Entries in an administrative area may be considered in terms of a specific administrative function. When viewed in this context, an administrative area is termed a specific administrative area. Examples of specific administrative areas are subschema specific administrative areas, access control specific areas and collective attribute specific areas. An autonomous administrative area may be considered as implicitly defining a single specific administrative area for each specific aspect of administration. In this case, there is a precise correspondence between each such specific administrative area and the autonomous administrative area. Alternatively, for each specific aspect of administration, the autonomous administrative area may be partitioned into non-overlapping specific administrative areas. If so partitioned for a particular aspect of administration, each entry of the autonomous administrative area is contained in one and only one specific administrative area for that aspect, i.e. specific administrative areas do not overlap. The root entry of a specific administrative area's subtree is called a specific administrative point. A specific administrative area extends from its specific administrative point downwards until another specific administrative point of the same administrative aspect is encountered, at which point another specific administrative area begins. Specific administrative areas are always bounded by the autonomous administrative area they partition. Where an autonomous administrative area is not partitioned for a specific aspect of administration, the specific administrative area for that aspect coincides with the autonomous administrative area. In this case, the autonomous administrative point is also the specific administrative point for this aspect of administration. A particular administrative point may be the root of an autonomous administrative area and may be the root of one or more specific administrative areas for different aspects of administration. It is not necessary for an administrative point to represent each specific aspect of administrative authority. For example, there might be an administrative point, subordinate to the root of the autonomous administrative area, which is used for access control purposes only. Legg Expires 22 August 2002 [Page 4] INTERNET-DRAFT Access Control Administration February 22, 2002 4.4 Inner Administrative Areas For some aspects of administration, e.g. access control or collective attributes, inner administrative areas may be defined within the specific administrative areas, to allow a limited form of delegation, or for administrative or operational convenience. An inner administrative area may be nested within another inner administrative area. The rules for nested inner areas are defined as part of the definition of the specific administrative aspect for which they are allowed. The root entry of an inner administrative area's subtree is called an inner administrative point. An inner administrative area (within a specific administrative area) extends from its inner administrative point downwards until a specific administrative point of the same administrative aspect is encountered. An inner administrative area is bounded by the specific administrative area within which it is defined. 4.5 Administrative Entries An entry located at an administrative point is an administrative entry. Administrative entries MAY have subentries [SUBENTRY] as immediate subordinates. The administrative entry and its associated subentries are used to control the entries encompassed by the associated administrative area. Where inner administrative areas are used, the scopes of these areas may overlap. Therefore, for each specific aspect of administrative authority, a definition is required of the method of combination of administrative information when it is possible for entries to be included in more than one subtree or subtree refinement associated with an inner area defined for that aspect. 5. Access Control Administrative Model An access control scheme describes the means by which access to directory information, and potentially to access rights themselves, may be controlled. This section describes the administrative framework for access control schemes in general. Two access control schemes known as Basic Access Control and Simplified Access Control are defined by [BAC]. Other access control schemes MAY be defined by other documents. Legg Expires 22 August 2002 [Page 5] INTERNET-DRAFT Access Control Administration February 22, 2002 5.1 Access Control Administrative Areas The specific administrative area for access control is termed an Access Control Specific Area (ACSA). The root of the ACSA is termed an Access Control Specific Point (ACSP) and is represented in the DIT by an administrative entry which includes accessControlSpecificArea as a value of its administrativeRole operational attribute. An ACSA MAY be partitioned into subtrees termed inner administrative areas. Each such inner area is termed an Access Control Inner Area (ACIA). The root of the ACIA is termed an Access Control Inner Point (ACIP) and is represented in the DIT by an administrative entry which includes accessControlInnerArea as a value of its administrativeRole operational attribute. An administrative entry can never be both an ACSP and an ACIP. The corresponding values can therefore never be present simultaneously in the administrativeRole attribute. Each entry necessarily falls within one and only one ACSA. Each such entry may also fall within one or more ACIAs nested inside the ACSA containing the entry. An ACSP or ACIP has zero, one or more subentries that contain Access Control Information (ACI). 5.2 Access Control Scheme Indication The access control scheme (e.g. Basic Access Control [BAC]) in force in an ACSA is indicated by the accessControlScheme operational attribute contained in the administrative entry for the relevant ACSP. The LDAP description [RFC2252] for the accessControlScheme operational attribute is: ( 2.5.24.1 NAME 'accessControlScheme' EQUALITY objectIdentifierMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 SINGLE-VALUE USAGE directoryOperation ) An access control scheme conforming to the access control framework described in this document MUST define a distinct OBJECT IDENTIFIER value to identify it through the accessControlScheme attribute. Only administrative entries for ACSPs are permitted to contain an accessControlScheme attribute. If the accessControlScheme attribute Legg Expires 22 August 2002 [Page 6] INTERNET-DRAFT Access Control Administration February 22, 2002 is absent from a given ACSP, the access control scheme in force in the corresponding ACSA, and its effect on operations, results and errors, is implementation defined. Any entry or subentry in an ACSA is permitted to contain ACI if and only if such ACI is permitted by, and consistent with, the access control scheme identified by the value of the accessControlScheme attribute of the ACSP. 5.3 Access Control Information There are three categories of Access Control Information (ACI): entry, subentry and prescriptive. Entry ACI applies to only the entry or subentry in which it appears, and the contents thereof. Subject to the access control scheme, any entry or subentry MAY hold entry ACI. Subentry ACI applies to only the subentries of the administrative entry in which it appears. Subject to the access control scheme, any administrative entry, for any aspect of administration, MAY hold subentry ACI. Prescriptive ACI applies to all the entries within a subtree or subtree refinement of an administrative area (either an ACSA or an ACIA), as defined by the subtreeSpecification attribute of the subentry in which it appears. Prescriptive ACI is only permitted in subentries of an ACSP or ACIP. Prescriptive ACI in the subentries of a particular administrative point never applies to the same or any other subentry of that administrative point, but does apply to the subentries of subordinate administrative points, where those subentries are within the subtree or subtree refinement. 5.4 Access Control Subentries Each subentry which contains prescriptive ACI MUST have accessControlSubentry as a value of its objectClass attribute. Such a subentry is called an access control subentry. The LDAP description [RFC2252] for the accessControlSubentry auxiliary object class is: ( 2.5.17.1 NAME 'accessControlSubentry' AUXILIARY ) A subentry of this object class MUST contain at least one prescriptive ACI attribute of a type consistent with the value of the Legg Expires 22 August 2002 [Page 7] INTERNET-DRAFT Access Control Administration February 22, 2002 accessControlScheme attribute of the corresponding ACSP. The subtree or subtree refinement for an access control subentry is termed a Directory Access Control Domain (DACD). A DACD can contain zero entries, and can encompass entries that have not yet been added to the DIT, but does not extend beyond the scope of the ACSA or ACIA with which it is associated. Since a subtreeSpecification may define a subtree refinement, DACDs within a given ACSA may arbitrarily overlap. 5.5 Applicable Access Control Information Although particular items of ACI may specify attributes or values as the protected items, ACI is logically associated with entries. The ACI that is considered in access control decisions regarding an entry includes: (1) Entry ACI from that particular entry. (2) Prescriptive ACI from access control subentries whose DACDs contain the entry. Each of these access control subentries is necessarily either a subordinate of the ACSP for the ACSA containing the entry, or a subordinate of the ACIP for an ACIA that contains the entry. The ACI that is considered in access control decisions regarding a subentry includes: (1) Entry ACI from that particular subentry. (2) Prescriptive ACI from access control subentries whose DACDs contain the subentry, excluding those belonging to the same administrative point as the subentry for which the decision is being made. (3) Subentry ACI from the administrative point associated with the subentry. 6. Security Considerations This document defines a framework for employing an access control scheme, i.e. the means by which access to directory information and potentially to access rights themselves may be controlled, but does not itself define any particular access control scheme. The degree Legg Expires 22 August 2002 [Page 8] INTERNET-DRAFT Access Control Administration February 22, 2002 of protection provided, and any security risks, are determined by the provisions of the access control schemes (defined elsewhere) making use of this framework. 7. Acknowledgements This document is derived from, and duplicates substantial portions of, Sections 4 and 8 of [X501]. 8. 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. [RFC2252] Wahl, M., Coulbeck, A., Howes, T. and S. Kille, "Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions", RFC 2252, December 1997. [SUBENTRY] Zeilenga, K. and S. Legg, "Subentries in LDAP", draft-zeilenga-ldap-subentry-xx.txt, a work in progress, January 2002. 9. Informative References [RFC2028] Hovey, R. and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996. [BAC] Legg, S., "Basic and Simplified Access Control in LDAP", draft-legg-ldap-acm-bac-xx.txt, a work in progress, February 2002. [COLLECT] Zeilenga, K., "Collective Attributes in LDAP", draft-zeilenga-ldap-collective-xx.txt, a work in progress, January 2002. [X501] ITU-T Recommendation X.501 (02/2001), Information technology - Open Systems Interconnection - The Directory: Models 10. Intellectual Property Notice Legg Expires 22 August 2002 [Page 9] INTERNET-DRAFT Access Control Administration February 22, 2002 The IETF takes no position regarding 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 the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. [RFC2028] Copies of claims of rights made available for publication 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 implementors or users of this specification 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 address the information to the IETF Executive Director. 11. Copyright Notice Copyright (C) The Internet Society (2002). 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. Legg Expires 22 August 2002 [Page 10] INTERNET-DRAFT Access Control Administration February 22, 2002 12. Author's Address Steven Legg Adacel Technologies Ltd. 405-409 Ferntree Gully Road Mount Waverley, Victoria 3149 AUSTRALIA Phone: +61 3 9451 2107 Fax: +61 3 9541 2121 EMail: steven.legg@adacel.com.au Legg Expires 22 August 2002 [Page 11]