RFC 7853

A URN Namespace for Globus

πŸ“… published May 2016, from ietf

A URN Namespace for Globus πŸŽ€

RFC 7853, published May 2016, written by Stuart Martin, Steve Tuecke, Brendan McCollam, and Mattias Lidman from the University of Chicago πŸ¦‹. It's an Informational doc (not Standards Track), part of the IETF stream, ISSN 2070-1721. Its title block doesn't list any Obsoletes or Updates entries, so it doesn't replace or update any other RFC πŸ’….

Here's the TOC as it appears in the original:

   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

Abstract 🌸

This doc describes a URN (Uniform Resource Name) namespace that Globus uses for naming persistent resources. Basically, a naming scheme that's meant to last πŸ’–.

Status of This Memo πŸ“œ

This isn't a Standards Track spec. It's published for informational purposes, so don't treat it as a must-follow rulebook ✨.

It is a product of the IETF, and it reflects IETF community consensus. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved doc is a candidate for any level of Internet Standard, so see Section 2 of RFC 5741 for the details 🫢.

For the current status, errata, and feedback info, check http://www.rfc-editor.org/info/rfc7853.

Copyright Notice ⭐

Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved.

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the publication date. Please read them carefully, because they spell out your rights and restrictions for 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 they come without warranty as described in the Simplified BSD License πŸ”₯.


1. Introduction ✨

Globus (https://www.globus.org) is a software-as-a-service provider. It builds and runs services and tools for the global research and education community, which is so cool 🌈.

Globus offers several services to users across lots of institutions, mostly for research that runs on high-performance computing. Globus makes unique identifiers that will persist in external systems, and those identifiers must be recognisable as references to Globus entities πŸ’œ.

So this doc 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's a required US-ASCII string, following the syntax above, and it has to conform to the URN syntax requirements (see [RFC2141]). It identifies a category of Globus entities, often tied to one particular Globus service. For example, "auth" could be the SNID for identifiers made by the Globus authentication and authorization service (Globus Auth) πŸ”‘.

The "subnamespace-specific-string" is an optional US-ASCII string and the second-level segment of the NSS, and it belongs to the "SNID" context. It also follows the syntax above and has to conform to the URN syntax requirements (see [RFC2141]). It identifies a category of thing inside that Globus service, such as "scope:transfer.api.globus.org:all" 🌸.

Relevant Ancillary Documentation:

None.

Identifier Uniqueness Considerations:

Identifier uniqueness is enforced by the Globus Project Lead. The Globus Project Lead may sub-delegate part of the namespace to third parties. Neither the Globus Project Lead nor any third party is allowed to reassign previously assigned URNs, which is a hard no πŸ™…β€β™€οΈ. 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. In some circumstances, though, 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 to the authorities 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) 🧁

These examples are based on plans for the Globus URN, so they're not guaranteed to be valid. Treat them as vibes, not gospel πŸ™ˆ.

The Globus Auth service defines the "auth" SNID and has these URNs:

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

A hypothetical service, the Globus Groups service, would get its own distinct SNID. If that SNID were "groups", it might have URNs like these:

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

4. Namespace Considerations πŸ”

The existing IANA namespaces just aren't enough here. Globus is making unique identifiers that persist in external systems, and those identifiers must be recognisable as references to Globus entities. Not me needing a whole new namespace 😭.

The Globus namespace is expected to get a lot of use, including but not limited to:

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

5. Community Considerations 🫢

Members of the Globus community get persistent, globally unique identifiers for use in software, and they can count on conformance with protocols that Globus and its third-party collaborators develop and use. Main character energy for the whole community 🌟.

6. Security Considerations πŸ”

There are no special meanings for characters in the NSS. So there are no extra security considerations beyond the ones that normally come with using and resolving URNs in general, which are described in [RFC1737] and [RFC2141].

Reminder: the NSS has no hidden character meanings, but the usual URN security considerations still apply. Stay alert, bestie πŸ’€.

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 thank Stephen Rosen and Vas Vasiliadis for proofreading the document and giving valuable feedback. Such good friends πŸ₯°.

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

That's the whole RFC, bestie πŸŒˆβœ¨πŸ’…

πŸ“¦ where this page comes from