RFC 6338
Definition of a Uniform Resource Name (URN) Namespace for the Schema for Academia (SCHAC)
RFC 6338: Definition of a Uniform Resource Name (URN) Namespace for the Schema for Academia (SCHAC) ๐
okay bestie, let's get into the title block first ๐ . This one's by V. Giralt (Univ. Malaga) and R. McDuff (Univ. Queensland). It's Informational ๐, it's dated August 2011, and its ISSN is 2070-1721 โจ. The header doesn't list anything it obsoletes or updates, so there's nothing to chase there ๐.
Abstract โจ
this doc describes a Uniform Resource Name (URN) namespace for the Schema for Academia (SCHAC) ๐ฆ.
the namespace is for naming persistent resources defined by SCHAC participants around the world, their working groups, and other designated subordinates ๐. its main job is to hold controlled vocabulary values for attributes in the SCHAC schema ๐. those values get attached to particular instances of persons or objects that belong to any of the SCHAC object classes ๐ซถ.
Status of This Memo
this is NOT an Internet Standards Track spec, it's published for information ๐ธ. it's still a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community ๐ฅ. 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 check Section 2 of RFC 5741 if you want the details ๐ง.
for current status, errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc6338 ๐.
Copyright Notice
Copyright (c) 2011 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, which you can find at http://trustee.ietf.org/license-info as in effect on the publication date ๐. read these carefully, because they spell out your rights and restrictions for this doc ๐. any Code Components pulled out of this doc have to 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 ๐
the Schema for Academia (SCHAC) international activity was born inside the Task Force on European Middleware Coordination and Collaboration (TF-EMC2) of the Trans-European Research and Education Networking Association (TERENA) [6] ๐ช๐บ. the original goal was to harmonize the disjoint person schemas of the participating countries so there'd be one common way to express data about persons, swapped between educational organizations ๐ค. like other person schemas, SCHAC is built to make sharing info about one individual between parties way easier ๐. the sharing is mostly for educational and research institutions, but not only those โจ. the big point is giving people resources and letting them move between these institutions, both virtually and physically ๐ฆ. so the SCHAC schema was defined using input from every participant's national person schema [7] ๐.
SCHAC doesn't replace other person schemas like organizationalPerson [8], inetOrgPerson [9], or eduPerson [10] ๐ . instead it extends them where needed for Higher Education outside the United States ๐. that's kind of the iconic part: SCHAC started as a European effort but ended up useful for groups outside Europe ๐ธ.
2. Requirements Language ๐
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [1] ๐ซถ.
3. Specification Template ๐
Okay bestie, this is the official form for the schac namespace, so let's go through every box. ๐
Namespace ID
schac โจ
Registration Information
- Registration Version Number 1
- Registration Date: 2011-06-22
Registrant of the namespace
European Committee for Academic Middleware (ECAM)
Trans-European Research and Education Networking Association
(TERENA)
Singel
Amsterdam
The Netherlands
Designated contacts
Two contacts, both super qualified. ๐ซถ
Contact: Licia Florio
Affiliation: TERENA
Singel 468 D
Amsterdam, 1017 AW
The Netherlands
EMail: florio@terena.org
Phone: +31(0)20 5304488
Contact: Victoriano Giralt
Affiliation: University of Malaga
Central ICT Services
Blvd. Louis Pasteur, 33
Campus de Teatinos
29071 Malaga
Spain
EMail: victoriano@uma.es
Phone: +34 95 213 1415
Syntactic structure
Okay so the Namespace Specific Strings (NSSs), which is the bit that comes after the urn:schac: part, of every URN SCHAC hands out have to follow the syntax in Section 2.2 of RFC 2141, "URN Syntax" [11]. ๐ธ On top of that, every SCHAC NSS is a left-to-right line of tokens separated by colons, and that line maps onto a tree, with each token going one level deeper. To the right of the lowest naming authority node, there may be zero, one, or more levels of hierarchical naming nodes, ending in a rightmost leaf node. Check the "Identifier assignment" section below for the semantics. The normative ABNF rules for SCHAC NSSs, taken from RFC 5234 [2], are:
SCHAC-NSS = 1*subStChar *( ":" 1*subStChar )
subStChar = trans / "%" HEXDIG HEXDIG
trans = ALPHA / DIGIT / other / reserved
other = "(" / ")" / "+" / "," / "-" / "." /
"=" / "@" / ";" / "$" /
"_" / "!" / "*" / "'"
reserved = "/" / "?" / "#"
The colon is left out of the "other" characters on purpose, so it can only show up as a delimiter between string tokens. ๐ฅ Also, this ABNF rule set guarantees that any valid SCHAC NSS is also a valid RFC 2141 NSS. Iconic. ๐
Relevant ancillary documentation
None. โจ
Identifier uniqueness
TERENA is responsible for guaranteeing that the names of its immediately subordinate naming authorities are unique. Each lower-level naming authority then inherits the job of guaranteeing name uniqueness within its own branch of the naming tree. Passing the responsibility down the chain, very on brand. ๐ฆ
Identifier persistence
TERENA holds the ultimate responsibility for keeping SCHAC URNs usable over time. ๐ That responsibility MAY be delegated to subordinate naming authorities, as covered in the section below on identifier assignment. That section also gives a mechanism for taking the delegation back if a subordinate naming authority stops functioning.
Identifier assignment
TERENA will create an initial series of immediately subordinate naming authorities, and it will define a process for adding to that list. The list and the policy for adding to it will be published at the root registry page. Every country with a representative in SCHAC will be invited to designate a naming authority. Country-specific namespaces, based on the country Internet Top-Level Domain (TLD) [12], will then be assigned to the designated authority. The subordinated namespaces int and eu will stay under TERENA authority, controlled by the SCHAC activity members, for entities of global, international, or European interest. There's also the option of granting subordinate namespaces to multi-country organizations. In that case, the organizational Internet Fully Qualified Domain Name (FQDN) will be used as the prefix. ๐
For example, a European-level interest entity would be any value related to information used in the Higher Education European Space, or the so-called Bologna process. Those entities will belong in the eu subordinate namespace. ๐ช๐บ
Global international entities could cover values related to the Grid community, or values useful for both some European and some Australian universities. Those entities would belong in the int subordinate namespace. ๐
Multi-country organizations include TERENA itself, or an association like the Educational Policy Institute (EPI) (educationalpolicy.org), which has members from Australia, Canada, and the US. โจ
URNs meant for values of SCHAC attributes will include the attribute name right after the NSS prefix, before any geographical namespace delegation. That way, any string can tell you which attribute it's a value for, which is so smart. ๐ง For example, values for schacUserStatus will look like this:
urn:schac:userStatus:int
urn:schac:userStatus:au or
urn:schac:userStatus:terena.org
If at all possible, automated registry publication mechanisms will be provided, based on the work on distributed URN registries done by the TF-EMC2 task force members. ๐ป
Institutions and communities affiliated with SCHAC participants may request subordinate naming authority status. Uniqueness of these namespaces under country authority will be based on the requestor's Internet FQDN. This subordination procedure SHOULD be carried along the delegation chain. So, if at all possible, every entity that receives a delegated namespace MUST have a valid FQDN and MUST publish an Internet accessible URN value registry, based on the URN registry mechanisms designed by the TF-EMC2 task force members. Everyone needs receipts. ๐งพ
On at least an annual basis, TERENA will contact the liaisons or directors of each immediately subordinate naming authority. If there's no response, or if the respondent says they want to give up naming authority, the authority over that branch of the tree reverts to TERENA. Each naming authority enforces this process recursively on its own subordinates. This guarantees that responsibility for any branch of the tree will lapse for less than one year, at worst, before a superior authority reclaims it. โฐ
Lexical equivalence of two SCHAC Namespace Specific Strings (NSSs) is defined below as an exact, case-sensitive string match. TERENA will assign names of immediately subordinate naming authorities in lowercase only. This stops two SCHAC-subordinate naming authorities from being registered with names that differ only in case. ๐ โโ๏ธ Attribute names will use the same mixed-case format as in the schema definition. ๐
Identifier resolution
The namespace is not currently listed with a Resolution Discovery System (RDS), but nothing about the namespace rules out defining appropriate resolution methods or listing with an RDS in the future. ๐ฎ
TERENA will maintain a registry of all SCHAC-assigned URN values, both final and for delegation, on its web site: https://urnreg.terena.org/. Delegation entries will have a pointer to the registry of the subordinate naming authority. This SHOULD recurse down the delegation tree, but a single naming authority MAY maintain registries for several delegated namespaces.
All registries MUST publish their URNs over https links [3]. The https links MUST be secured by sites offering credentials signed by a SCHAC-community recognized Certification Authority (CA), using the latest secure methods for accessing a web site. At present, that means the latest version of Transport Layer Security (TLS) [4]. Registries SHOULD consider the user interface implications of their choice of CA, including issues like browser alerts and blind trust. ๐
Lexical equivalence
Lexical equivalence of two SCHAC Namespace Specific Strings (NSSs) is defined as an exact, case-sensitive string match. ๐
Conformance with URN syntax
All SCHAC NSSs fully conform to the RFC 2141 syntax rules for NSSs. โ
Validation mechanism
As specified in the "Identifier resolution" section above, TERENA will maintain an index of all SCHAC-assigned URNs on its web site, https://urnreg.terena.org/. Being in that registry, or in any subordinate registry, means that a given URN is valid. Delegated naming authorities MUST guarantee that values are valid in their assigned spaces. ๐ก๏ธ
Scope
Global. ๐
4. Examples โจ
These examples aren't guaranteed to be real. They're only here for teaching purposes. ๐
urn:schac:personalUniqueID:es:DNI:9999999Z
urn:schac:personalUniqueCode:es:uma.es:codUni:061696758X
urn:schac:userStatus:au:uq.edu.au:service:mail:receive:disabled
urn:schac:personalPosition:pl:umk.pl:programmer
5. Security Considerations ๐จ
There are no additional security considerations beyond those normally associated with the use and resolution of URNs in general.
To guarantee the validity and origin of SCHAC-NSS URN values, they MUST be published over https links [3]. The https links MUST be secured by sites offering credentials signed by a SCHAC-community recognized Certification Authority (CA), using the latest secure methods for accessing a web site. At present, that means the latest version of TLS [4]. This part is serious, bestie. Don't skip it. ๐
6. Namespace Considerations ๐
Registering a Namespace Identifier (NID) specific to SCHAC is reasonable, given the following considerations. ๐
SCHAC would like to assign URNs to some very fine-grained objects. That doesn't seem to be the main intended use of the XML.org namespace (RFC 3120) [13], or of the more tightly controlled Organization for the Advancement of Structured Information Standards (OASIS) [14] namespace (RFC 3121) [15].
SCHAC wants naming autonomy. SCHAC is not a member of OASIS, so becoming a subordinate naming authority under the OASIS URN space is not an option. There's the MACE (Middleware Architecture Committee for Education) (RFC 3613) [16] namespace, but SCHAC development happens outside of the MACE activity scope, so the attributes and values don't belong in the MACE namespace. Using the MACE namespace would mean placing the SCHAC namespace under one of the SCHAC participants' namespaces, which gets in the way of its global scope. ๐
SCHAC will also want to assign URNs to non-XML objects. That's another reason XML.org may not be an appropriate higher-level naming authority for SCHAC. ๐งฉ
Some of the SCHAC attribute values that are already defined have been assigned URNs under the urn:mace:terena.org namespace. These values will go through a deprecation cycle, with a clear indication that they'll be replaced by values under the new namespace once it's assigned. Either way, RFC 3406 [5] (which replaced RFC 2611) explicitly states that two or more URNs may point to the same resource. Multiple URNs, one resource, love that. ๐ฆ
7. Community Considerations ๐ธ
okay so the namespace is totally open for anyone to use ๐ The rules for who gets which identifiers are set by the SCHAC activity members, bestie ๐ซถ The registration agencies (the next-level naming authorities) are going to be the National Research and Education Networks (NRENs) and the established organizational cross-border organizations that take part in SCHAC ๐
It's expected that most of the European NRENs and their constituencies will be using the SCHAC namespace, and so will the participants in the Australian Access Federation, plus some other international activities โจ It's giving global collab energy ๐
Once the SCHAC namespace is up and running, TERENA is going to set up a registry service for the namespace clients ๐ฆ It's basically the same vibe as their other distributed pan-European services, like eduroam and PerfSONAR ๐ The registry will live at the root page of the namespace: https://urnreg.terena.org/. The rules for registrations will be written up in documents on the root page of the registry ๐
8. IANA Considerations ๐
In accordance with BCP 66 [5], IANA has registered the Formal URN Namespace 'schac' in the Registry of URN Namespaces ๐ The registration uses the template shown in Section 2 of this document, so it's all official now ๐
9. Acknowledgments ๐ซถ
SCHAC is the result of the TERENA TF-EMC2 task force, plus a whole bunch of other people who put in ideas to help build the schema ๐ง
This document got discussed on the URN-NID list, and Alfred Hoenes gave it a super thorough review ๐ He helped fix errors and suggested clarifications to the text, literally the MVP ๐
Peter Saint-Andre also gave comments that made the document way better, so big thanks to him ๐ We'd also like to thank Chris Lonvick for helping us phrase our security concerns better ๐ And finally, thank you to the other reviewers who helped add the final touches โจ
Special shoutout to Dyonisius Visser from the TERENA technical team, who put in the time and effort to set up the root instance of the namespace registry ๐๐
10. References ๐
10.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[2] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
[3] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.
[4] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008.
[5] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom, "Uniform Resource Names (URN) Namespace Definition Mechanisms", BCP 66, RFC 3406, October 2002.
10.2. Informative References
[6] TERENA, "Trans-European Research and Education Networking Association", http://www.terena.org/.
[7] TERENA TF-EMC2, "SCHAC activity web site", http://www.terena.org/activities/tf-emc2/schac.html.
[8] Sciberras, A., Ed., "Lightweight Directory Access Protocol (LDAP): Schema for User Applications", RFC 4519, June 2006.
[9] Smith, M., "Definition of the inetOrgPerson LDAP Object Class", RFC 2798, April 2000.
[10] MACE-Dir, "eduPerson Object Class Specification", December 2007, http://middleware.internet2.edu/eduperson/docs/internet2-mace-dir-eduperson-200712.html.
[11] Moats, R., "URN Syntax", RFC 2141, May 1997.
[12] IANA, "Country TLDs", http://www.iana.org/domains/root/db/.
[13] Best, K. and N. Walsh, "A URN Namespace for XML.org", RFC 3120, June 2001.
[14] OASIS, "Organization for the Advancement of Structured Information Standards: OASIS", http://www.oasis-open.org/.
[15] Best, K. and N. Walsh, "A URN Namespace for OASIS", RFC 3121, June 2001.
[16] Morgan, R. and K. Hazelton, "Definition of a Uniform Resource Name (URN) Namespace for the Middleware Architecture Committee for Education (MACE)", RFC 3613, October 2003.
Authors' Addresses ๐ฆ
Victoriano Giralt, M.D.
University of Malaga
Avd. Cervantes, 2
Malaga, Malaga E-29071
Spain
Phone: +34-95-213-1415
EMail: victoriano@uma.es
URI: http://www.uma.es/
Dr. Rodney McDuff
The University of Queensland
EMail: r.mcduff@uq.edu.au
URI: http://www.uq.edu.au/
๐ฆ where this page comes from
- ietf: rfc6338 2011-08
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms