-
Notifications
You must be signed in to change notification settings - Fork 66
feature: add simple (user, path) based access control #493
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
Conversation
Hello @NexZhu, thanks for suggesting this and by doing so also reminding us of the importance of this feature.
We have been doing some preliminary work on an ACL implementation that is based filters and will behave correctly in those cases. |
Can you explain a little what do you mean by "can be easily circumvented as soon as the workspace filter is used", I'm not very familiar with Josh's many features yet.
Awesome! We just put together a simple working solution because we need it right now. Actually I'll be very interested if Josh can integrate with LDAP. Supporting groups will certainly bring more flexibility, and it will be especially useful when conbined with LDAP. Here's my two cents: To do ACL, Josh need two kinds of data: user-group relationships, and rules assigned to users/groups. Maybe we can support multiple data backends based on the same model. For the user-group relationships, it can come from config file, LDAP, OIDC, etc. For the rules part, since it's Josh specific information, maybe we can read it from local config file (static), or DB (maybe support dynamic adjustment). |
There is some documentation here and here. If you use a workspace filter ( |
@NexZhu: Like described in the docs @LMG pointed to, workspaces allow arbitary re composition of paths exposed as a virtual repo. As soon as a users can access (and modify) any workspace they will be able to add paths to it that they where not granted access to. |
We needed ACL ability so dveloped a simple ACL feature based on a TOML config file like this:
ACL config file can be specified with
--acl
flag.@wiryls