Explain scan result policy approval scenarios
1 unresolved thread
1 unresolved thread
Compare changes
- Grant Hickman authored
@@ -281,6 +281,21 @@ actions:
- Scan result policies consider multiple pipeline sources (based on the [CI_PIPELINE_SOURCE variable](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html)) when comparing results from each branch and determining when a merge request requires approval. Pipeline sources that are supported include: `:unknown, `:push`, `:web`,` :trigger`, `:schedule`, `:api`, `:external`, `:pipeline`, `:chat`, `:merge_request_event`, `:external_pull_request_event`, `:security_orchestration_policy`.
For policies that are scoped to `newly_detected` findings, approved merge requests create "exceptions" to the policy for future merge requests. Any findings that violate a policy that are merged into the `default` branch are used in future scan result policy evaluations and therefore are no longer "newly detected".
For license approval policies, if a license is approved as an exception, future merge requests will no longer require approval for the same combination of license + dependency/component + project. The component version will not be considered in this case. If a previously approved package gets updated to a new version, approvers will not need to re-approve.
@@ -297,6 +312,10 @@ There are several situations where the scan result policy requires an additional
For policies that are scoped to `newly_detected` findings, approved merge requests create "exceptions" to the policy for future merge requests. Any findings that violate a policy that are merged into the `default` branch are used in future scan result policy evaluations and therefore are no longer "newly detected".
- When using `newly_detected`, some findings may require approval when they are not introduced by the merge request (such as a new CVE on a related dependency). We currently use `main tip` of the target branch for comparison. In the future, we plan to use `merge base` for `newly_detected` policies (see https://gitlab.com/gitlab-org/gitlab/-/issues/428518).
- Findings or errors that cause approval to be required on a scan result policy may not be evident in the Security MR Widget. By using `merge base` in https://gitlab.com/gitlab-org/gitlab/-/issues/428518 this will address some cases. We will additionally be [displaying more granular details](https://gitlab.com/groups/gitlab-org/-/epics/11185) about what caused security policy violations.
For license approval policies, if a license is approved as an exception, future merge requests will no longer require approval for the same combination of license + dependency/component + project. The component version will not be considered in this case. If a previously approved package gets updated to a new version, approvers will not need to re-approve.
\ No newline at end of file