Skip to content

Commit 20ddecb

Browse files
docs: clarify scope is part of the context
1 parent f55cc88 commit 20ddecb

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

docs/decisions/0002-authorization-model-foundation.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ Scopes as first-class citizens in permission-granting
4747
* Treating scopes as **first-class citizens** means they are explicitly modeled in the system, not hidden inside ad-hoc resource definitions. They must be available to policies, queries, and audits in a consistent way.
4848
* Scopes can be **parameterized** (e.g., ``organization:ORG-A``, ``course:course-v1:OpenedX+DemoX+DemoCourse``, ``site:sandbox.openedx.org``, ``instance``) to support granular checks.
4949
* **Inheritance across scopes** must be supported (e.g., permissions granted at the organization level can cascade to courses in that organization when intended).
50-
* By making scopes explicit and consistent, we avoid the fragmentation seen in legacy systems (different services using different implicit notions of "site", "org", "course").
50+
* By making scopes explicit and consistent, we avoid the fragmentation seen in legacy systems (different services using different implicit notions of "instance", "org", "course").
51+
* Scope is part of the **Context** in S-A-O-C checks.
5152

5253
III. Authorization Paradigm
5354
===========================
@@ -60,7 +61,7 @@ Adopt ABAC as the goal; Scoped RBAC as a first step
6061
* **ABAC** adds finer control by using attributes of subjects, resources, and context (e.g., "editors can edit only in their assigned organizations or locations").
6162
* **ReBAC** is not chosen because it adds complexity and we do not have strong use cases today.
6263

63-
- Although ReBAC solves interesting problems out of the box (inheritance, recursive relationships), it introduces a mental shift in how to think about authorization.
64+
- Although ReBAC solves interesting problems out of the box (inheritance, recursive relationships), it introduces a mental shift in how to think about authorization so we're not explicitly adopting it for now.
6465
- Some technologies are ReBAC-first but can also implement RBAC and ABAC effectively. These are not excluded, but they shouldn't go against our **simplicity principle**.
6566

6667
* **Simplicity principle**: avoid adding features like deep role inheritance or complex hierarchies until there are clear use cases that require them.

0 commit comments

Comments
 (0)