Home | History | Annotate | Line # | Download | only in rfc
      1 
      2 
      3 
      4 
      5 
      6 
      7 Network Working Group                                        K. Zeilenga
      8 Request for Comments: 4530                           OpenLDAP Foundation
      9 Category: Standards Track                                      June 2006
     10 
     11 
     12               Lightweight Directory Access Protocol (LDAP)
     13                     entryUUID Operational Attribute
     14 
     15 
     16 Status of This Memo
     17 
     18    This document specifies an Internet standards track protocol for the
     19    Internet community, and requests discussion and suggestions for
     20    improvements.  Please refer to the current edition of the "Internet
     21    Official Protocol Standards" (STD 1) for the standardization state
     22    and status of this protocol.  Distribution of this memo is unlimited.
     23 
     24 Copyright Notice
     25 
     26    Copyright (C) The Internet Society (2006).
     27 
     28 Abstract
     29 
     30    This document describes the LDAP/X.500 'entryUUID' operational
     31    attribute and associated matching rules and syntax.  The attribute
     32    holds a server-assigned Universally Unique Identifier (UUID) for the
     33    object.  Directory clients may use this attribute to distinguish
     34    objects identified by a distinguished name or to locate an object
     35    after renaming.
     36 
     37 
     38 
     39 
     40 
     41 
     42 
     43 
     44 
     45 
     46 
     47 
     48 
     49 
     50 
     51 
     52 
     53 
     54 
     55 
     56 
     57 
     58 Zeilenga                    Standards Track                     [Page 1]
     59 
     61 RFC 4530                     LDAP entryUUID                    June 2006
     62 
     63 
     64 Table of Contents
     65 
     66    1. Background and Intended Use .....................................2
     67    2. UUID Schema Elements ............................................3
     68       2.1. UUID Syntax ................................................3
     69       2.2. 'uuidMatch' Matching Rule ..................................3
     70       2.3. 'uuidOrderingMatch' Matching Rule ..........................3
     71       2.4. 'entryUUID' Attribute ......................................4
     72    3. Security Considerations .........................................4
     73    4. IANA Considerations .............................................5
     74       4.1. Object Identifier Registration .............................5
     75       4.2. UUID Syntax Registration ...................................5
     76       4.3. 'uuidMatch' Descriptor Registration ........................5
     77       4.4. 'uuidOrderingMatch' Descriptor Registration ................5
     78       4.5. 'entryUUID' Descriptor Registration ........................6
     79    5. Acknowledgements ................................................6
     80    6. References ......................................................6
     81       6.1. Normative References .......................................6
     82       6.2. Informative References .....................................7
     83 
     84 1.  Background and Intended Use
     85 
     86    In X.500 Directory Services [X.501], such as those accessible using
     87    the Lightweight Directory Access Protocol (LDAP) [RFC4510], an object
     88    is identified by its distinguished name (DN).  However, DNs are not
     89    stable identifiers.  That is, a new object may be identified by a DN
     90    that previously identified another (now renamed or deleted) object.
     91 
     92    A Universally Unique Identifier (UUID) is "an identifier unique
     93    across both space and time, with respect to the space of all UUIDs"
     94    [RFC4122].  UUIDs are used in a wide range of systems.
     95 
     96    This document describes the 'entryUUID' operational attribute, which
     97    holds the UUID assigned to the object by the server.  Clients may use
     98    this attribute to distinguish objects identified by a particular
     99    distinguished name or to locate a particular object after renaming.
    100 
    101    This document defines the UUID syntax, the 'uuidMatch' and
    102    'uuidOrderingMatch' matching rules, and the 'entryUUID' attribute
    103    type.
    104 
    105    Schema definitions are provided using LDAP description formats
    106    [RFC4512].  Definitions provided here are formatted (line wrapped)
    107    for readability.
    108 
    109 
    110 
    111 
    112 
    113 
    114 
    115 Zeilenga                    Standards Track                     [Page 2]
    116 
    118 RFC 4530                     LDAP entryUUID                    June 2006
    119 
    120 
    121    In this document, the key words "MUST", "MUST NOT", "REQUIRED",
    122    "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
    123    and "OPTIONAL" are to be interpreted as described in BCP 14
    124    [RFC2119].
    125 
    126 2.  UUID Schema Elements
    127 
    128 2.1.  UUID Syntax
    129 
    130    A Universally Unique Identifier (UUID) [RFC4122] is a 16-octet (128-
    131    bit) value that identifies an object.  The ASN.1 [X.680] type UUID is
    132    defined to represent UUIDs as follows:
    133 
    134        UUID ::= OCTET STRING (SIZE(16))
    135              -- constrained to an UUID [RFC4122]
    136 
    137    In LDAP, UUID values are encoded using the [ASCII] character string
    138    representation described in [RFC4122].  For example,
    139    "597ae2f6-16a6-1027-98f4-d28b5365dc14".
    140 
    141    The following is an LDAP syntax description suitable for publication
    142    in subschema subentries.
    143 
    144        ( 1.3.6.1.1.16.1 DESC 'UUID' )
    145 
    146 2.2.  'uuidMatch' Matching Rule
    147 
    148    The 'uuidMatch' matching rule compares an asserted UUID with a stored
    149    UUID for equality.  Its semantics are the same as the
    150    'octetStringMatch' [X.520][RFC4517] matching rule.  The rule differs
    151    from 'octetStringMatch' in that the assertion value is encoded using
    152    the UUID string representation instead of the normal OCTET STRING
    153    string representation.
    154 
    155    The following is an LDAP matching rule description suitable for
    156    publication in subschema subentries.
    157 
    158        ( 1.3.6.1.1.16.2 NAME 'uuidMatch'
    159            SYNTAX 1.3.6.1.1.16.1 )
    160 
    161 2.3.  'uuidOrderingMatch' Matching Rule
    162 
    163    The 'uuidOrderingMatch' matching rule compares an asserted UUID with
    164    a stored UUID for ordering.  Its semantics are the same as the
    165    'octetStringOrderingMatch' [X.520][RFC4517] matching rule.  The rule
    166    differs from 'octetStringOrderingMatch' in that the assertion value
    167    is encoded using the UUID string representation instead of the normal
    168    OCTET STRING string representation.
    169 
    170 
    171 
    172 Zeilenga                    Standards Track                     [Page 3]
    173 
    175 RFC 4530                     LDAP entryUUID                    June 2006
    176 
    177 
    178    The following is an LDAP matching rule description suitable for
    179    publication in subschema subentries.
    180 
    181        ( 1.3.6.1.1.16.3 NAME 'uuidOrderingMatch'
    182            SYNTAX 1.3.6.1.1.16.1 )
    183 
    184    Note that not all UUID variants have a defined ordering; and even
    185    where it does, servers are not obligated to assign UUIDs in any
    186    particular order.  This matching rule is provided for completeness.
    187 
    188 2.4.  'entryUUID' Attribute
    189 
    190    The 'entryUUID' operational attribute provides the Universally Unique
    191    Identifier (UUID) assigned to the entry.
    192 
    193    The following is an LDAP attribute type description suitable for
    194    publication in subschema subentries.
    195 
    196        ( 1.3.6.1.1.16.4 NAME 'entryUUID'
    197            DESC 'UUID of the entry'
    198            EQUALITY uuidMatch
    199            ORDERING uuidOrderingMatch
    200            SYNTAX 1.3.6.1.1.16.1
    201            SINGLE-VALUE
    202            NO-USER-MODIFICATION
    203            USAGE directoryOperation )
    204 
    205    Servers SHALL generate and assign a new UUID to each entry upon its
    206    addition to the directory and provide that UUID as the value of the
    207    'entryUUID' operational attribute.  An entry's UUID is immutable.
    208 
    209    UUID are to be generated in accordance with Section 4 of [RFC4122].
    210    In particular, servers MUST ensure that each generated UUID is unique
    211    in space and time.
    212 
    213 3.  Security Considerations
    214 
    215    An entry's relative distinguish name (RDN) is composed from attribute
    216    values of the entry, which are commonly descriptive of the object the
    217    entry represents.  Although deployers are encouraged to use naming
    218    attributes whose values are widely disclosable [RFC4514], entries are
    219    often named using information that cannot be disclosed to all
    220    parties.  As UUIDs do not contain any descriptive information of the
    221    object they identify, UUIDs may be used to identify a particular
    222    entry without disclosure of its contents.
    223 
    224    General UUID security considerations [RFC4122] apply.
    225 
    226 
    227 
    228 
    229 Zeilenga                    Standards Track                     [Page 4]
    230 
    232 RFC 4530                     LDAP entryUUID                    June 2006
    233 
    234 
    235    General LDAP security considerations [RFC4510] apply.
    236 
    237 4.  IANA Considerations
    238 
    239    The IANA has registered the LDAP values [RFC4520] specified in this
    240    document.
    241 
    242 4.1.  Object Identifier Registration
    243 
    244        Subject: Request for LDAP OID Registration
    245        Person & email address to contact for further information:
    246            Kurt Zeilenga <kurt (a] OpenLDAP.org>
    247        Specification: RFC 4530
    248        Author/Change Controller: IESG
    249        Comments:
    250            Identifies the UUID schema elements
    251 
    252 4.2.  UUID Syntax Registration
    253 
    254        Subject: Request for LDAP Syntax Registration
    255        Object Identifier: 1.3.6.1.1.16.1
    256        Description: UUID
    257        Person & email address to contact for further information:
    258            Kurt Zeilenga <kurt (a] OpenLDAP.org>
    259        Specification: RFC 4530
    260        Author/Change Controller: IESG
    261        Comments:
    262             Identifies the UUID syntax
    263 
    264 4.3.  'uuidMatch' Descriptor Registration
    265 
    266        Subject: Request for LDAP Descriptor Registration
    267        Descriptor (short name): uuidMatch
    268        Object Identifier: 1.3.6.1.1.16.2
    269        Person & email address to contact for further information:
    270            Kurt Zeilenga <kurt (a] OpenLDAP.org>
    271        Usage: Matching Rule
    272        Specification: RFC 4530
    273        Author/Change Controller: IESG
    274 
    275 4.4.  'uuidOrderingMatch' Descriptor Registration
    276 
    277        Subject: Request for LDAP Descriptor Registration
    278        Descriptor (short name): uuidOrderingMatch
    279        Object Identifier: 1.3.6.1.1.16.3
    280        Person & email address to contact for further information:
    281            Kurt Zeilenga <kurt (a] OpenLDAP.org>
    282        Usage: Matching Rule
    283 
    284 
    285 
    286 Zeilenga                    Standards Track                     [Page 5]
    287 
    289 RFC 4530                     LDAP entryUUID                    June 2006
    290 
    291 
    292        Specification: RFC 4530
    293        Author/Change Controller: IESG
    294 
    295 4.5.  'entryUUID' Descriptor Registration
    296 
    297    The IANA has registered the LDAP 'entryUUID' descriptor.
    298 
    299        Subject: Request for LDAP Descriptor Registration
    300        Descriptor (short name): entryUUID
    301        Object Identifier: 1.3.6.1.1.16.4
    302        Person & email address to contact for further information:
    303            Kurt Zeilenga <kurt (a] OpenLDAP.org>
    304        Usage: Attribute Type
    305        Specification: RFC 4530
    306        Author/Change Controller: IESG
    307 
    308 5.  Acknowledgements
    309 
    310    This document is based upon discussions in the LDAP Update and
    311    Duplication Protocols (LDUP) WG.  Members of the LDAP Directorate
    312    provided review.
    313 
    314 6.  References
    315 
    316 6.1.  Normative References
    317 
    318    [RFC2119]     Bradner, S., "Key words for use in RFCs to Indicate
    319                  Requirement Levels", BCP 14, RFC 2119, March 1997.
    320 
    321    [RFC4122]     Leach, P., Mealling, M., and R. Salz, "A Universally
    322                  Unique IDentifier (UUID) URN Namespace", RFC 4122, July
    323                  2005.
    324 
    325    [RFC4510]     Zeilenga, K., Ed., "Lightweight Directory Access
    326                  Protocol (LDAP): Technical Specification Road Map", RFC
    327                  4510, June 2006.
    328 
    329    [RFC4512]     Zeilenga, K., "Lightweight Directory Access Protocol
    330                  (LDAP): Directory Information Models", RFC 4512, June
    331                  2006.
    332 
    333    [RFC4517]     Legg, S., Ed., "Lightweight Directory Access Protocol
    334                  (LDAP): Syntaxes and Matching Rules", RFC 4517, June
    335                  2006.
    336 
    337    [ASCII]       Coded Character Set--7-bit American Standard Code for
    338                  Information Interchange, ANSI X3.4-1986.
    339 
    340 
    341 
    342 
    343 Zeilenga                    Standards Track                     [Page 6]
    344 
    346 RFC 4530                     LDAP entryUUID                    June 2006
    347 
    348 
    349    [X.501]       International Telecommunication Union -
    350                  Telecommunication Standardization Sector, "The
    351                  Directory -- Models," X.501(1993) (also ISO/IEC 9594-
    352                  2:1994).
    353 
    354    [X.520]       International Telecommunication Union -
    355                  Telecommunication Standardization Sector, "The
    356                  Directory: Selected Attribute Types", X.520(1993) (also
    357                  ISO/IEC 9594-6:1994).
    358 
    359    [X.680]       International Telecommunication Union -
    360                  Telecommunication Standardization Sector, "Abstract
    361                  Syntax Notation One (ASN.1) - Specification of Basic
    362                  Notation", X.680(2002) (also ISO/IEC 8824-1:2002).
    363 
    364 6.2.  Informative References
    365 
    366    [RFC4514]     Zeilenga, K., Ed., "Lightweight Directory Access
    367                  Protocol (LDAP): String Representation of Distinguished
    368                  Names", RFC 4514, June 2006.
    369 
    370    [RFC4520]     Zeilenga, K., "Internet Assigned Numbers Authority
    371                  (IANA) Considerations for the Lightweight Directory
    372                  Access Protocol (LDAP)", BCP 64, RFC 4520, June 2006.
    373 
    374 Author's Address
    375 
    376    Kurt D. Zeilenga
    377    OpenLDAP Foundation
    378 
    379    EMail: Kurt (a] OpenLDAP.org
    380 
    381 
    382 
    383 
    384 
    385 
    386 
    387 
    388 
    389 
    390 
    391 
    392 
    393 
    394 
    395 
    396 
    397 
    398 
    399 
    400 Zeilenga                    Standards Track                     [Page 7]
    401 
    403 RFC 4530                     LDAP entryUUID                    June 2006
    404 
    405 
    406 Full Copyright Statement
    407 
    408    Copyright (C) The Internet Society (2006).
    409 
    410    This document is subject to the rights, licenses and restrictions
    411    contained in BCP 78, and except as set forth therein, the authors
    412    retain all their rights.
    413 
    414    This document and the information contained herein are provided on an
    415    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
    416    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
    417    ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
    418    INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
    419    INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
    420    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
    421 
    422 Intellectual Property
    423 
    424    The IETF takes no position regarding the validity or scope of any
    425    Intellectual Property Rights or other rights that might be claimed to
    426    pertain to the implementation or use of the technology described in
    427    this document or the extent to which any license under such rights
    428    might or might not be available; nor does it represent that it has
    429    made any independent effort to identify any such rights.  Information
    430    on the procedures with respect to rights in RFC documents can be
    431    found in BCP 78 and BCP 79.
    432 
    433    Copies of IPR disclosures made to the IETF Secretariat and any
    434    assurances of licenses to be made available, or the result of an
    435    attempt made to obtain a general license or permission for the use of
    436    such proprietary rights by implementers or users of this
    437    specification can be obtained from the IETF on-line IPR repository at
    438    http://www.ietf.org/ipr.
    439 
    440    The IETF invites any interested party to bring to its attention any
    441    copyrights, patents or patent applications, or other proprietary
    442    rights that may cover technology that may be required to implement
    443    this standard.  Please address the information to the IETF at
    444    ietf-ipr (a] ietf.org.
    445 
    446 Acknowledgement
    447 
    448    Funding for the RFC Editor function is provided by the IETF
    449    Administrative Support Activity (IASA).
    450 
    451 
    452 
    453 
    454 
    455 
    456 
    457 Zeilenga                    Standards Track                     [Page 8]
    458 
    460