- Use cases
- Approval status and separation of duties
- Chain of Custody report
The Compliance Dashboard gives you the ability to see a group’s Merge Request activity by providing a high-level view for all projects in the group. For example, code approved for merging into production.
To access the Compliance Dashboard for a group, navigate to Security & Compliance > Compliance on the group’s menu.
This feature is for people who care about the compliance status of projects within their group.
You can use the dashboard to:
- Get an overview of the latest Merge Request for each project.
- See if Merge Requests were approved and by whom.
- See Merge Request authors.
- See the latest CI Pipeline result for each Merge Request.
- On GitLab Ultimate tier.
- By Administrators and Group Owners.
We support a separation of duties policy between users who create and approve Merge Requests. The approval status column can help you identify violations of this policy. Our criteria for the separation of duties is as follows:
- A Merge Request author is not allowed to approve their Merge Request
- A Merge Request committer is not allowed to approve a Merge Request they have added commits to
- The minimum number of approvals required to merge a Merge Request is at least two
The “Approval status” column shows you, at a glance, whether a Merge Request is complying with the above. This column has four states:
|Empty||The Merge Request approval status is unknown|
|The Merge Request does not comply with any of the above criteria|
|The Merge Request complies with some of the above criteria|
|The Merge Request complies with all of the above criteria|
If you do not see the success icon in your Compliance dashboard; please review the above criteria for the Merge Requests project to make sure it complies with the separation of duties described above.
The Chain of Custody report allows customers to export a list of merge commits within the group. The data provides a comprehensive view with respect to merge commits. It includes the merge commit SHA, merge request author, merge request ID, merge user, pipeline ID, group name, project name, and merge request approvers. Depending on the merge strategy, the merge commit SHA can either be a merge commit, squash commit or a diff head commit.
To download the Chain of Custody report, navigate to Security & Compliance > Compliance on the group’s menu and click List of all merge commits
You can generate a commit-specific Chain of Custody report for a given commit SHA. To do so, select the dropdown next to the List of all merge commits button at the top of the Compliance Dashboard.