보안 정책 프로젝트
머지 리퀘스트 승인 정책을 사용하여 GitLab에서 보안 규칙을 강제 적용하고 프로젝트 전반에 걸쳐 스캔, 승인, 규정 준수를 자동화하는 방법을 알아봅니다.
보안 정책 프로젝트는 여러 프로젝트에 정책을 강제 적용합니다. 보안 정책 프로젝트는 정책만 담아 두는 특수한 유형의 프로젝트입니다. 보안 정책 프로젝트에 담긴 정책을 강제 적용하려면 정책을 적용할 프로젝트, 하위 그룹, 그룹에 해당 보안 정책 프로젝트를 연결합니다. 보안 정책 프로젝트는 여러 정책을 담을 수 있으며, 담긴 정책은 함께 강제 적용됩니다. 그룹 또는 하위 그룹에 강제 적용된 보안 정책 프로젝트는 모든 하위 그룹과 그 프로젝트를 포함해 계층 구조 아래의 모든 대상에 적용됩니다. 머지 리퀘스트에서 변경한 정책은 해당 머지 리퀘스트가 병합되는 즉시 적용됩니다. 머지 리퀘스트를 거치지 않고 기본 브랜치에 직접 커밋한 정책 변경은 적용되기까지 최대 10분이 걸릴 수 있습니다. 정책은 .gitlab/security-policies/policy.yml YAML 파일에 저장됩니다. 보안 정책 프로젝트 구현 # 보안 정책 프로젝트의 구현 방식은 GitLab.com, GitLab Dedicated, GitLab Self-Managed 사이에 조금씩 다릅니다. 가장 큰 차이는 GitLab.com에서는 하위 그룹만 만들 수 있다는 점입니다. 직무 분리를 보장하려면 더 세밀한 권한 구성이 필요합니다. GitLab.com 네임스페이스에서 전역으로 정책 강제 적용 # 사전 요건: 보안 정책 프로젝트에 연결하려면 Owner 권한 또는 manage_security_policy_link 권한을 가진 사용자 지정 역할 이 있어야 합니다. 자세한 내용은 직무 분리 를 참고합니다. GitLab.com 네임스페이스의 모든 하위 그룹과 프로젝트에 전역으로 정책을 강제 적용하는 대략적인 워크플로는 다음과 같습니다. 최상위 그룹에서 Policies 탭을 엽니다. 하위 그룹에서 Policies 탭으로 이동해 테스트 정책을 만듭니다. 테스트 목적으로 정책을 비활성화 상태로 만들 수 있습니다. 정책을 만들면 최상위 그룹 아래에 보안 정책 프로젝트가 자동으로 생성됩니다. 이 프로젝트는 policy.yml 또는 코드형 정책을 저장하는 데 사용됩니다. 새로 생성된 프로젝트에서 권한을 확인하고 필요에 맞게 설정합니다. 기본적으로 Owner와 Maintainer는 정책을 만들고 편집하고 삭제할 수 있습니다. Developer는 정책 변경을 제안할 수 있으나 병합할 수는 없습니다. 하위 그룹 안에 생성된 보안 정책 프로젝트에서 필요한 정책을 만듭니다. 생성한 Security Policy Management 프로젝트의 Policies 탭에서 정책 편집기를 사용할 수 있습니다. 또는 새로 생성된 보안 정책 프로젝트 Security Policy Management - security policy project 에 저장된 policy.yml 파일에서 정책을 직접 수정할 수 있습니다. 그룹, 하위 그룹, 프로젝트를 보안 정책 프로젝트에 연결합니다. 적절한 권한을 가진 하위 그룹 소유자 또는 프로젝트 소유자는 Policies 페이지에서 보안 정책 프로젝트로 연결을 만들 수 있습니다. 전체 경로를