What is ABAC?
Attribute-Based Access Control, told as a story about tags and if-sentences.
A hat can't say 'only at night'.The last scene of the hat story. A hat for every condition means a hundred hats.
People, rooms and the moment all carry tags.The hat is just one of them.
ABAC turns tags into a sentence.'If cook, and daytime, and no guests: open.' The gatekeeper checks the tags against it.
Same person: open by day, shut at night.No new hat needed. One sentence does it.
A long sentence, and nobody can read it.'Why won't it open?' gets hard to answer. So most castles sort by hat (RBAC) first and add only a few conditions on top.
ABAC = instead of a hat, a sentence built from tags on the person, the room and the moment opens the door.
Attribute-Based Access Control, written up by NIST as SP 800-162 (2014). Cloud permissions (AWS IAM conditions) work this way; in practice it's layered on top of RBAC.
When grown-ups say it
- Attribute
- A tag. One fact about a person, room or moment: 'cook', '3F', '02:00'.
- Subject
- The person's tags. Who wants in: role, team, tenure, training.
- Resource
- The room's tags. What they want into: which room, how secret.
- Environment
- The moment's tags. Time, place, which device, whether guests are in.
- Policy
- The sentence. "If cook and daytime and no guests: open." → the hat story
- Policy Decision Point (PDP)
- The gatekeeper who reads the sentence. Matches tags to the sentence and says open or closed.
- Policy Enforcement Point (PEP)
- The hand on the door. Actually does what the gatekeeper decided.
- Policy language
- How sentences are written. XACML, Cedar, AWS IAM condition blocks.