Supported Models
- ACL (Access Control List)
- ACL with superuser
- ACL without users: This is especially useful for systems that don't have authentication or user logins.
- ACL without resources: In some scenarios, the target is a type of resource instead of an individual resource. Permissions like "write-article" and "read-log" can be used. This doesn't control access to a specific article or log.
- RBAC (Role-Based Access Control)
- RBAC with resource roles: Both users and resources can have roles (or groups) at the same time.
- RBAC with domains/tenants: Users can have different sets of roles for different domains/tenants.
- ABAC (Attribute-Based Access Control): Syntax sugar like "resource.Owner" can be used to get the attribute for a resource.
- RESTful: Supports paths like "/res/*", "/res/:id", and HTTP methods like "GET", "POST", "PUT", "DELETE".
- Deny-override: Both allow and deny authorizations are supported, where deny overrides allow.
- Priority: The policy rules can be prioritized, similar to firewall rules.
Examples
Model | Model file | Policy file |
---|---|---|
ACL | basic_model.conf | basic_policy.csv |
ACL with superuser | basic_with_root_model.conf | basic_policy.csv |
ACL without users | basic_without_users_model.conf | basic_without_users_policy.csv |
ACL without resources | basic_without_resources_model.conf | basic_without_resources_policy.csv |
RBAC | rbac_model.conf | rbac_policy.csv |
RBAC with resource roles | rbac_with_resource_roles_model.conf | rbac_with_resource_roles_policy.csv |
RBAC with domains/tenants | rbac_with_domains_model.conf | rbac_with_domains_policy.csv |
ABAC | abac_model.conf | N/A |
RESTful | keymatch_model.conf | keymatch_policy.csv |
Deny-override | rbac_with_not_deny_model.conf | rbac_with_deny_policy.csv |
Allow-and-deny | rbac_with_deny_model.conf | rbac_with_deny_policy.csv |
Priority | priority_model.conf | priority_policy.csv |
Explicit Priority | priority_model_explicit | priority_policy_explicit.csv |
Subject-Priority | subject_priority_model.conf | subject_priority_policyl.csv |