Skip to content

Audit required approvals changes at Project Level

Tan Le requested to merge 7531-audit-approvers-list-change-opt-2 into master

What does this MR do?

This MR will ensure audit event is recorded both in DB and log file when user successfully update no. of required approvals at Project level. We would like to capture changes to ApprovalProjectRule model and surface it under Project audit events page. The audit event will be recorded for update issued via both App and API.

As part of this MR, I have also:

  • Addressed a bug that causes changes audit event recorded on creation instead of update. This is an existing issue and need to be fixed before this new audit event is added.
  • Extended for_changes method to accept reference of target object being audited. Previously the entity is used to record both scope and target change object. While that is true in some context (i.e. the target model happens to be a User/Project/Group), it does not work for ApprovalProjectRule (i.e. the target model is ApprovalProjectRule and the entity is the Project)

Quick rehash on naming in AuditEventService class:

Name Meaning
Entity The scope (User/Project/Group) this audit event belongs to
Model The target object being audited

How the event attributes are mapped to the Audit Events view

Screen_Shot_2020-02-23_at_8.38.58_pm

Parent issue #7531 (closed)

Screenshots

Project-level

(Project > Settings > Audit Events)

GitLab Premium & GitLab Ultimate Screen_Shot_2020-02-19_at_4.33.29_pm

GitLab Starter Screen_Shot_2020-02-19_at_5.03.42_pm

Instance-level

(Admin Area > Monitoring > Audit Log)

GitLab Premium & GitLab Ultimate Screen_Shot_2020-02-19_at_4.36.38_pm

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

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
Edited by Tan Le

Merge request reports

Loading