Add "Manage Security Testing" as a customizable permission
Release notes
Group owners and project maintainers have the ability to adjust various security settings. This often leads to a user becoming overprivileged where they may not need other group or project destructive permissions. With the release of this permission, you can create a custom role to allow a Developer (or any base role) plus this permission to manage security scanner (SAST, SD, Dependency scanning, container scanning, DAST, API Security, IaC, etc) configuration settings without being overprivileged.
Background
Group owners and project maintainers have the ability to edit configuration settings. This leads organizations elevating a subset of users who need to manage these settings that as a consequence can edit other Group/Project settings. This permission will allow a custom role such as Developer + this permission offering organizations to reduce Owners and Maintainers in their environment
This permission becomes more important as we build out https://gitlab.com/groups/gitlab-org/-/epics/16190+ and move more scanner configuration to the UI and APIs.
Proposal and User Experience
- When creating a role, any base can be selected. A new permission is available and labeled "Manage Security Scanners" that can be selected.
- If the user role is targeted at the group level, they will be able to perform Group Actions indicated below to the group and sub groups. This continues to follow the waterfall permission model.
- If the user role is targeted at the project level, they can only perform Project Actions indicated below for the project.
- The permission actions for
admin_security_scannersallows create / write (create/update) / delete on Scanners and settings including:
| Group Actions | Project Actions |
|---|---|
|
Group security configuration
|
Project security configuration
|
Scanner Configuration Settings
Scanner configuration settings are the individual settings that can be modified as part of a configuration profile. Profiles are a set of rules that define the scanner's behavior/ how (but not when) a project is scanned. These include exclusions (things to exclude from a scan), customizations made to the default detection rules, scanner version, max depth. Scanner configuration settings will not include customizations that might be made to scan results (such as severity overrides, ignoring results, etc.).
Scanner profiles will be similar across scan types (SAST, SCA, SD, DAST, etc), but will vary depending on what settings need to allow for customization. Here are initial requirements for the scanner configuration settings included in the SD configuration profile.
Views+Workflows include:
-
Base + permission: Can see Group-> Secure -> Security Configuration -> All scanner settings -
Base + permission: Can see Group-> Secure -> On-Demand scans -> All scanner settings -
Base + permission: Can see Project-> Secure -> Security Configuration -> All scanner settings -
Base + permission: Can see Project -> Secure -> On-Demand scans -> All scanner settings
Documentation
-
Permissions attribute: admin_security_testing -
Permission Title: Manage Security Testing -
Permission Description: Configure security testing at the group or project level.