# Solid Authorization Panel December 9th, 2020 ## Present - Justin B - Max Leonard - Henry S - Eric P - elf Pavlik ## Agenda * Update on Functional Requirements - Justin B * How possession of specific VC impacts authN spec - e Pavlik * [Consider Allowing ACRs on ACRs](https://github.com/solid/authorization-panel/issues/151) * [RelBAC](https://github.com/solid/authorization-panel/issues/150) ## Minutes ### Update on functional requirements Draft PR (Still in process - incomplete) - https://github.com/solid/authorization-panel/pull/152 Eric: Suggestion - consider formatting as table to break up a bit more. | name | desc | refs | | -- | -- | -- | | **resource** | The system shall limit an agent’s ability to access a resource or collection | § 2.1 Basic resource access<br/>§ 2.2 Basic collection access | | **identity** | The system shall allow access to be limited to an agent based on the identity of the agent. § 2.1 Basic resource access | § 2.2 Basic collection access | | **group** | The system shall allow access to be limited to an agent based on the agent’s membership in a certain group of agents | § 2.1.7 Group access | | **application** | The system shall allow access to be limited to an agent based on the application in use by the agent | § 2.5.1 Limiting access to trusted applications | | **creator** | The system shall allow access to a certain resource to be limited to the agent that created that resource | § 2.2.4 Read-append-write access to a Collection | |<span style="color: brown"> **verifiable credential** |<span style="color: brown"> The system shall allow access to be limited to an agent based on the agent’s possession of a certain verifiable credential |<span style="color: brown"> § 2.9.1 Possession of a verifiable credential (Future) | | **unauth'd agent** | The system shall allow access to be limited to any unauthenticated agent | § 2.1.8 Public access | | **auth'd agent** | The system shall allow access to be limited to any authenticated agent | § 2.1.9 Logged in access | | **limit ACLs read** | The system shall limit the ability to read the access permissions associated with a certain resource | § 2.1.1 Control access | | **limit ACLs write** | The system shall limit the ability to change the access permissions associated with a certain resource | § 2.1.1 Control access | | **read** | The system shall limit the ability to read a certain resource | § 2.1.6 Read-only access, § 2.1.2 Read-write access, § 2.1.3 Read-append access | | **write** | The system shall limit the ability to change any of the contents of a certain resource | § 2.1.2 Read-write access | | **delete** | The system shall limit the ability to delete a certain resource. Corresponding use case needs to be added | | **append-only** | The system shall limit the ability to change existing data in a certain resource, such that only new data can be added to it | § 2.1.4 Append-only access | Pavlik: Be more specific in the piloted application requirement (#4) Eric: Change "shall" to "MUST" for anyting related to conformance. Dmitri: Adjust language on VC to be "possession of a verifiable credential or capability" Pavlik: Look at UMA approach - authorization server associated with the resource w/ claims gathering step Henry and Eric: - Explain the process behind the Diff of ACL and ACP (Henry: the idea is to try to find mappings, see if that works, then refine) - An idea would be to make a table of of some sort (examples) of how one would express the same thing in ACL, ACP, RelBac, ... - Acls on Acls: the issue would be: how does one specify that an ACL should have an ACL (create Foo.acl.acl)? (Henry: think about options and see if it makes sense. Perhaps it ends up making things more complicated?)