Compliance violations report
- GitLab 12.8에 도입되었습니다. 컴플라이언스 대시보드로.
- Compliance violation drawer는 GitLab 14.1에서 도입되었습니다.
- GitLab 14.2에서 컴플라이언스 보고서로 이름이 변경되었습니다.
- GitLab 14.6에서는 병합 요청 위반 사항으로 대체되었으며 기본적으로 비활성화되었습니다.
compliance_violations_report
라는 플래그로.- GraphQL API가 GitLab 14.9에 도입되었습니다.
- GitLab 14.10에서 일반적으로 사용 가능합니다. 기능 플래그
compliance_violations_report
가 제거되었습니다.- GitLab 15.9에서 Compliance Violations Report로 이름이 변경되었습니다.
- 컴플라이언스 프레임워크를 생성하고 편집하는 기능이 GitLab 16.0에 도입되었습니다.
컴플라이언스 위반 보고서를 사용하면 그룹의 모든 프로젝트에 대한 병합 요청 활동의 고수준 개요를 볼 수 있습니다.
컴플라이언스 위반 보고서에서 행을 선택하면 다음이 제공되는 드로어가 나타납니다:
- 프로젝트 이름 및 컴플라이언스 프레임워크 레이블 (프로젝트에 할당된 경우).
- 위반 사항을 도입한 병합 요청에 대한 링크.
- 병합 요청의 브랜치 경로(형식:
[소스]에서 [대상]
). - 병합 요청에 변경을 적용한 사용자 목록.
- 병합 요청에 댓글을 남긴 사용자 목록.
- 병합 요청을 승인한 사용자 목록.
- 병합 요청을 병합한 사용자.
그룹의 컴플라이언스 위반 보고서 보기
- 대상 브랜치 검색이 GitLab 16.0에서 도입되었습니다.
필수 조건:
- 그룹의 관리자이거나 소유자 역할이어야 합니다.
컴플라이언스 위반 보고서를 보려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- Secure > Compliance center를 선택합니다.
컴플라이언스 보고서를 다음에 대해 정렬할 수 있습니다:
- 심각도 수준.
- 위반 유형.
- 병합 요청 제목.
컴플라이언스 위반 보고서를 다음에 대해 필터링할 수 있습니다:
- 위반을 발견한 프로젝트.
- 위반의 날짜 범위.
- 위반 대상 브랜치.
행을 선택하여 컴플라이언스 위반의 세부 정보를 확인할 수 있습니다.
심각도 수준
각 컴플라이언스 위반에는 다음 중 하나의 심각도가 있습니다.
아이콘 | 심각도 수준 |
---|---|
심각한 | |
높은 | |
중간 | |
낮은 | |
정보 |
위반 유형
GitLab 14.10부터, 다음과 같은 사용 가능한 컴플라이언스 위반이 있습니다.
위반 | 심각도 수준 | 카테고리 | 설명 |
---|---|---|---|
저자 승인 병합 요청 | 높은 | 업무 분리 | 병합 요청의 저자가 자신의 병합 요청을 승인했습니다. 자세한 내용은 저자에 의한 승인 방지을 참조하십시오. |
커미터가 승인한 병합 요청 | 높은 | 업무 분리 | 병합 요청에 기여한 사용자가 해당 병합 요청을 승인했습니다. 자세한 내용은 커밋을 추가한 사용자에 의한 승인 방지을 참조하십시오. |
두 개보다 적은 승인 | 높은 | 업무 분리 | 병합 요청이 두 개보다 적은 승인으로 병합되었습니다. 자세한 내용은 병합 요청 승인 규칙을 참조하십시오. |
권한 분리
GitLab은 병합 요청을 생성하고 승인하는 사용자 간의 권한 분리 정책을 지원합니다. 권한 분리 기준은 다음과 같습니다.
- 병합 요청 작성자는 자신의 병합 요청을 승인할 수 없습니다.
- 병합 요청 커미터는 자신이 커밋을 추가한 병합 요청을 승인할 수 없습니다.
- 병합 요청을 병합하려면 최소한 승인이 적어도 두 개 필요합니다. 병합 요청에 필요한 승인의 최소 수는 두 개입니다.
그룹 내 프로젝트에 대한 병합 요청 준수 위반 보고서 내보내기
- GitLab 16.4에서 도입,
compliance_violation_csv_export
라는 플래그로 사용 가능. 기본적으로 비활성화됨.- GitLab 16.5에서 GitLab.com 및 온프레미스에서 활성화됨.
- GitLab 16.9에서
compliance_violation_csv_export
기능 플래그가 제거됨(https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142568).
그룹 내 프로젝트에 속한 병합 요청의 준수 위반에 대한 보고서를 내보냅니다. 보고서는 다음과 같습니다.
- 준수 위반 보고서에는 필터를 사용하지 마세요.
- 이메일 첨부 파일이 너무 크지 않도록 15MB로 보고서를 축소합니다.
전제 조건:
- 그룹의 관리자이거나 소유자 역할을 가져야 합니다.
그룹 내 프로젝트에 대한 병합 요청 준수 위반 보고서를 내보내려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 준수 센터를 선택합니다.
- 오른쪽 상단에서 내보내기를 선택합니다.
- 위반 사항 보고서 내보내기를 선택합니다.
보고서가 컴파일되어 이메일로 첨부 파일로 전달됩니다.
책임 연쇄 보고서
- GitLab 13.3에서 도입.
- 이메일을 통해 전송하는 책임 연쇄 보고서는 GitLab 15.3에서
async_chain_of_custody_report
라는 플래그로 도입되었으며 기본적으로 비활성화되어 있습니다.- GitLab 15.5에서 일반적으로 사용 가능.
async_chain_of_custody_report
기능 플래그가 제거됨.- 책임 연쇄 보고서에는 모든 커밋(병합 커밋만이 아니라)가 포함됩니다. 이 기능은 GitLab 15.9에서
all_commits_compliance_report
라는 플래그로 도입되었으며 기본적으로 비활성화되어 있습니다.- GitLab 15.9에서 일반적으로 사용 가능.
all_commits_compliance_report
기능 플래그가 제거됨.
책임 연쇄 보고서는 그룹의 프로젝트에 대한 1개월 이동 윈도우의 모든 커밋을 제공합니다.
모든 커밋을 위한 보고서를 생성하려면 GitLab은 다음을 수행합니다.
- 그룹 내의 모든 프로젝트를 가져옵니다.
- 각 프로젝트에 대해 지난 1개월 동안의 커밋을 가져옵니다. 각 프로젝트는 1024개의 커밋으로 제한됩니다. 1개월 윈도우에 1024개보다 더 많은 커밋이 있는 경우 잘립니다.
- 커밋을 CSV 파일에 기록합니다. 보고서가 이메일로 첨부 파일로 전송되므로 파일은 15MB로 제한됩니다(GitLab 15.5 이후).
보고서에는 다음이 포함됩니다.
- 커밋 SHA.
- 커밋 작성자.
- 커미터.
- 커밋된 날짜.
- 그룹.
- 프로젝트.
커밋에 관련된 병합 커밋이 있는 경우 다음이 포함됩니다.
- 병합 커밋 SHA.
- 병합 요청 ID.
- 병합 요청을 병합한 사용자.
- 병합 날짜.
- 파이프라인 ID.
- 병합 요청 승인자.
책임 연쇄 보고서 생성
책임 연쇄 보고서를 생성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 준수 센터를 선택합니다.
- 오른쪽 상단에서 내보내기를 선택합니다.
- 책임 연쇄 보고서 내보내기를 선택합니다.
사용 중인 GitLab 버전에 따라 책임 연쇄 보고서가 이메일로 전송되거나 다운로드할 수 있습니다.
커밋별 책임 연쇄 보고서 생성
- GitLab 13.6에서 도입.
- 병합 커밋만이 아니라 모든 커밋을 포함하는 지원은 GitLab 15.10에서 추가됨(https://gitlab.com/gitlab-org/gitlab/-/issues/393446).
주어진 커밋 SHA에 대한 커밋별 책임 연쇄 보고서를 생성할 수 있습니다. 이 보고서는 제공된 커밋 SHA에 대한 세부 정보만 제공합니다.
커밋별 책임 연쇄 보고서를 생성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 준수 센터를 선택합니다.
- 오른쪽 상단에서 내보내기를 선택합니다.
- 특정 커밋에 대한 책임 보고서 내보내기를 선택합니다.
- 커밋 SHA를 입력하고 책임 보고서 내보내기를 선택합니다.
사용 중인 GitLab 버전에 따라 책임 연쇄 보고서가 이메일로 전송되거나 다운로드할 수 있습니다.
또는 직접 링크를 사용하세요: https://gitlab.com/groups/<group-name>/-/security/merge_commit_reports.csv?commit_sha={optional_commit_sha}
, commit_sha
쿼리 매개변수에 추가 정보를 전달합니다.