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

Is it possible to give stage or environment based access? #2840

Open
danihodovic opened this issue Jul 9, 2018 · 10 comments
Open

Is it possible to give stage or environment based access? #2840

danihodovic opened this issue Jul 9, 2018 · 10 comments

Comments

@danihodovic
Copy link
Contributor

I would like to restrict deployment access per stage or environment. An example use case is to allow junior developers to deploy to staging and senior developers to deploy to production.

Is this possible? I've looked around in the docs and played with the UI and I found nothing.

@grosser
Copy link
Contributor

grosser commented Jul 9, 2018

not possible, sounds like an interesting feature, but might take a lot of new logic/UI to add :/

/cc @zendesk/bre

@jason-rutherford
Copy link

One possible workaround might be to lock the stage and use the PRODUCTION_STAGE_LOCK_REQUIRES_ADMIN=1 feature here . I'm not sure if that helps in your situation but I thought it is worth mentioning.

@danihodovic
Copy link
Contributor Author

@jason-rutherford That would require us to lock production on every deploy which is not ideal.

@grosser
Copy link
Contributor

grosser commented Sep 7, 2018

Possible solutions:

  • add an option to only allow admins to deploy to production (effort: low / hackyness: medium)
  • add a new 'production-deployer' role between deployer and admin (effort: medium / hackyness: medium)
  • overhaul the permission system to be finer-grained / allow random things like "deploy production" / "manage secrets" etc (effort: high / hackyness: low)

@danihodovic
Copy link
Contributor Author

overhaul the permission system to be finer-grained / allow random things like "deploy production" / "manage secrets" etc (effort: high / hackyness: low)

Sounds like the best option, but if we're the only team with this use-case it might be better to leave it as is and not introduce additional complexity.

@grosser
Copy link
Contributor

grosser commented Sep 8, 2018 via email

@ibrahima
Copy link
Contributor

ibrahima commented May 2, 2019

Hmm, I'd be interested in this for the same reason. The current state is fine as long as you trust your teammates to not do stuff they shouldn't be doing, but it'd make me feel a little safer if junior developers couldn't deploy to production (this is more of an issue when adding new teammates IMO).

Hmm. Another option is to make the staging environment a separate project, and then set up project-specific roles for that project. It's a little uglier I guess but it would solve the problem without any new features.

@grosser
Copy link
Contributor

grosser commented May 2, 2019

can enable BUDDY_CHECK_FEATURE=1 so nobody can deploy to prod alone :)

@ibrahima
Copy link
Contributor

ibrahima commented May 2, 2019

Hmm, does that apply to admins too? We aren't using buddy checks but that could be useful for us, I just wouldn't want admins to be restricted to that.

@grosser
Copy link
Contributor

grosser commented May 2, 2019

applies to everyone ... since it's kinda good practice ... can be bypassed for emergencies, then need to setup email for notification

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

4 participants