Attribute-based access control (ABAC) evaluates access decisions based on attributes of the subject, the resource, the action, and the environment. Unlike RBAC, which assigns static roles, ABAC can express dynamic conditions that depend on the current context of the request.
Four categories of attributes are relevant:
Subject attributes: Properties of the requesting agent, such as trust level, owning team, model version, and creation date.
Resource attributes: Properties of the target resource, such as sensitivity classification, data residency region, and owning department.
Action attributes: Properties of the requested action, such as whether it is read-only, whether it modifies external state, and its risk classification.
Environment attributes: Context that is not tied to the subject or resource, such as current time, system load, and active incident status.
ABAC policies express rules as conditions over attributes:
rules:
- conditions:
subject.trust_level: "high"
resource.classification: "confidential"
action.type: "read"
environment.incident_active: false
effect: "allow"
This rule allows a high-trust agent to read confidential resources, but only when no active incident is in progress.
ABAC eliminates role explosion. In RBAC, supporting combinations of team, function, and environment requires creating a role for every combination. ABAC expresses the same logic as attribute conditions without creating any roles.
ABAC also handles dynamic context natively. A rule that depends on current system load or active incident status cannot be expressed in pure RBAC because roles do not change based on environment.
In practice, most systems use both. RBAC handles the coarse structure (this agent is a reader, this one is an executor), and ABAC handles the fine-grained conditions (this reader can access confidential data only during business hours).
ABAC evaluation is more computationally expensive than RBAC because it evaluates multiple attribute conditions per rule. Authensor's policy engine keeps evaluation synchronous and fast by using indexed attribute lookups and short-circuit evaluation on condition chains.
ABAC gives you the expressiveness to write policies that match your actual security requirements, not a simplified approximation.
Explore more guides on AI agent safety, prompt injection, and building secure systems.
View All Guides