컴플라이언스 위반 보고서

Tier: Ultimate
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에서 대상 브랜치 검색이 소개됨.

전제 조건:

  • 그룹의 관리자거나 소유자 역할이어야 합니다.

컴플라이언스 위반 보고서를 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 보안 > 컴플라이언스 센터를 선택합니다.

컴플라이언스 보고서를 다음 항목 기준으로 정렬할 수 있습니다:

  • 심각도 수준.
  • 위반 유형.
  • 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 컴플라이언스 위반 보고서 내보내기

  • 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 컴플라이언스 위반 보고서를 내보내려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 보안 > 컴플라이언스 센터를 선택합니다.
  3. 오른쪽 상단 모서리에서 내보내기를 선택합니다.
  4. 위반 보고서 내보내기를 선택합니다.

보고서가 편성되어 이메일로 첨부 파일로 전달됩니다.

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. 그룹 내 모든 프로젝트를 가져옵니다.
  2. 각 프로젝트마다 지난 1개월간의 커밋을 가져옵니다. 각 프로젝트는 1024개의 커밋으로 제한됩니다. 1개월간에 1024개 이상의 커밋이 있는 경우, 잘립니다.
  3. 커밋을 CSV 파일에 기록합니다. 보고서는 첨부 파일로 이메일로 보내지므로 파일은 15MB에서 잘립니다(GitLab 15.5 이상).

보고서에는 다음이 포함됩니다:

  • 커밋 SHA.
  • 커밋 작성자.
  • 커미터.
  • 커밋된 날짜.
  • 그룹.
  • 프로젝트.

커밋에 관련된 합병 커밋이 있는 경우, 다음도 포함됩니다:

  • 합병 커밋 SHA.
  • 합병 요청 ID.
  • 합병 요청을 Merge한 사용자.
  • 합병 날짜.
  • 파이프라인 ID.
  • 합병 요청 승인자.

Chain of Custody 보고서 생성

Chain of Custody 보고서를 생성하려면 다음을 수행합니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 보안 > 규정 준수 센터를 선택합니다.
  3. 오른쪽 상단 모서리에서 내보내기를 선택합니다.
  4. Chain of Custody 보고서 내보내기를 선택합니다.

GitLab의 버전에 따라 Chain of Custody 보고서는 이메일로 전송되거나 다운로드할 수 있습니다.

특정 커밋에 대한 Chain of Custody 보고서 생성

  • GitLab 13.6에서 도입됨.
  • 합병 커밋뿐만 아니라 모든 커밋을 포함하는 지원은 GitLab 15.10에 추가됨.

특정 커밋 SHA에 대한 커밋별 Chain of Custody 보고서를 생성할 수 있습니다. 이 보고서는 제공된 커밋 SHA에 대한 세부 정보만 제공합니다.

특정 커밋에 대한 Chain of Custody 보고서를 생성하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 보안 > 규정 준수 센터를 선택합니다.
  3. 오른쪽 상단 모서리에서 내보내기를 선택합니다.
  4. 특정 커밋의 보고서 내보내기를 선택합니다.
  5. 커밋 SHA를 입력한 다음 보고서 내보내기를 선택합니다.

GitLab의 버전에 따라 Chain of Custody 보고서는 이메일로 전송되거나 다운로드할 수 있습니다.

또는 직접 링크를 사용하세요: https://gitlab.com/groups/<group-name>/-/security/merge_commit_reports.csv?commit_sha={optional_commit_sha}, commit_sha 쿼리 매개변수에 선택적 값을 전달합니다.