Specifying permission sets for auxiliary resource types
@justinwb is already working on this.
Since Apr 24, 2020.
- Dominant language
- HTML
- Stars
- 563
- Forks
- 108
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 3
Description
As defined in #156, Auxiliary Resources of various types are associated with Solid resources through link relations. Furthermore:
Access to different types of auxiliary resources require varying levels of authorization, which MUST be specified as part of the definition for a given auxiliary resource type.
Based on the authenticated agent (or lack of authentication), the server must know whether to advertise the auxiliary resource in a link header at all, and then whether to allow the client to access and/or manipulate it.
In the case of WAC, it is well-established that without control access on a given Solid resource, the WAC auxiliary resource will not be advertised, nor able to be accessed or manipulated. We must determine what the permission rules should be for other auxiliary resource types (or whether there should be any stipulated in the spec at all).
In #156, we introduce five auxiliary resource types. The following permission sets are proposed:
Web Access Control
To discover, read, create, or modify an ACL auxiliary resource, an acl:agent MUST have acl:Control privileges per the ACL inheritance algorithm on the resource directly associated with it.
Resource Description
To create or modify a Descriptive auxiliary resource, a given acl:agent MUST have acl:Write privileges per the ACL inheritance algorithm on the resource directly associated with it.
To discover or read a Descriptive auxiliary resource, an acl:agent MUST have acl:Read privileges per the ACL inheritance algorithm on the resource directly associated with it.
Shape Validation
To create or modify a Shape validation auxiliary resource, an acl:agent MUST have acl:Write privileges per the ACL inheritance algorithm on the resource directly associated with it.
To read a Shape validation auxiliary resource, an acl:agent MUST have acl:Read privileges per the ACL inheritance algorithm on the resource directly associated with it.
Server Managed
To read a Server Managed auxiliary resource, an acl:agent MUST have acl:Read privileges per the ACL inheritance algorithm on the resource directly associated with it. Modes of access beyond acl:Read MUST NOT be permitted on a Server Managed auxiliary resource.
Edit: Configuration type has been removed from the submission, and is being tracked at #178.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.