Internet Engineering Task Force (IETF)
Request for Comments: 7853
Category: Informational
ISSN: 2070-1721
S. Martin
S. Tuecke
B. McCollam
M. Lidman
University of Chicago
May 2016

A URN Namespace for Globus

Abstract

This document describes a URN (Uniform Resource Name) namespace to be used by Globus for naming persistent resources.

Status of This Memo

This document is not an Internet Standards Track specification; it is published for informational purposes.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7853.

Copyright Notice

Copyright © 2016 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Table of Contents

   1. Introduction .................................................. 2
   2. Specification Template ........................................ 3
   3. Examples (Informative) ........................................ 5
   4. Namespace Considerations ...................................... 5
   5. Community Considerations ...................................... 6
   6. Security Considerations ....................................... 6
   7. IANA Considerations ........................................... 6
   8. Normative References .......................................... 6
   Acknowledgments .................................................. 7
   Authors' Addresses ............................................... 7

1. Introduction

Globus (https://www.globus.org) is a software-as-a-service provider that develops and operates services and tools for the global research and education community.

Globus provides multiple services for users across many institutions, primarily for research driven by high-performance computing. Globus creates unique identifiers that will persist in external systems and must be identifiable as references to Globus entities.

To address this need, this document requests that a formal URN space type be assigned as described in Section 4.3 of [RFC3406].

2. Specification Template

Namespace ID:

      globus

Registration Information:

Version 1
Date: 2016-03-18

Declared Registrant of the Namespace:

      Globus Project Lead
      401 N Michigan Ave
      Suite 900
      Chicago, Illinois  60611
      USA
      
      Email:  tuecke@globus.org

The position of Globus Project Lead is currently filled by Steve Tuecke.

Declaration of Syntactic Structure:

The Namespace Specific String (NSS) of all URNs that use the "globus" NID shall have the following structure:

<URN> ::= "urn:" "globus" ":" <NSS>

      <NSS> ::= <SNID> | <SNID> ":" <subnamespace-specific-string>
      
      <SNID> ::= 1*<non-colon-chars>
      
      <subnamespace-specific-string> ::= 1*<URN chars>
      
      <non-colon-chars> ::= <non-colon-trans> | "%" <hex> <hex>
      
      <non-colon-trans> ::= <upper> | <lower> | <number> |
                            <non-colon-other>
      
      <non-colon-other> ::= "(" | ")" | "+" | "," | "-" | "." | "=" |
                            "@" | ";" | "$" | "_" | "!" | "*" | "'"

The "SNID" is the top-level segment of the NSS. It is a required US-ASCII string, subject to the above syntax, that conforms to the URN syntax requirements (see [RFC2141]). It identifies a category of Globus entities, often associated with a particular Globus service. For example "auth" could be used as an SNID for identifiers generated by the Globus authentication and authorization service (Globus Auth).

The "subnamespace-specific-string" is an optional US-ASCII string and second-level segment of the NSS, belonging to the "SNID" context, subject to the above syntax and conformant to the URN syntax requirements (see [RFC2141]). "subnamespace-specific- string" identifies a category of thing within that Globus service, such as "scope:transfer.api.globus.org:all"

Relevant Ancillary Documentation:

None.

Identifier Uniqueness Considerations:

Identifier uniqueness will be enforced by the Globus Project Lead. The Globus Project Lead may sub-delegate part of the namespace to third parties. It will not be permissible, neither by the Globus Project Lead nor any third party, to reassign previously assigned URNs. A practical consequence is that a previously assigned subnamespace cannot be reassigned, unless additional arrangements are made to prevent identifier reassignments.

Identifier Persistence Considerations:

Identifiers will never be reassigned, but in some circumstances they may be invalidated by the Globus Project Lead or by a third party.

Process of Identifier Assignment:

Assignment of subnamespace identifiers is limited to the Globus Project Lead and those authorities that are specifically designated by the Globus Project Lead. The Globus Project Lead may assign portions of the globus namespace (specifically, those under designated subnamespace identifiers) for assignment by third parties.

Process of Identifier Resolution:

None currently.

Future versions of this document may define resources that can be used to resolve Globus identifiers.

Rules for Lexical Equivalence:

No additional rules beyond those specified in RFC 2141.

Conformance with URN Syntax:

No special considerations.

Validation Mechanism:

None currently.

Future versions of this document may define resources that can be used to validate Globus identifiers.

Scope:

Global.

3. Examples (Informative)

The following examples are based on plans for the Globus URN. They are therefore not guaranteed to be valid.

The Globus Auth service defines the "auth" SNID and contains the following URNs:

   o  urn:globus:auth:scope:transfer.api.globus.org:all
   
   o  urn:globus:auth:grants:dependent_token

A hypothetical service, the Globus Groups service, would have a distinct SNID. If that SNID were "groups", it might have URNs such as the following:

   o  urn:globus:groups:group:669b572e-9de4-11e5-966e-3c970e0c9cc4
   
   o  urn:globus:groups:memberships:72e1c6c6-9de4-11e5-966e-3c970e0c9cc4

4. Namespace Considerations

The current set of existing IANA namespaces are insufficient because Globus will be creating unique identifiers that will persist in the external system; these identifiers must be identifiable as references to Globus entities.

The use of the Globus namespace is expected to be broad, including but not limited to usage for:

   o  OAuth2 scopes (see [RFC6749])
  • OAuth2 custom extension grants
  • Entity identification for Globus Services

5. Community Considerations

Members of the Globus community will benefit from persistent and globally unique identifiers for use in software and in conformance with protocols developed and used by Globus and third-party collaborators.

6. Security Considerations

There are no special meanings for characters in the NSS. Thus, there are no additional security considerations other than those normally associated with the use and resolution of URNs in general, which are described in [RFC1737] and [RFC2141].

7. IANA Considerations

   IANA has registered the "globus" namespace identifier (NID) in the
   "Formal URN Namespaces" registry located at
   <http://www.iana.org/assignments/urn-namespaces>.

8. Normative References

   [RFC1737]  Sollins, K. and L. Masinter, "Functional Requirements for
              Uniform Resource Names", RFC 1737, DOI 10.17487/RFC1737,
              December 1994, <http://www.rfc-editor.org/info/rfc1737>.
   
   [RFC2141]  Moats, R., "URN Syntax", RFC 2141, DOI 10.17487/RFC2141,
              May 1997, <http://www.rfc-editor.org/info/rfc2141>.
   
   [RFC3406]  Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom,
              "Uniform Resource Names (URN) Namespace Definition
              Mechanisms", BCP 66, RFC 3406, DOI 10.17487/RFC3406,
              October 2002, <http://www.rfc-editor.org/info/rfc3406>.
   
   [RFC6749]  Hardt, D., Ed., "The OAuth 2.0 Authorization Framework",
              RFC 6749, DOI 10.17487/RFC6749, October 2012,
              <http://www.rfc-editor.org/info/rfc6749>.

Acknowledgments

The authors would like to thank Stephen Rosen and Vas Vasiliadis for proofreading this document and providing valuable feedback.

Authors' Addresses

   Stuart Martin
   University of Chicago
   401 N Michigan Ave
   Suite 900
   Chicago, Illinois  60611
   United States

Email:

          sjmartin@uchicago.edu
   
   Steve Tuecke
   University of Chicago
   401 N Michigan Ave
   Suite 900
   Chicago, Illinois  60611
   United States

Email:

          tuecke@globus.org
   
   Brendan McCollam
   University of Chicago
   401 N Michigan Ave
   Suite 900
   Chicago, Illinois  60611
   United States

Email:

          bmccollam@uchicago.edu
   
   Mattias Lidman
   University of Chicago
   401 N Michigan Ave
   Suite 900
   Chicago, Illinois  60611
   United States

Email:

          mattias@uchicago.edu