Skip to content

Fix Environments/Deployments permission

Shinya Maeda requested to merge fix-environments-deployments-permission into master

What does this MR do?

It seems currently environments/deployments permission is a bit off. This MR corrects the permission model.

  • Basically, Developer can create/update both environments and deployments.
  • Maintainer can do as well.
  • Developer cannot update an environment if the environment is not created by the developer. Maintainer can update any environments.
  • Developer cannot update an deployment if the deployment is not created by the developer. Maintainer can update any deployments.
  • If the environment is protected and the user doesn't have permission, the one cannot create/update both environments and deployments.

Usage

  • can?(user, :create_environment, project)
  • can?(user, :update_environment, environment)
  • can?(user, :create_deployment, project)
  • can?(user, :update_deployment, deployment)

It takes into account of:

  • Protected environments

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Performance and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Shinya Maeda

Merge request reports