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

Circles as full-featured ACLs #23

Open
tiller-tolbus opened this issue May 21, 2024 · 4 comments
Open

Circles as full-featured ACLs #23

tiller-tolbus opened this issue May 21, 2024 · 4 comments
Assignees

Comments

@tiller-tolbus
Copy link
Collaborator

tiller-tolbus commented May 21, 2024

A circle should be able to handle all of the general cases of access control over a resource, so that a resource can pull in a single %circle dependency and have all of the information it needs to approve or reject a request or command.

Here is a design that could work:

A circle denotes a set of exceptions to an established access level and rule. For example, a feed application knows that it is pulling in a circle dependency to determine who is able to read from (subscribe to) the feed. The circle only informs the application of membership.

|%
::  assumed quantities 
+$  rule  ?(%public %private)
+$  level ?(%read %write)

::  circle-specific
+$  circle  (set exception)
+$  exception
  $%
    %ship  (set ship)
    %moon  (set ship)  ::  ship and all moons of ship
    %sein  (set ship)  :: ship and all sponsored by ship
    %rank  rank
  ==
--

This design probably sucks and could be refined. The way Clay does access control is interesting and could be copied, but we want to be able to discriminate on the basis of moon, sein, and rank as well.

@hanfel-dovned
Copy link

After discussing this, we determined that this should likely be built into Shrubbery core.

@tiller-tolbus
Copy link
Collaborator Author

@hanfel-dovned did Liam confirm this is on the roadmap?

@tiller-tolbus
Copy link
Collaborator Author

Re-opening and awaiting confirmation on core roadmap

@tiller-tolbus tiller-tolbus reopened this Jul 9, 2024
@hanfel-dovned hanfel-dovned self-assigned this Sep 11, 2024
@hanfel-dovned
Copy link

We should indeed do this in userspace. I'll come up with a design for it and then likely assign production to ~bonbud-macryg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants