Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider allowing ACR to have ACRs #151

Open
bblfish opened this issue Dec 9, 2020 · 0 comments
Open

Consider allowing ACR to have ACRs #151

bblfish opened this issue Dec 9, 2020 · 0 comments
Labels
ACL ACL ontology related ACP ACP ontology related

Comments

@bblfish
Copy link
Member

bblfish commented Dec 9, 2020

Behind my comments on issue 143: acp:apply* relations are confusing and issue 149: proposal: generalise acp:access lies my experience developing the rww-play implementation of Solid.

In rww-play I implemented a simple scheme where ACR can themselves have ACR. This has the following advantages:

  1. It is simple: any resource can have an have a Link: ... rel="acp" ... header that specifies who can view and edit the resource. ACRs can be their own ACRs. (or else we'd have an infinite regress)
  2. Hence a client can dereference any link it comes across, and then only needs to follow one procedure to determine what it needs to do to view or edit the resource - namely follow the Link: ... rel="acp" ... header.
  3. There is no need to have triple based access control within an ACR. If a client can edit an ACR it can change all triples therein. Neither the client nor the server needs to worry about some triples being editable in a resource and others not being editable.
  4. We can imagine much more sophisticated granularity of access control. A resource R1 may only be viewable by US citizens. The ACR for R1 may only be editable - as specified by the ACR of the ACR of R1 - by people of security clearance level 1 ... Actually it is easy to implement a Locked policy by having all ACRs have a Link: ... rel='acp' to one root ACR that gives rights to the owner of the Pod.

What I did not implement, and I think we can inspire ourselves by the work on ACP here, is a way to describe ACRs on ACRs.

Here is a sketch of what it could look like. (I did not add a root ACR but that would just follow the pattern below, and would thus give us the same effect as the accessLocked I think).

Sketch of what ACRs on ACRs can look like

@bblfish bblfish added ACL ACL ontology related ACP ACP ontology related labels Dec 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ACL ACL ontology related ACP ACP ontology related
Projects
None yet
Development

No branches or pull requests

1 participant