home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_a_c / draft-ietf-asid-ldapv3-url-00.txt < prev    next >
Text File  |  1997-04-02  |  9KB  |  301 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        Tim Howes
  8. INTERNET DRAFT                                              Mark Smith
  9. OBSOLETES: RFC 1959                      Netscape Communications Corp.
  10.                                                             March 1997
  11.  
  12.  
  13.                           The LDAP URL Format
  14.                      <draft-ietf-asid-ldapv3-url-00.txt>
  15.  
  16.  
  17.  
  18. 1.  Status of this Memo
  19.  
  20. This document is an Internet-Draft.  Internet-Drafts are  working  docu-
  21. ments  of the Internet Engineering Task Force (IETF), its areas, and its
  22. working groups.  Note that other  groups  may  also  distribute  working
  23. documents as Internet-Drafts.
  24.  
  25. Internet-Drafts are draft documents valid for a maximum  of  six  months
  26. and  may  be  updated,  replaced, or obsoleted by other documents at any
  27. time.  It is inappropriate to use Internet- Drafts as reference material
  28. or to cite them other than as ``work in progress.''
  29.  
  30. To learn the current status of  any  Internet-Draft,  please  check  the
  31. ``1id-abstracts.txt''  listing  contained in the Internet- Drafts Shadow
  32. Directories on ds.internic.net (US East Coast), nic.nordu.net  (Europe),
  33. ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  34.  
  35. 2.  Abstract
  36.  
  37. LDAP is the Lightweight Directory Access Protocol, defined  in  [2]  and
  38. [3].   This  document  describes  a  format for an LDAP Uniform Resource
  39. Locator.  The format describes an LDAP search operation  to  perform  to
  40. retrieve  information from an LDAP directory. This document replaces RFC
  41. 1959. It updates the LDAP URL format for version 3 of LDAP and defines a
  42. way  to  indicate  whether  the URL references a master or slave server.
  43. This document also defines a second URL scheme prefix for  LDAP  running
  44. over the secure sockets layer protocol.
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Howes & Smith                                                   [Page 1]
  59.  
  60.  
  61.  
  62.  
  63.  
  64. INTERNET DRAFT                                                March 1997
  65.  
  66.  
  67. 3.  URL Definition
  68.  
  69. An LDAP URL begins with  the  protocol  prefix  "ldap"  (or  the  prefix
  70. "ldaps" for LDAP over SSL) and is defined by the following grammar.
  71.  
  72.     <ldapurl> ::= <scheme> "://" [ <hostport> ] "/"
  73.                 [ <dn> [ "?" [ <attributes> ] [ "?" [ <scope> ]
  74.                 [ "?" [ <filter> ] [ "?" <masterorslave> ] ] ] ] ]
  75.  
  76.     <scheme> ::= "ldap" | "ldaps"
  77.  
  78.     <hostport> ::= <hostname> [ ":" <portnumber> ]
  79.  
  80.     <dn> ::= a distinguished name string as defined in [1]
  81.  
  82.     <attributes> ::= NULL
  83.                    | <attributedesc>
  84.                    | <attributedesc> [ "," <attributes> ]
  85.  
  86.     <attributedesc> ::= an AttributeDescription string as defined in [3]
  87.  
  88.     <scope> ::= "base" | "one" | "sub"
  89.  
  90.     <filter> ::= a filter string as defined in [4]
  91.  
  92.     <masterorslave> ::= "master" | "slave"
  93.  
  94. The "ldap" and "ldaps" prefixes indicate an entry or entries residing in
  95. the  LDAP  server  running  on  the given <hostname> at the given <port-
  96. number>.  For regular LDAP servers, the default port is  TCP  port  389.
  97. For  LDAP  servers  running over secure sockets layer transport [6], the
  98. default port is 636.
  99.  
  100. The <dn> is an LDAP Distinguished Name using the string format described
  101. in [1]. It identifies the base object of the LDAP search.
  102.  
  103. The <attributes> construct is used to indicate which  attributes  should
  104. be returned from the entry or entries.  Individual <attributetype> names
  105. are as defined for AttributeType in RFC 1777.  If the <attributes>  part
  106. is omitted, all attributes of the entry or entries should be returned.
  107.  
  108. The <scope> construct is used to specify the scope of the search to per-
  109. form  in  the  given LDAP server.  The allowable scopes are "base" for a
  110. base object search, "one" for a one-level search, or "sub" for a subtree
  111. search.  If <scope> is omitted, a scope of "base" is assumed.
  112.  
  113. The <filter> is used to specify the search filter to  apply  to  entries
  114. within  the  specified  scope  during  the  search.   It  has the format
  115.  
  116.  
  117.  
  118. Howes & Smith                                                   [Page 2]
  119.  
  120.  
  121.  
  122.  
  123.  
  124. INTERNET DRAFT                                                March 1997
  125.  
  126.  
  127. specified in [4].  If <filter> is omitted, a filter of "(objectClass=*)"
  128. is assumed.
  129.  
  130. The <masterorslave> construct is optionally used to indicate whether the
  131. LDAP  URL  refers  to a master LDAP server (i.e., one able to update the
  132. data referenced) or a slave LDAP server (i.e., one unable to update  the
  133. data referenced).
  134.  
  135. Note that if the entry or entries reside in the  X.500  namespace,  they
  136. should  be  reachable  from  any LDAP server that is providing front-end
  137. access to the X.500 directory.  If the <hostport> part  of  the  URL  is
  138. missing, the URL can be resolved by contacting any X.500-back-ended LDAP
  139. server.
  140.  
  141. Note that any any URL-illegal characters (e.g., spaces) occurring inside
  142. a  <dn>, <filter>, or other element of an LDAP URL must be escaped using
  143. the % method described in RFC 1738.
  144.  
  145. 4.  Examples
  146.  
  147. The following are some example LDAP URLs using the format defined above.
  148. An  LDAP  URL  referring  to the University of Michigan entry, available
  149. from any X.500-capable LDAP server:
  150.  
  151.   ldap:///o=University%20of%20Michigan,c=US
  152.  
  153. An LDAP URL referring to the University of Michigan entry in a  particu-
  154. lar ldap server:
  155.  
  156.   ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US
  157.  
  158. This URL corresponds to a base object search  of  the  "o=University  of
  159. Michigan,  c=US" entry using a filter of (objectclass=*), requesting all
  160. attributes.
  161.  
  162. An LDAP URL referring to only the postalAddress attribute of the Univer-
  163. sity of Michigan entry:
  164.  
  165.   ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress
  166.  
  167. The corresponding LDAP search operation is the same as in  the  previous
  168. example, except that only the postalAddress attribute is requested.
  169.  
  170. An LDAP URL referring to the  set  of  entries  found  by  querying  any
  171. X.500-capable  LDAP  server and doing a subtree search of the University
  172. of Michigan for any entry with a common name of "Babs Jensen",  retriev-
  173. ing all attributes:
  174.  
  175.  
  176.  
  177.  
  178. Howes & Smith                                                   [Page 3]
  179.  
  180.  
  181.  
  182.  
  183.  
  184. INTERNET DRAFT                                                March 1997
  185.  
  186.  
  187.   ldap:///o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)
  188.  
  189. A secure LDAP URL referring to the master server containing all children
  190. of the c=GB entry:
  191.  
  192.   ldaps://ldap.itd.umich.edu/c=GB?objectClass?one??master
  193.  
  194. The objectClass attribute is requested to be  returned  along  with  the
  195. entries, and the default filter of "(objectclass=*)" is used.
  196.  
  197. 5.  Security Considerations
  198.  
  199. The LDAP URL format does not provide a way to specify credentials to use
  200. when  resolving  the  URL.  Therefore, it is expected that such requests
  201. will be unauthenticated, unless some out-of-band mechanism is used.
  202.  
  203. The LDAP URL format allows the specification of an arbitrary LDAP search
  204. operation  to  be  performed when evaluating the LDAP URL.  Following an
  205. LDAP URL may cause unexpected results, for  example,  the  retrieval  of
  206. large  amounts of data, the initiation of a long-lived search, etc.  The
  207. security implications of resolving an LDAP URL are the same as those  of
  208. resolving an LDAP search query.
  209.  
  210. 6.  Bibliography
  211.  
  212. [1]  Lightweight Directory Access Protocol (v3): UTF-8 String  Represen-
  213.      tation  of  Distinguished  Names.   M.  Wahl, S. Kille, draft-ietf-
  214.      asid-ldapv3-dn-02.txt, March 1997.
  215.  
  216. [2]  Lightweight Directory Access Protocol (v3).  M. Wahl, T. Howes,  S.
  217.      Kille, draft-ietf-asid-ldapv3-protocol-04.txt, March 1997.
  218.  
  219. [3]  Lightweight Directory Access Protocol (v3): Attribute Syntax Defin-
  220.      itions.   M.  Wahl,  A.  Coulbeck,  T. Howes, S. Kille, draft-ietf-
  221.      asid-ldapv3-attributes-04.txt, March 1997.
  222.  
  223. [4]  A String Representation of LDAP Search Filters.  T.  Howes,  draft-
  224.      ietf-asid-ldapv3-filter.00.txt, March 1997.
  225.  
  226. [5]  Uniform Resource Locators (URL). T. Berners-Lee,  L.  Masinter,  M.
  227.      McCahill, Request for Comment (RFC) 1738, December 1994.
  228.  
  229. [6]  The SSL Protocol Version 3.0. A. Freier,  P.  Karlton,  P.  Kocher,
  230.      draft-ietf-tls-ssl-version3-00.txt, November 1996.
  231.  
  232. 7.  Author's Address
  233.  
  234.    Tim Howes
  235.  
  236.  
  237.  
  238. Howes & Smith                                                   [Page 4]
  239.  
  240.  
  241.  
  242.  
  243.  
  244. INTERNET DRAFT                                                March 1997
  245.  
  246.  
  247.    University of Michigan
  248.    ITD Research Systems
  249.    535 W William St.
  250.    Ann Arbor, MI 48103-4943
  251.    USA
  252.    +1 313 747-4454
  253.    tim@umich.edu
  254.  
  255.    Mark Smith
  256.    University of Michigan
  257.    ITD Research Systems
  258.    535 W William St.
  259.    Ann Arbor, MI 48103-4943
  260.    USA
  261.    +1 313 764-2277
  262.    mcs@umich.edu
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298. Howes & Smith                                                   [Page 5]
  299.  
  300.  
  301.