기밀 문제에 대한 병합 요청
공개 리포지토리의 병합 요청은 기밀 문제에 대한 병합 요청을 생성할 때에도 공개입니다.
기밀 정보를 유출하지 않도록 기밀 문제에 대해 작업할 때는 동일한 네임스페이스의 개인 포크에서 병합 요청을 생성해야 합니다.
역할은 상위 그룹에서 상속됩니다. 원래(공개) 리포지토리와 동일한 네임스페이스(같은 그룹 또는 하위 그룹)에 개인 포크를 생성하면 개발자는 포크에서 동일한 권한을 받습니다. 이 상속은 다음을 보장합니다:
- 개발자 사용자는 기밀 문제를 보고 해결하는 데 필요한 권한을 가집니다.
- 개별 사용자에게 포크에 대한 액세스 권한을 부여할 필요가 없습니다.
자세한 내용을 보려면 GitLab 엔지니어를 위한 패치 릴리즈 실행 문서: 패치 릴리스를 위한 보안 수정 준비를 참조하세요.
기밀 병합 요청 생성
브랜치는 기본적으로 공개입니다. 작업의 기밀성을 보호하기 위해 동일한 네임스페이스에서 브랜치와 병합 요청을 생성해야 하지만, 다운스트림에서는 개인 포크에 생성해야 합니다. 공개 리포지토리와 동일한 네임스페이스에 개인 포크를 생성하면 포크가 업스트림 공개 리포지토리의 권한을 상속받습니다. 업스트림 공개 리포지토리에 대한 개발자 역할을 가진 사용자는 귀하의 조치를 취하지 않고도 다운스트림 개인 포크에서 이러한 업스트림 권한을 상속받습니다. 이러한 사용자는 기밀 문제를 해결하는 데 도움을 주기 위해 개인 포크의 브랜치에 즉시 코드를 푸시할 수 있습니다.
경고:
개인 포크가 업스트림 리포지토리와 다른 네임스페이스에 생성되면 기밀 정보가 노출될 수 있습니다. 두 네임스페이스는 동일한 사용자를 포함하지 않을 수 있습니다.
사전 필요 조건:
- 공개 리포지토리에 대한 소유자 또는 유지 관리자 역할이 있어야 합니다. 이 역할 중 하나가 있어야 하위 그룹을 생성할 수 있습니다.
- 공개 리포지토리를 포크했습니다.
- 포크의 가시성 수준이 _Private_입니다.
기밀 병합 요청을 생성하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 계획 > 문제를 선택하고 병합 요청을 생성할 문제를 찾습니다.
- 문제 설명 아래로 스크롤하고 기밀 병합 요청 생성을 선택합니다.
- 요구에 맞는 항목을 선택합니다:
- 브랜치와 병합 요청을 모두 생성하려면, 기밀 병합 요청 및 브랜치 생성을 선택합니다. 병합 요청은 포크의 기본 브랜치를 대상으로 하며, 공식 업스트림 프로젝트의 기본 브랜치는 아닙니다.
- 브랜치만 생성하려면, 브랜치 생성을 선택합니다.
- 사용할 프로젝트를 선택합니다. 이러한 프로젝트에는 병합 요청이 활성화되어 있으며, 해당 프로젝트에서 개발자 역할(또는 더 높은 역할)을 가지고 있습니다.
- 브랜치 이름을 제공하고 출처(브랜치 또는 태그)를 선택합니다. GitLab은 이러한 브랜치가 개인 포크에서 사용 가능한지 확인합니다. 두 브랜치는 선택한 포크에서 사용 가능해야 합니다.
- 생성을 선택합니다.
이 병합 요청은 공개 업스트림 프로젝트가 아니라 귀하의 개인 포크를 대상으로 합니다. 귀하의 브랜치, 병합 요청 및 커밋은 개인 포크에 남아 있으며, 이는 기밀 정보를 조기에 공개하는 것을 방지합니다.
병합 요청을 열려면
포크에서 업스트림 리포지토리로
다음과 같을 때:
- 개인 포크에서 문제를 해결했다고 생각할 때.
- 기밀 커밋을 공개할 준비가 되었을 때.