This repository is the entry point to start with Attribute Base Access Control (ABAC) and Policy-as-code from Axiomatics.
Online documentation from Axiomatics is available at https://docs.axiomatics.com/policy-testing-framework/
ALFA introduction available at https://axiomatics.github.io/alfa-vscode-doc/docs/alfa-introduction/introduction/
- Add the Axiomatics repository access keys, that you received from Axiomatics, in file
gradle.properties
- Make sure your IDE, such as IntelliJ or Visual Studio Code has the necessary plugins for Java and Gradle projects
- Open this project in your IDE, it contains a sample project
- Execute target
test
to test your policies and attribute connectors - Execute target
buildAuthzDomain
to build the authorization domain. - Copy Axiomatics ADS license, that you received from Axiomatics, to
license/
directory - Execute target
runAds
to start the Access Decision Service locally - Execute
buildAdsDockerImage
to build a docker image to the local docker registry
A simple example allowing all consultants to access resources in their own location.
namespace acme {
policyset Main {
apply firstApplicable
consultants.Main
}
}
namespace consultants {
policy Main {
target
clause user.role == "consultant"
apply firstApplicable
rule permitIfLocationsMatch {
permit
condition user.location == resource.location
}
}
}
Feel free to contact us at https://www.axiomatics.com if you have any questions