-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
proposal: role based authorization #891
Comments
Thank you very much for your feedback! |
This makes a lot of sense. Currently, we cannot give access to semaphore to developers or analysts because that would give them too much permissions (easy to break something by mistake). As for the LDAP, I would differentiate user role and project assignment. For project assignment, I would suggest adding an external id field to the project. If a user is in a group that matches that id, it is added to the project's team (kind of what exists in bookstack). User role can be in the config, with a mapping of the type |
Does this PR allow for per-task permissions? |
One additional note: the implementation also should handle access tokens (see #1391) |
Hi @steadfasterX do you still use Semaphore? |
Every day 👍😎 |
@steadfasterX Glad to hear that :) Do you have any wishes or suggestions for improving the Semaphore? |
@fiftin : yesss.. :) there is one major pain point atm (1344):
and an important regression -
and some other regressions (from high to low prio ;) ):
|
background
usually you have at least 4 groups of persons accessing a tool like that:
what I currently see in semaphore is 1. and partly 2 with some kind of non-admin access which basically is not what I would expect when thinking of a "non-admin" user.
Semaphore already has the ability to choose team members for a project which is great and should "just" ;) be extended to a more specific role / group based system. I have not looked into LDAP yet but when implementing that it should match LDAP groups/netgroups in order to make use these here, too (e.g. LDAP group "semaphore_projectadmin_abc" will become a project admin of project "abc" in semaphore).
Permissions
global admin permissions
project admin permissions
basically this is what an admin and even a non-admin user (when added as a team member) can do already except the user management part, of course.
when a user is added to a project and having project admin rights he should have the permission to:
project user permissions
readonly user permissions
conclusion
I strongly believe that enterprise users require the above and that prevents them for actually using semaphore or at least offer it to their users. I would really appreciate seeing the above or at least parts of it in semaphore as actually atm I cannot share it with others without these changes.. I would love to contribute but absolute zero experience with Go - while I really love the look & feel & idea of semaphore..
for a first run I would be more then happy if we could have a readonly user permission and a simple project user permission where everything is blocked but actions like build/rebuild are allowed. The rest would be step 2..N then :)
refs:
The text was updated successfully, but these errors were encountered: