RFC 7853
A URN Namespace for Globus
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:allurn: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-3c970e0c9cc4urn: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
- ietf: rfc7853 2016-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms