xacml

package
v0.0.0-...-02de949 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package xacml implements the OASIS/XACML standard for Policy-based authorization.

TODO implement xacml - https://github.com/Hasdcorona/go-xacml - https://github.com/murphysean/xacml - https://github.com/enygma/xacmlphp - https://www.oasis-open.org/committees/download.php/2713/Brief_Introduction_to_XACML.html//

The OASIS Standard

The OASIS/XACML standard is a well-defined XML-based structure for evaluating attributes on Policies against attributes on Subjects to see if there's a match (based on Operation rules and combining Algorithms).

Terminology

PolicySet: Set of Policy objects

Policy: Defines the policies to evaluate for authoriation. Policies contain sets of Rules that are evaluated and the results are combined according to the Policy's Algorithm for an overall Policy pass/fail status

Rule: A Rule is made of of a set of Matches (inside a Target) that are used to evaluate authorization

Match: An object that defines the property to look at (Designator) and the value to check against (Value) and the Operation to perform (like "StringEqual") for Permit/Deny result

Attribute: Property on a Subject, Resource, Action or Environment

Algorithm: Evaluation method for combining results of the object (like Policy or Rule). In the OASIS spec, these are called Functions.

Effect: According to the spec, this can only be "PERMIT" or "DENY"

Enforcer: Point of enforcement of the access, called the PEP (Policy Enforcement Point) in the OASIS spec.

Decider: The object that handles the decision logic, tracing down from Policies to Matches. Called the PDP (Policy Decision Point) in the OASIS spec.

Resource: An object representing a "something" the Subject is trying to access.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL