-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XACML v4 Summary Doc #45
Comments
@humantypo I was having a go at a summary but you got in before me. FWIW, this is where I got up to. In particular I was avoiding calling the whole effort XACML 4. Use, or not, as you see fit. The OASIS XACML TC is currently engaged in an effort to produce a successor to XACML version 3.0. The goals are:
The headline change is the decision to abstract the core language to remove its dependence on XML and XML Schema, i.e., to make it syntax-agnostic. This will facilitate the use of other syntaxes for representing the core language. The TC has decided to define representations for at least JSON and YAML, while continuing to support XML. The XACML TC intends that implementions will be able to claim conformance with the core language by implementing one, or any combination, of the possible syntaxes. XML will not be required. There is a strong desire in the XACML TC to find a new name for the core language to show that it is no longer tied to XML. Various suggestions are on the table but there is no clear front runner at this time. The new name should lend itself to distinct acronyms for each supported syntax for simple identification. Regardless of the new name and version number for the core language, there is consensus in the TC that the XML representation of the core language will be known as XACML 4.0 in recognition of its antecedent. So the moniker "XACML 4.0" will reference only part of the TC's eventual outputs. The major structural change to the core language is the merging of PolicySet and Policy into a single construct that will carry the name "Policy". A new Policy may contain embedded policies, policy references, rules and variable definitions. This change removes some duplication from the core language where essentially the same thing was defined under separate names for both policy sets and policies, for example, PolicySetId and PolicyId. There is now only PolicyId. There are no longer separate policy combining algorithms and rule combining algorithms, just combining algorithms. |
I have incorporated your input here, @steven-legg, thoughts? The Next Generation of XACML: Scope and DirectionThe OASIS XACML TC is currently engaged in an effort to produce a successor to XACML version v3.0. The goals are:
The headline change is the decision to abstract the core language to remove its dependence on XML and XML Schema, i.e., to make it syntax-agnostic. This will facilitate the use of other syntaxes for representing the core language. The TC has decided to define representations for at least JSON and YAML, while continuing to support XML. To reflect this expanded scope and modernized approach, the effort is being referred to as "XACML Next Gen" rather than "XACML 4.0." The XACML TC intends that implementations will be able to claim conformance with the core language by implementing one, or any combination, of the possible syntaxes. XML will not be required. There is a strong desire in the XACML TC to find a new name for the core language to show that it is no longer tied to XML. Various suggestions are on the table, but there is no clear front runner at this time. The new name should lend itself to distinct acronyms for each supported syntax for simple identification. Regardless of the new name and version number for the core language, there is consensus in the TC that the XML representation of the core language will be known as XACML 4.0 in recognition of its antecedent. So the moniker "XACML 4.0" will reference only part of the TC's eventual outputs. The major structural change to the core language is the merging of PolicySet and Policy into a single construct that will carry the name "Policy." A new Policy may contain embedded policies, policy references, rules, and variable definitions. This change removes some duplication from the core language where essentially the same thing was defined under separate names for both policy sets and policies, for example, PolicySetId and PolicyId. There is now only PolicyId. There are no longer separate policy combining algorithms and rule combining algorithms, just combining algorithms. Key Points1. Support for JSON and YAML PoliciesOne of the most anticipated updates in XACML Next Gen is the addition of JSON and YAML as alternative policy representation formats. While XACML has traditionally been based on XML, these new formats aim to:
Implications for Policy Writers:
2. Simplified and More Efficient Policy StructureTo make policies easier to write and maintain, XACML Next Gen is introducing: A. Flattened Policy Hierarchy
B. Global Variables for Reusability
C. Composite Functions for Simpler Expressions
3. Improved Policy EfficiencyA. Optimized Rule Evaluation
B. Aggregate Functions for Policy Simplification
C. Shortcuts for Common Operations
4. Naming and Structural ChangesTo better reflect its expanded scope beyond XML, there are ongoing discussions about renaming XACML to something more format-agnostic. Some of the proposed alternatives include:
Regardless of the naming decision, the XML version will continue to be called XACML, ensuring backward compatibility. Marketing snippet 😄XACML Next Gen is shaping up to be a more flexible, efficient, and modern policy definition framework. By introducing JSON and YAML, flattening policy structures, and adding global variables and composite functions, the new version aims to make policy authoring easier and less error-prone. |
@humantypo Works for me. XACML Next Gen is a suitable overall name for what we are doing.
This isn't a new feature. It was already an implementation choice in version 3.0. |
I added some more cases: 2 D, E, F and 3 D. Some of these are from the closed issues list. The Next Generation of XACML: Scope and DirectionThe OASIS XACML TC is currently engaged in an effort to produce a successor to XACML version v3.0. The goals are:
The headline change is the decision to abstract the core language to remove its dependence on XML and XML Schema, i.e., to make it syntax-agnostic. This will facilitate the use of other syntaxes for representing the core language. The TC has decided to define representations for at least JSON and YAML, while continuing to support XML. To reflect this expanded scope and modernized approach, the effort is being referred to as "XACML Next Gen" rather than "XACML 4.0." The XACML TC intends that implementations will be able to claim conformance with the core language by implementing one, or any combination, of the possible syntaxes. XML will not be required. There is a strong desire in the XACML TC to find a new name for the core language to show that it is no longer tied to XML. Various suggestions are on the table, but there is no clear front runner at this time. The new name should lend itself to distinct acronyms for each supported syntax for simple identification. Regardless of the new name and version number for the core language, there is consensus in the TC that the XML representation of the core language will be known as XACML 4.0 in recognition of its antecedent. So the moniker "XACML 4.0" will reference only part of the TC's eventual outputs. The major structural change to the core language is the merging of PolicySet and Policy into a single construct that will carry the name "Policy." A new Policy may contain embedded policies, policy references, rules, and variable definitions. This change removes some duplication from the core language where essentially the same thing was defined under separate names for both policy sets and policies, for example, PolicySetId and PolicyId. There is now only PolicyId. There are no longer separate policy combining algorithms and rule combining algorithms, just combining algorithms. Key Points1. Support for JSON and YAML PoliciesOne of the most anticipated updates in XACML Next Gen is the addition of JSON and YAML as alternative policy representation formats. While XACML has traditionally been based on XML, these new formats aim to:
Implications for Policy Writers:
2. Simplified and More Efficient Policy StructureTo make policies easier to write and maintain, XACML Next Gen is introducing: A. Flattened Policy Hierarchy
B. Global Variables for Reusability
C. Composite Functions for Simpler Expressions
D. Common Structure for Obligations and Advice
E. Targets Revised
F. Decluttering
3. Improved Policy EfficiencyA. Optimized Rule Evaluation
B. Aggregate Functions for Policy Simplification
C. Shortcuts for Common Operations
D. JSONPath
4. Naming and Structural ChangesTo better reflect its expanded scope beyond XML, there are ongoing discussions about renaming XACML to something more format-agnostic. Some of the proposed alternatives include:
Regardless of the naming decision, the XML version will continue to be called XACML, ensuring backward compatibility. Marketing snippet 😄XACML Next Gen is shaping up to be a more flexible, efficient, and modern policy definition framework. By introducing JSON and YAML, flattening policy structures, and adding global variables and composite functions, the new version aims to make policy authoring easier and less error-prone. |
Here is the first draft of a Summary of v4. I tried to cover the Issues list from a scope perspective, while keeping concepts at a higher level.
Overview of XACML 4.0: Scope and Direction
The OASIS XACML Technical Committee is developing version 4.0 of the specification with the goal of modernizing access control policy definition. A significant focus is on making policy writing more intuitive and efficient, reducing complexity, and introducing support for additional formats like JSON and YAML. This document provides a high-level summary of the key changes relevant to policy writers.
1. Support for JSON and YAML Policies
One of the most anticipated updates in XACML 4.0 is the addition of JSON and YAML as alternative policy representation formats. While XACML has traditionally been based on XML, these new formats aim to:
Implications for Policy Writers:
2. Simplified and More Efficient Policy Structure
To make policies easier to write and maintain, XACML 4.0 is introducing:
A. Flattened Policy Hierarchy
B. Global Variables for Reusability
C. Composite Functions for Simpler Expressions
3. Improved Policy Efficiency
A. Optimized Rule Evaluation
a ? b : c
in programming languages) allow policy writers to define logic more concisely.B. Aggregate Functions for Policy Simplification
C. Shortcuts for Common Operations
empty-bag()
andnon-empty-bag()
make it easier to check for missing attributes without verbose expressions.4. Naming and Structural Changes
To better reflect its expanded scope beyond XML, there are ongoing discussions about renaming XACML to something more format-agnostic. Some of the proposed alternatives include:
Regardless of the naming decision, the XML version will continue to be called XACML, ensuring backward compatibility.
Marketing snippet 😄
XACML 4.0 is shaping up to be a more flexible, efficient, and modern policy definition framework. By introducing JSON and YAML, flattening policy structures, and adding global variables and composite functions, the new version aims to make policy authoring easier and less error-prone.
The text was updated successfully, but these errors were encountered: