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