참고 항목
리포지토리 정책은 현재 공개 미리 보기 버전이며 변경될 수 있습니다. 조직당 최대 75개의 총 정책 및 규칙 집합과 엔터프라이즈당 최대 75개의 총 정책 및 규칙 집합을 가질 수 있습니다.
리포지토리를 만들거나 삭제할 수 있는 사용자 등 리포지토리의 수명 주기에서 주요 이벤트를 관리하기 위해 리포지토리 정책을 만들 수 있습니다. 리포지토리 정책은 영향을 받는 사용자와 대상 리포지토리를 유연하게 제어할 수 있는 제한 사항 모음입니다.
리포지토리 정책에서는 다음을 제한할 수 있습니다.
- 새 리포지토리 및 표시 유형 변경에 허용되는 표시 유형
- 리포지토리를 **만들 **수 있는 사용자
- 리포지토리를 삭제할 수 있는 사용자
- 조직 외부로 리포지토리를 전송할 수 있는 사용자
- 사용자가 리포지토리의 이름을 지정하는 방법
Examples
리포지토리 정책을 사용하여 다음과 같은 작업을 수행할 수 있습니다.
- 모든 새 리포지토리가 특정 명명 규칙(예:
kebab-case)을 사용하는지 확인합니다. - 조직 관리자를 제외한 리포지토리 삭제를 방지합니다.
- 엔터프라이즈의 "오픈 소스" 조직에서만 퍼블릭 리포지토리를 만들 수 있도록 허용합니다.
- 메타데이터의 잠재적 손실을 방지하기 위해 퍼블릭 리포지토리가 프라이빗으로 변경되지 않도록 합니다.
Creating a repository policy
- GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭합니다.
- 사용자 환경에 따라 사용자 엔터프라이즈를 클릭하거나 사용자 엔터프라이즈를 클릭한 다음, 보고 싶은 엔터프라이즈를 클릭합니다.
- 페이지 상단에서 정책을 클릭합니다.{ %else %}페이지의 왼쪽에 있는 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.
- Under "Policies", click Repository.
- Click New policy.
- Configure your new policy, then click Create. For help, consult the following subsections.
Policy name
Use something descriptive to communicate the purpose of the policy. Organization owners can view the policy, so good names help add clarity. For example: Prevent public repos on production.
Enforcement status
정책을 만들 때 정책이 적용되지 않도록 하려면 "Disabled"로 설정합니다. 그렇지 않으면 "Active"로 설정합니다.
Allow list
이 정책의 제한을 무시할 수 있는 역할을 선택합니다.
Targets
Choose which organizations and repositories the policy applies to.
Target organizations
Select all organizations, choose a selection of existing organizations, or set a dynamic list by name. If you use Enterprise Managed Users, you can also choose to target all repositories owned by users in your enterprise.
If you set a dynamic list, you'll add one or more naming patterns using fnmatch syntax. For example, the string *open-source would match any organization with a name that ends with open-source. For syntax details, see 리포지토리에 대한 규칙 세트 만들기.
Target repositories
Choose which repositories (current or future) to target in the selected organizations. You can select all repositories or set a dynamic list by custom property.
Policies
포함할 제한을 선택합니다. 정책이 활성화되면 모든 대상 리포지토리에 제한이 적용되지만 허용 목록의 사용자 또는 팀에서 우회할 수 있습니다.
"이름 제한" 정책을 선택하는 경우 정규식을 사용하여 리포지토리 이름이 일치해야 하거나 일치하지 않아야 하는 패턴을 설정해야 합니다. 예를 들어 kebab-case 이름 지정을 적용하는 패턴은 ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$ 등과 같습니다.
- 패턴은 RE2 구문을 지원합니다. Google의 구문 가이드를 참조하세요.
- 표현식의 유효성을 검사하려면 테스트 패턴을 클릭한다음, 패턴 및 테스트 값을 입력합니다.
Delegating bypass of policies
참고 항목
리포지토리 정책이 위임된 바이패스는 공개 미리 보기 상태이며 변경될 수 있습니다.
리포지토리 정책에 대한 위임된 바이패스를 사용하면 리포지토리 삭제 및 표시 여부 변경에 대한 리포지토리 정책을 바이패스할 수 있는 사용자를 제어할 수 있습니다.
위임된 바이패스를 사용하면, 리포지토리 관리자가 리포지토리의 표시 여부를 변경하거나 리포지토리를 삭제하기 위한 요청을 제출해야 합니다. 요청은 리포지토리 정책을 바이패스하는 요청을 승인하거나 거부하는 지정된 검토자 그룹으로 전송됩니다.
리포지토리 정책을 바이패스하는 요청이 승인되면 요청 변경이 즉시 완료됩니다. 요청이 거부되면 요청된 변경이 적용되지는 않지만 다시 요청될 수 있습니다.
위임된 바이패스 구성을 위해 엔터프라이즈 소유자 또는 조직 소유자가 먼저 "바이패스 목록"을 만듭니다. 바이패스 목록에는 리포지토리 정책 바이패스 요청을 감독하는 팀 또는 리포지토리 관리자와 같은 특정 역할과 팀이 포함됩니다. 자세한 내용은 사용자가 엔터프라이즈에서 리포지토리를 사용하는 방법 관리을(를) 참조하세요.
Next steps
Create rulesets to consistently govern important branches in your enterprise's repositories. See Protecting branches in your enterprise with rulesets.