For an XACML policy document I had in mind, I have a subject (user) and an object, each attached with a label. Let's call this myLabel = {[a,b,c], [1,2,3]}. I wish to do a comparison of parts of this label.
How can I define a subject and object to contain this label in the access request and policy to formulate a decision to compare this?
I wish to use XML rather than JSON or ALFA to declare the above.
XACML (and ALFA) comes with a set of clearly defined data types and functions. For instance XACML defines the following datatypes:
There are 18 or so datatypes out-of-the-box.
To work on those datatypes, XACML defines hundreds of functions such as:
Attributes in XACML (e.g. label or role or department) must have a datatype. Attributes can be multi-valued. In other words,
role = ["manager"]orrole = ["manager", "employee", "janitor"]. Both are perfectly valid.In your case, you are referring to a value structured as follows:
{[a,b,c],[1,2,3]}. This is not a standard datatype. It's a complex object and as such would require further processing (in a PEP? in a PIP?). How were you thinking of passing it to the PDP?Let's assume we have simple values e.g. label = '2'. To compare a user's label to a resource's label and grant access if they are equal, you would write the following:
ALFA
XACML XML equivalent