https://github.com/lac-dcc/hapi
A domain specific language to define access policies.
https://github.com/lac-dcc/hapi
Last synced: 6 months ago
JSON representation
A domain specific language to define access policies.
- Host: GitHub
- URL: https://github.com/lac-dcc/hapi
- Owner: lac-dcc
- License: gpl-3.0
- Created: 2020-10-02T17:02:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-12-01T17:45:28.000Z (about 4 years ago)
- Last Synced: 2025-04-05T17:43:32.640Z (9 months ago)
- Language: Kotlin
- Homepage:
- Size: 37.3 MB
- Stars: 14
- Watchers: 4
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Project Hapi
## H​ierarchical Access Policy Implementation
This project aims to implement a domain specific language to define access policies. Considering actors (A) and resources (R), we want to be able to ensure:
- **Totality**: either A accesses R or it does not
- **Uniqueness**: R cannot be both accessible and forbidden to A
By hierarchical, we mean that policies specified for an actor can be projected into another actor, and extended in this new setting.
## Usage
Suppose you have a Hapi project under the folder `` and then you want to run the file `/.hp`:
- **With Docker**
```
docker build -t hapi_image .
docker run -v :/data --rm hapi_image "/data/.hp"
```
- **Without Docker**
```
gradle run --args="/.hp"
```
In both ways the YAML translation will be generated at `/.yaml`.
## Examples
@TODO
## License
This project is licensed under the [GPLv3 license](LICENSE).