Are there guidelines or at least best practises for naming and casing namespaces, attributes, rules, policies etc. in the ALFA language?
As ALFA depends on XACML, is there anything similiar for XACML?
There are no hardcore guidelines. I like to use camel casing. There are characters that you cannot use inside ALFA identifiers e.g. hyphen (-) and whitespace of course.
Good names are things like userRole
. ALFA is namespace-based i.e. everything is defined inside a namespace. That lets you create a graph of attributes e.g.
user.internal.department
Where user.internal
is a namespace and department
is the attribute's local name. Note that you can name your corresponding XACML attribute anything you like but I recommend you still the fully-qualified ALFA name (i.e. user.internal.department
).
ALFA does not depend on XACML: it translates into XACML. You can roundtrip between both languages.