typesec-rbac
Role-Based Access Control from YAML → typed policy enforcement.
YAML → Types → Compile-time Safety
The pipeline has two phases:
-
Runtime: Parse the YAML policy, build an [
RbacEngine] that implements [PolicyEngine]. This handles dynamic role assignments and resource globs that can't be known at compile time. -
Codegen (optional, via
typesec generate): Emit Rust source code with concrete role structs andPermissionimpls. These let the compiler verify that your code uses permissions that actually exist in the policy file.
YAML Schema
roles:
- name: analyst
permissions:
resources:
- name: admin
inherits:
permissions:
resources:
assignments:
- subject: "agent:data-pipeline"
roles: