RFC 7061
eXtensible Access Control Markup Language (XACML) XML Media Type
eXtensible Access Control Markup Language (XACML) XML Media Type π
RFC 7061, an Independent Submission, by R. Sinnema and E. Wilde (both at EMC Corporation). π¦
- Category: Informational πΈ
- ISSN: 2070-1721
- Date: November 2013 π
- Obsoletes / Updates: this title block doesn't list any RFC as obsoleted or updated, so none are named here π
Abstract β¨
Okay so this spec registers an XML-based media type for the eXtensible Access Control Markup Language (XACML). Basically it gives XACML documents an official name so everyone knows what they are π
Status of This Memo π
This doc is NOT an Internet Standards Track spec. It's published just for information, bestie π§
It's a contribution to the RFC Series, done independently of any other RFC stream. The RFC Editor picked to publish it at their discretion and makes no statement about how useful it is for implementing or deploying. Docs the RFC Editor approves for publication aren't candidates for any level of Internet Standard, see Section 2 of RFC 5741 π
If you want the current status, any errata, or a way to give feedback, check http://www.rfc-editor.org/info/rfc7061 β¨
Copyright Notice π
Copyright (c) 2013 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 they stand on the publication date. Please read these carefully, because they spell out your rights and restrictions for this doc π
Table of Contents ποΈ
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 2
2.1. XACML Media Type application/xacml+xml . . . . . . . . . . 2
3. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
4. Normative References . . . . . . . . . . . . . . . . . . . . . 5
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . . 6
1. Introduction π¦
So XACML [XACML-3] is the big deal here. It defines an architecture and a language for access control (authorization) π The language is made of requests, responses, and policies.
The way it works: clients send a request to a server to ask whether a given action should be allowed. The server checks the request against the policies it has and sends back a response. The policies are how an organization writes down its access control requirements, and it's giving very organized energy π
2. IANA Considerations π
This spec details the registry for an XML-based media type for XACML, registered with the Internet Assigned Numbers Authority (IANA) under the "Media Type Specifications and Registration Procedures" [RFC6838]. The XACML media type represents an XACML request, response, or policy in the XML-based format from the core XACML spec [XACML-3] β¨
2.1. XACML Media Type application/xacml+xml π
This section registers the XML-based media type for XACML. Here's the full registration, bestie π«Ά
Media Type Name: application
Subtype Name: xacml+xml
Required Parameters: none
Optional Parameters:
- charset: This one works the same as the charset parameter of application/xml [RFC3023], including the same default (see Section 3.2 of RFC 3023) πΈ
- version: This tells you which version of the XACML spec is in use. It can be used for content negotiation when clients and servers support more than one XACML version π§ Its range is the range of published XACML versions. As of writing, that's 1.0 [XACML-1], 1.1 [XACML-1.1], 2.0 [XACML-2], and 3.0 [XACML-3]. These and future version identifiers must follow the Organization for the Advancement of Structured Information Standards (OASIS) patterns for versions [OASIS-Version]. If the client doesn't specify this parameter, the server is free to return any version it deems fit π€·ββοΈ If a client can't or doesn't want to deal with that, it should explicitly specify a version π
Encoding Considerations: Same as for application/xml [RFC3023] β¨
Security Considerations:
Per their spec, objects of type application/xacml+xml don't contain executable content π BUT they're XML-based, so they have all the general security considerations in Section 10 of RFC 3023 [RFC3023] π¨
XACML [XACML-3] contains information whose integrity and authenticity really matter, like identity provider and service provider public keys and endpoint addresses. Sections 9.2.1 "Authentication" and 9.2.4 "Policy Integrity" in XACML [XACML-3] describe the requirements and considerations for authentication and integrity protection. Read them. Seriously π
To counter potential issues, the publisher may sign objects of type application/xacml+xml. Any such signature should be verified by the recipient of the data, both as a valid signature and as the signature of the publisher π₯ The XACML v3.0 XML Digital Signature Profile [XACML-3-DSig] explains how to use XML-based digital signatures with XACML π¦
Also, various publication protocols, like HTTPS, offer ways to make sure the publishing party is authentic and to protect the policy in transit π
Interoperability Considerations: Different XACML versions use different XML namespace URIs, so check which one you've got π
- 1.0 and 1.1 use the
urn:oasis:names:tc:xacml:1.0:policyXML namespace URI for policies, and theurn:oasis:names:tc:xacml:1.0:contextXML namespace URI for requests and responses π - 2.0 uses the
urn:oasis:names:tc:xacml:2.0:policyXML namespace URI for policies, and theurn:oasis:names:tc:xacml:2.0:contextXML namespace URI for requests and responses π - 3.0 uses the
urn:oasis:names:tc:xacml:3.0:core:schema:wd-17XML namespace URI for policies, requests, and responses β
Signed XACML has a wrapping Security Assertion Markup Language (SAML) 2.0 assertion [SAML-2], which uses the urn:oasis:names:tc:SAML:2.0:assertion namespace URI. Interoperability with SAML is defined by the SAML 2.0 Profile of XACML [XACML-3-SAML] for all versions of XACML π
Applications That Use This Media Type:
Potentially, any application that implements or uses XACML, plus any apps that implement or use specs based on XACML. Apps using the Representational State Transfer (REST) Profile [XACML-REST] can especially benefit from this media type π
Magic Number(s):
In general, this is the same as for application/xml [RFC3023] π§ In particular, the XML document element of the returned object will be one of xacml:Policy, xacml:PolicySet, context:Request, or context:Response. The xacml and context namespace prefixes bind to the matching namespace URIs for each XACML version like this:
- 1.0 and 1.1: The
xacmlprefix maps tourn:oasis:names:tc:xacml:1.0:policy, and thecontextprefix maps tourn:oasis:names:tc:xacml:1.0:contextπΈ - 2.0: The
xacmlprefix maps tourn:oasis:names:tc:xacml:2.0:policy, and thecontextprefix maps tourn:oasis:names:tc:xacml:2.0:contextπΈ - 3.0: Both the
xacmlandcontextprefixes map to the namespace URIurn:oasis:names:tc:xacml:3.0:core:schema:wd-17β¨
For signed XACML [XACML-3-DSig], the XML document element is saml:Assertion, where the saml prefix maps to the SAML 2.0 namespace URI urn:oasis:names:tc:SAML:2.0:assertion [SAML-2] π¦
File Extension(s): none
Macintosh File Type Code(s): none
Person & Email Address to Contact for Further Information:
This registration is made on behalf of the OASIS eXtensible Access Control Markup Language Technical Committee (XACMLTC). For current info on committee chairpersons and their contact addresses, check the XACMLTC website at http://www.oasis-open.org/committees/xacml/ π· Committee members should send comments and potential errors to the xacml@lists.oasis-open.org list. Everyone else should submit them through the web form at http://www.oasis-open.org/committees/comments/form.php?wg_abbrev=xacml π
There's also the XACML developer community mailing list, xacml-dev@lists.oasis-open.org, where you can talk about how to use the application/xacml+xml MIME media type π¬ It's publicly archived at http://www.oasis-open.org/archives/xacml-dev/. To post, you have to subscribe first, and you can do that on the OASIS mailing list page at http://www.oasis-open.org/mlmanage/ π«Ά
Intended Usage: common β¨
Author/Change Controller:
The XACML specification sets are a work product of the OASIS eXtensible Access Control Markup Language Technical Committee (XACMLTC). OASIS and the XACMLTC have change control over the XACML specification sets π
3. Security Considerations π
The security considerations for this spec are described in Section 2.1 of the media type registration. Go check them out, bestie π
4. Normative References β¨
okay so this is the list of everything the spec leans on, bestie π if you want the full story, go read these. the tags in brackets are how the rest of the doc points at them π
[OASIS-Version]: Organization for the Advancement of Structured Information Standards, "OASIS Naming Directives Version 1.3", December 2012, <http://docs.oasis-open.org/specGuidelines/ndr/namingDirectives.html#Version>. πΈ[RFC3023]: Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001. π[RFC6838]: Freed, N., Klensin, J., and T. Hansen, "Media Type Specifications and Registration Procedures", BCP 13, RFC 6838, January 2013. π¦ this one is the rulebook for media types, so it's giving foundational energy π[SAML-2]: Organization for the Advancement of Structured Information Standards, "Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0", OASIS Standard, March 2005, <http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf>. π[XACML-1]: Organization for the Advancement of Structured Information Standards, "eXtensible Access Control Markup Language (XACML) Version 1.0", OASIS Standard, February 2003, <http://www.oasis-open.org/committees/download.php/2406/oasis-xacml-1.0.pdf>. π§[XACML-1.1]: Organization for the Advancement of Structured Information Standards, "eXtensible Access Control Markup Language (XACML) Version 1.1", OASIS Committee Specification, August 2003, <http://www.oasis-open.org/committees/xacml/repository/cs-xacml-specification-1.1.pdf>. π[XACML-2]: Organization for the Advancement of Structured Information Standards, "eXtensible Access Control Markup Language (XACML) Version 2.0", OASIS Standard, February 2005, <http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-core-spec-os.pdf>. π[XACML-3]: Organization for the Advancement of Structured Information Standards, "eXtensible Access Control Markup Language (XACML) Version 3.0", OASIS Standard, January 2013, <http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.pdf>. π₯[XACML-3-DSig]: Organization for the Advancement of Structured Information Standards, "XACML v3.0 XML Digital Signature Profile Version 1.0", OASIS Committee Specification 01, August 2010, <http://docs.oasis-open.org/xacml/3.0/xacml-3.0-dsig-v1-spec-cs-01-en.pdf>. βοΈ[XACML-3-SAML]: Organization for the Advancement of Structured Information Standards, "SAML 2.0 Profile of XACML, Version 2.0", OASIS Committee Specification 01, August 2010, <http://docs.oasis-open.org/xacml/3.0/xacml-profile-saml2.0-v2-spec-cs-01-en.pdf>. π«Ά[XACML-REST]: Organization for the Advancement of Structured Information Standards, "REST Profile of XACML v3.0 Version 1.0", OASIS Committee Specification 01, April 2013, <http://docs.oasis-open.org/xacml/xacml-rest/v1.0/xacml-rest-v1.0.pdf>. π
Appendix A. Acknowledgements π
the people who helped build this spec and deserve all the flowers π huge thanks to Oscar Koeroo (Nikhef), Erik Rissanen (Axiomatics), and Jonathan Robie (EMC) β¨ literal legends
Authors' Addresses π
the humans behind the doc, in case you want to slide into their inbox π¬
Remon Sinnema
EMC Corporation
EMail: remon.sinnema@emc.com
URI: http://securesoftwaredev.com/
Erik Wilde
EMC Corporation
6801 Koll Center Parkway
Pleasanton, CA 94566
USA
Phone: +1-925-600-6244
EMail: erik.wilde@emc.com
URI: http://dret.net/netdret/
π¦ where this page comes from
- ietf: rfc7061 2013-11
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms