Restrict access to jobs that use `CI_DEBUG_TRACE=True`
What does this MR do?
This Merge Request restricts access to the job logs if the user is not a project developer and the ci_debug_trace
variable is set to true
(any place where the CI_DEBUG_VARIABLE can be set on the gitlab side i.e. ci yaml files or database). For the job show page, it shows a flash message that explains that the user is unauthorized. For the raw trace, it renders the unauthorized page and for the API it sends back a 403 response.
It is not necessary to limit access to every place where read_build
is used because only the build trace is sensitive information. See the discussion on the issue:
Screenshots (strongly suggested)
header | header |
---|---|
job show page | |
raw trace page |
Related Issue: #213159 (closed)
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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