# ABAC

> A conceptual representation of access control, Attribute-Based Access Control (ABAC), in which a policy decides from attributes of the subject, the resource and the environment.

Record: `architecture:attribute-based-access-control`
Kind: model
Layer: [Security Core](https://banes-lab.com/records/layer/security-core.md)
Severity: contextual
Scope: user, resource, context
Aliases: Attribute-Based Access Control
Canonical: https://banes-lab.com/ontology#architecture-attribute-based-access-control

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [RBAC](https://banes-lab.com/records/architecture/role-based-access-control.md) and before [Input Validation](https://banes-lab.com/records/architecture/input-validation.md).

## Repair

- Refactored by: Extract Policy, Add Policy Engine
- Detected by: duplicated attribute checks in handlers
- Violated by: complex access logic embedded in code
- Measured by: policy centralization
- Enforced by: [policy-as-code](https://banes-lab.com/records/architecture/policy-as-code.md)

## Requires

- [Attribute Definitions](https://banes-lab.com/records/lexicon/attribute-definitions.md)
- [Policy Engine](https://banes-lab.com/records/lexicon/policy-engine.md)

## Reinforces

- [Fine-Grained Access Control](https://banes-lab.com/records/lexicon/fine-grained-access-control.md)

## Enables

- [Context-Aware Authorization](https://banes-lab.com/records/lexicon/context-aware-authorization.md)

## Conflicts with

- [Hardcoded Rules](https://banes-lab.com/records/lexicon/hardcoded-rules.md)

## In tension with

- [Policy Complexity](https://banes-lab.com/records/lexicon/policy-complexity.md)

## Tensions

- [ABAC / Policy Complexity](https://banes-lab.com/records/tension/abac-policy-complexity.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Security / Privacy / Compliance / Governance](https://banes-lab.com/records/architecture-category/security-privacy-compliance-governance.md)

## Linked from

- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md)
- [Security Privacy Compliance](https://banes-lab.com/ontology/lexicon/lexicon-category-security-privacy-compliance.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
