컴플라이언스 위반 보고서
- GitLab 12.8에서 도입된 컴플라이언스 대시보드.
- 컴플라이언스 위반 드로어(Drawer)은 GitLab 14.1에 도입되었습니다.
- GitLab 14.2에서 컴플라이언스 보고서로 이름이 변경되었습니다.
- GitLab 14.6에서 Merge Request 위반으로 대체되었으며
compliance_violations_report
라는 플래그로 기본적으로 비활성화되어 있습니다.- GraphQL API는 GitLab 14.9에서 도입되었습니다.
- GitLab 14.10에서 일반적으로 사용 가능하게 되었으며 피처 플래그
compliance_violations_report
가 제거되었습니다.- GitLab 15.9에서 컴플라이언스 위반 보고서로 이름이 다시 변경되었습니다.
- 컴플라이언스 프레임워크를 생성하고 편집할 수 있는 기능은 GitLab 16.0에 도입되었습니다.
컴플라이언스 위반 보고서를 통해 그룹 내 모든 프로젝트의 Merge Request 활동을 고수준으로 볼 수 있습니다.
컴플라이언스 위반 보고서의 행을 선택하면 드로어(Drawer)이 열리고 다음이 제공됩니다.
- 프로젝트 이름 및 컴플라이언스 프레임워크 레이블(프로젝트에 할당된 경우).
- 위반 사항을 소개한 Merge Request에 대한 링크.
- Merge Request의 브랜치 경로 형식
[소스]에서 [대상]으로
. - Merge Request에 변경 내용을 커밋한 사용자 디렉터리.
- Merge Request에 댓글을 남긴 사용자 디렉터리.
- Merge Request을 승인한 사용자 디렉터리.
- Merge Request을 Merge한 사용자.
그룹의 컴플라이언스 위반 보고서 보기
- GitLab 16.0에서 대상 브랜치 검색이 도입되었습니다.
전제 조건:
- 그룹의 관리자거나 소유자 역할이어야 합니다.
컴플라이언스 위반 보고서를 보려면 다음을 수행합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 그룹을 찾습니다.
- 보안 > 컴플라이언스 센터를 선택합니다.
컴플라이언스 보고서를 다음 항목을 기준으로 정렬할 수 있습니다.
- 심각도 수준.
- 위반 유형.
- Merge Request 타이틀.
컴플라이언스 위반 보고서를 다음 항목을 기준으로 필터링할 수 있습니다.
- 위반이 발견된 프로젝트.
- 위반의 날짜 범위.
- 위반 대상 브랜치.
행을 선택하여 컴플라이언스 위반의 세부 정보를 확인할 수 있습니다.
심각도 수준
각 컴플라이언스 위반은 다음 중 하나의 심각도를 갖습니다.
아이콘 | 심각도 수준 |
---|---|
심각함 | |
높음 | |
중간 | |
낮음 | |
정보 |
위반 유형
GitLab 14.10부터, 다음과 같은 컴플라이언스 위반이 제공됩니다.
위반 | 심각도 수준 | 카테고리 | 설명 |
---|---|---|---|
Merge Request 작성자가 승인 | 높음 | 의무의 분리 | Merge Request의 작성자가 자신의 Merge Request을 승인함. 자세한 정보는 저자에 의한 승인 방지를 참조하십시오. |
커미터가 승인된 Merge Request | 높음 | 의무의 분리 | Merge Request에 기여한 커미터가 해당 Merge Request을 승인함. 자세한 정보는 커밋을 추가한 사용자에 의한 승인 방지를 참조하십시오. |
승인이 두 개 미만 | 높음 | 의무의 분리 | Merge Request이 두 개 미만의 승인으로 Merge되었습니다. 자세한 정보는 Merge Request 승인 규칙를 참조하십시오. |
의무의 분리
GitLab은 Merge Request을 만들고 승인하는 사용자 간의 의무의 분리 정책을 지원합니다. 명시적인 분리 기준은 다음과 같습니다.
- Merge Request 작성자는 자신의 Merge Request을 승인할 수 없음.
- Merge Request 커미터는 Merge Request에 커밋을 추가한 경우 해당 Merge Request을 승인할 수 없음.
- Merge Request을 Merge하려면 승인이 적어도 두 개 이상이 필요함.
그룹의 프로젝트에서 Merge Request 컴플라이언스 위반 보고서 내보내기
- GitLab 16.4에서 도입되었으며
compliance_violation_csv_export
라는 플래그로 기본적으로 비활성화되어 있습니다.- GitLab 16.5에서 GitLab.com 및 Self-Managed에서 활성화되었습니다.
- GitLab 16.9에서
compliance_violation_csv_export
피처 플래그가 제거되었습니다.
그룹 내 프로젝트에 속한 Merge Request의 컴플라이언스 위반 보고서를 내보냅니다. 보고서:
- 위반 보고서에 필터를 사용하지 않습니다.
- 메일 첨부 파일이 너무 커지지 않도록 15MB에서 자릅니다.
전제 조건:
- 그룹의 관리자거나 소유자 역할이어야 합니다.
그룹 내 프로젝트에 대한 Merge Request 컴플라이언스 위반 보고서를 내보내려면 다음을 수행합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 그룹을 찾습니다.
- 보안 > 컴플라이언스 센터를 선택합니다.
- 오른쪽 상단 모서리에서 내보내기를 선택합니다.
- 위반 보고서 내보내기를 선택합니다.
보고서가 편성되어 이메일 첨부 파일로 전송됩니다.
책임 연결 보고서
- GitLab 13.3에서 도입되었습니다.
- 이메일을 사용하여 책임 연결 보고서 발송이 GitLab 15.3에서
async_chain_of_custody_report
라는 플래그로 도입되었습니다. 기본적으로 비활성화됩니다.- GitLab 15.5에서 일반적으로 사용 가능하게 되었으며
async_chain_of_custody_report
피처 플래그가 제거되었습니다.- 책임 연결 보고서는 전체 커밋(Merge 커밋 뿐만 아니라)를 포함하도록 변경되었으며 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.
- 커밋 작성자.
- 커미터.
- 커밋된 날짜.
- 그룹.
- 프로젝트.
커밋과 관련된 Merge 커밋이 있는 경우, 다음이 추가됩니다:
- Merge 커밋 SHA.
- Merge Request ID.
- Merge한 사용자.
- Merge 날짜.
- 파이프라인 ID.
- Merge Request 승인자들.
Chain of Custody 보고서 생성
Chain of Custody 보고서를 생성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 컴플라이언스 센터를 선택합니다.
- 오른쪽 상단에서 내보내기(Export)를 선택합니다.
- Chain of Custody 보고서 내보내기를 선택합니다.
GitLab 버전에 따라 Chain of Custody 보고서가 이메일로 전송되거나 다운로드할 수 있습니다.
특정 커밋용 Chain of Custody 보고서 생성
- GitLab 13.6에서 도입됨.
- 통합 커밋만이 아닌 모든 커밋을 포함하는 지원이 GitLab 15.10에서 추가됨.
특정 커밋 SHA에 대한 Chain of Custody 보고서를 생성할 수 있습니다. 이 보고서는 제공된 커밋 SHA에 대한 세부 정보만 제공합니다.
특정 커밋용 Chain of Custody 보고서를 생성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 컴플라이언스 센터를 선택합니다.
- 오른쪽 상단에서 내보내기(Export)를 선택합니다.
- 특정 커밋의 보고서 내보내기를 선택합니다.
- 커밋 SHA를 입력한 다음 보고서 내보내기를 선택합니다.
GitLab 버전에 따라 Chain of Custody 보고서가 이메일로 전송되거나 다운로드할 수 있습니다.
또는 직접 링크를 사용하실 수 있습니다: https://gitlab.com/groups/<group-name>/-/security/merge_commit_reports.csv?commit_sha={optional_commit_sha}
, commit_sha
쿼리 매개변수에 선택적 값 전달.