Collaboration is the best way to work. It’s the only way to work, really.

Skip to content

Available custom permissions

The following permissions are available. You can add these permissions in any combination to a base role to create a custom role.

Some permissions require having other permissions enabled first. For example, administration of vulnerabilities (admin_vulnerability) can only be enabled if reading vulnerabilities (read_vulnerability) is also enabled.

These requirements are documented in the Required permission column in the following table.

Code review workflow

Name Required permission Description Introduced in Feature flag Enabled in
admin_merge_request Allows approval of merge requests. GitLab 16.4
read_code Allows read-only access to the source code. GitLab 15.7 customizable_roles GitLab 15.9

Group and projects

Name Required permission Description Introduced in Feature flag Enabled in
admin_group_member Add or remove users in a group, and assign roles to users. When assigning a role, users with this custom permission must select a role that has the same or fewer permissions as the default role used as the base for their custom role. GitLab 16.5 admin_group_member GitLab 16.6

Groups and projects

Name Required permission Description Introduced in Feature flag Enabled in
archive_project Allows archiving of projects. GitLab 16.6 archive_project GitLab 16.7
remove_group Ability to delete or restore a group. This ability does not allow deleting top level groups. Review the Retention period settings to prevent accidental deletion. GitLab 16.10
remove_project Allows deletion of projects. GitLab 16.8

Infrastructure as code

Name Required permission Description Introduced in Feature flag Enabled in
admin_terraform_state Execute terraform commands, lock/unlock terraform state files, and remove file versions. GitLab 16.8

Secrets management

Name Required permission Description Introduced in Feature flag Enabled in
admin_cicd_variables Create, read, update, and delete CI/CD variables. GitLab 16.10

Security policy management

Name Required permission Description Introduced in Feature flag Enabled in
manage_security_policy_link Allows assigning security policy projects. GitLab 16.11

Source code management

Name Required permission Description Introduced in Feature flag Enabled in
admin_push_rules Configure push rules for repositories at the group or project level. GitLab 16.11 custom_ability_admin_push_rules

System access

Name Required permission Description Introduced in Feature flag Enabled in
manage_group_access_tokens Create, read, update, and delete group access tokens. When creating a token, users with this custom permission must select a role for that token that has the same or fewer permissions as the default role used as the base for the custom role. GitLab 16.8
manage_project_access_tokens Create, read, update, and delete project access tokens. When creating a token, users with this custom permission must select a role for that token that has the same or fewer permissions as the default role used as the base for the custom role. GitLab 16.5 manage_project_access_tokens GitLab 16.8

Vulnerability management

Name Required permission Description Introduced in Feature flag Enabled in
admin_vulnerability Edit the vulnerability object, including the status and linking an issue. Includes the read_vulnerability permission actions. GitLab 16.1
read_dependency Allows read-only access to the dependencies and licenses. GitLab 16.3
read_vulnerability Read vulnerability reports and security dashboards. GitLab 16.1