컴플라이언스 위반 보고서
Offering: GitLab.com, Self-managed, GitLab Dedicated
- 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하려면 최소한 두 개의 승인이 필요합니다.
그룹의 프로젝트에서 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의 컴플라이언스 위반 보고서를 내보냅니다. 보고서는 다음과 같습니다:
- 위반 보고서에 대한 필터를 사용하지 않습니다.
- 이메일 첨부 파일이 너무 크지 않도록 15 MB에서 자르기.
전제 조건:
- 그룹의 관리자거나 소유자 역할이어야 합니다.
그룹 내 프로젝트에 대한 Merge Request 컴플라이언스 위반 보고서를 내보내려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 컴플라이언스 센터를 선택합니다.
- 오른쪽 상단 모서리에서 내보내기를 선택합니다.
- 위반 보고서 내보내기를 선택합니다.
보고서가 편성되어 이메일로 첨부 파일로 전달됩니다.
Chain of Custody 보고서
- GitLab 13.3에서 도입됨.
- Chain of Custody 보고서는 기본적으로 비활성화된
async_chain_of_custody_report
플래그와 함께 GitLab 15.3에서 이메일을 통해 보내지만, 기본적으로 비활성화됩니다. -
GitLab 15.5에서 일반적으로 사용 가능해짐.
async_chain_of_custody_report
피처 플래그가 제거됨. - Chain of Custody 보고서는 기본적으로 비활성화된
all_commits_compliance_report
플래그와 함께 GitLab 15.9에서 합병 커밋뿐만 아니라 모든 커밋을 포함하고, 일반적으로 사용 가능해짐.all_commits_compliance_report
피처 플래그가 제거됨. -
GitLab 15.9에서 일반적으로 사용 가능해짐.
all_commits_compliance_report
피처 플래그가 제거됨.
Chain of Custody 보고서는 그룹 내 프로젝트의 모든 커밋에 대한 1개월간의 추적 창을 제공합니다.
GitLab에서 모든 커밋에 대한 보고서를 생성하려면 다음을 수행합니다:
- 그룹 내 모든 프로젝트를 가져옵니다.
- 각 프로젝트마다 지난 1개월간의 커밋을 가져옵니다. 각 프로젝트는 1024개의 커밋으로 제한됩니다. 1개월간에 1024개 이상의 커밋이 있는 경우, 잘립니다.
- 커밋을 CSV 파일에 기록합니다. 보고서는 첨부 파일로 이메일로 보내지므로 파일은 15MB에서 잘립니다(GitLab 15.5 이상).
보고서에는 다음이 포함됩니다:
- 커밋 SHA.
- 커밋 작성자.
- 커미터.
- 커밋된 날짜.
- 그룹.
- 프로젝트.
커밋에 관련된 합병 커밋이 있는 경우, 다음도 포함됩니다:
- 합병 커밋 SHA.
- 합병 요청 ID.
- 합병 요청을 Merge한 사용자.
- 합병 날짜.
- 파이프라인 ID.
- 합병 요청 승인자.
Chain of Custody 보고서 생성
Chain of Custody 보고서를 생성하려면 다음을 수행합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 규정 준수 센터를 선택합니다.
- 오른쪽 상단 모서리에서 내보내기를 선택합니다.
- Chain of Custody 보고서 내보내기를 선택합니다.
GitLab의 버전에 따라 Chain of Custody 보고서는 이메일로 전송되거나 다운로드할 수 있습니다.
특정 커밋에 대한 Chain of Custody 보고서 생성
- GitLab 13.6에서 도입됨.
- 합병 커밋뿐만 아니라 모든 커밋을 포함하는 지원은 GitLab 15.10에 추가됨.
특정 커밋 SHA에 대한 커밋별 Chain of Custody 보고서를 생성할 수 있습니다. 이 보고서는 제공된 커밋 SHA에 대한 세부 정보만 제공합니다.
특정 커밋에 대한 Chain of Custody 보고서를 생성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 보안 > 규정 준수 센터를 선택합니다.
- 오른쪽 상단 모서리에서 내보내기를 선택합니다.
- 특정 커밋의 보고서 내보내기를 선택합니다.
- 커밋 SHA를 입력한 다음 보고서 내보내기를 선택합니다.
GitLab의 버전에 따라 Chain of Custody 보고서는 이메일로 전송되거나 다운로드할 수 있습니다.
또는 직접 링크를 사용하세요: https://gitlab.com/groups/<group-name>/-/security/merge_commit_reports.csv?commit_sha={optional_commit_sha}
, commit_sha
쿼리 매개변수에 선택적 값을 전달합니다.