indykite-authzen-kbac
Installation
SKILL.md
IndyKite KBAC - authorization policies
KBAC (Knowledge-Based Access Control) is IndyKite's graph-driven authorization model. A KBAC policy declares who (subject) may perform which operations (actions) on what (resource), gated by a condition in Cypher (the Neo4j / openCypher graph query language) evaluated against the IKG — IndyKite's knowledge graph, a property-graph database. The policy itself renders no decision - it is the rule that the AuthZEN endpoints consult when a decision or search is requested.
This skill is the home of the KBAC policy lifecycle: writing the policy JSON and managing it through the Config API.
- A policy with
meta.policy_version: "2.0-kbac", a singlesubject.type, anactionslist, a singleresource.type, and acondition.cypherthat binds the reserved variablessubjectandresource. - The Config API operations on
/configs/v1/authorization-policies: create (POST), read (GET /{id}or by name), list (GET ?project_id=…&type=kbac), update (PUT /{id}with anIf-MatchETag), and delete (DELETE /{id}). - Publishing: a policy must be ACTIVE to participate in decisions; an
INACTIVEorDRAFTpolicy is stored but ignored (DRAFTmay even be invalid).
Once a policy is ACTIVE, the runtime AuthZEN skills evaluate it:
| Need | Endpoint | Skill |
|---|---|---|
| One yes/no decision | /access/v1/evaluation |
indykite-authzen-evaluation |
| Many decisions at once | /access/v1/evaluations |
indykite-authzen-evaluations |
| Actions a subject may perform on a resource | /access/v1/search/action |
indykite-authzen-search-action |
| Resources a subject may act on, given an action | /access/v1/search/resource |
indykite-authzen-search-resource |
| Subjects allowed an action on a resource | /access/v1/search/subject |
indykite-authzen-search-subject |