Skip to main content

사용자가 엔터프라이즈에서 리포지토리를 사용하는 방법 관리

리포지토리 만들기 및 삭제 등의 작업을 수행할 수 있는 사용자를 제어하는 리포지토리 정책을 만듭니다.

누가 이 기능을 사용할 수 있나요?

Enterprise owners

참고 항목

리포지토리 정책은 현재 공개 미리 보기 버전이며 변경될 수 있습니다. 조직당 최대 75개의 총 정책 및 규칙 집합과 엔터프라이즈당 최대 75개의 총 정책 및 규칙 집합을 가질 수 있습니다.

리포지토리를 만들거나 삭제할 수 있는 사용자 등 리포지토리의 수명 주기에서 주요 이벤트를 관리하기 위해 리포지토리 정책을 만들 수 있습니다. 리포지토리 정책은 영향을 받는 사용자와 대상 리포지토리를 유연하게 제어할 수 있는 제한 사항 모음입니다.

리포지토리 정책에서는 다음을 제한할 수 있습니다.

  • 새 리포지토리 및 표시 유형 변경에 허용되는 표시 유형
  • 리포지토리를 **만들 **수 있는 사용자
  • 리포지토리를 삭제할 수 있는 사용자
  • 조직 외부로 리포지토리를 전송할 수 있는 사용자
  • 사용자가 리포지토리의 이름을 지정하는 방법

조직 소유자인 경우 특정 조직에 대한 리포지토리 정책을 만들 수 있습니다. 사용자가 조직에서 리포지토리를 사용하는 방법 관리을(를) 참조하세요.

예제

리포지토리 정책을 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 모든 새 리포지토리가 특정 명명 규칙(예: kebab-case)을 사용하는지 확인합니다.
  • 조직 관리자를 제외한 리포지토리 삭제를 방지합니다.
  • 엔터프라이즈의 "오픈 소스" 조직에서만 퍼블릭 리포지토리를 만들 수 있도록 허용합니다.
  • 메타데이터의 잠재적 손실을 방지하기 위해 퍼블릭 리포지토리가 프라이빗으로 변경되지 않도록 합니다.

리포지토리를 대상으로 지정하는 방법

먼저, 엔터프라이즈의 조직을 대상으로 합니다. 모든 조직을 선택하거나, 목록에서 선택하거나, fnmatch 구문을 사용하여 동적 규칙을 만들 수 있습니다. Enterprise Managed Users를 사용하는 경우 엔터프라이즈의 사용자가 소유한 모든 리포지토리를 대상으로 지정하도록 선택할 수도 있습니다.

그런 다음, 선택한 조직의 리포지토리를 대상으로 지정합니다. 사용자 지정 리포지토리 속성과 함께 리포지토리 정책을 사용하는 것이 좋습니다. 리포지토리에 사용자 지정 속성을 추가하면 정책에서 해당 리포지토리를 유연하게 대상으로 지정할 수 있습니다.

예를 들어 속성을 추가하여 프로덕션 데이터 또는 기타 중요한 정보가 포함된 리포지토리를 표시한 다음, 다른 사용자가 해당 리포지토리를 공개하지 못하도록 할 수 있습니다.

사용자 지정 속성을 만들고 설정하려면 조직의 리포지토리에 대한 사용자 지정 속성 관리을(를) 참조하세요.

다른 정책과 상호 작용

사용 가능한 제한 사항 중 일부는 조직 또는 엔터프라이즈 설정의 "멤버 권한" 페이지에서 설정한 정책과 중복됩니다.

리포지토리 정책을 만들어도 기존 "멤버 권한" 정책이 재정의되지는 않습니다. 대신 정책이 추가되므로 정책의 가장 제한적인 버전이 적용됩니다. 이는 멤버 권한 정책 및 엔터프라이즈 또는 조직 수준에서 만든 다른 리포지토리 정책에 모두 적용됩니다.

멤버 권한 정책과 비교하여 리포지토리 정책에는 다음과 같은 몇 가지 이점이 있습니다.

  • 조직 및 리포지토리의 보다 유연한 타겟팅을 제공합니다.
  • 이를 통해 특정 행위자에게 정책을 우회할 수 있는 옵션을 제공할 수 있습니다.
  • 조직 소유자에게 표시되므로 허용되는 내용에 대한 투명성이 높아집니다.
  • 이를 통해 Enterprise Managed Users가 소유한 리포지토리를 대상으로 지정할 수 있습니다.

리포지토리 정책 만들기

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭합니다.
  2. 사용자 환경에 따라 사용자 엔터프라이즈를 클릭하거나 사용자 엔터프라이즈를 클릭한 다음, 보고 싶은 엔터프라이즈를 클릭합니다.
  3. 페이지 상단에서 정책을 클릭합니다.{ %else %}페이지의 왼쪽에 있는 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.
  4. "Policies"에서 Repository를 클릭합니다.
  5. 새 정책을 클릭합니다.
  6. 새 정책을 구성하고 Create를 클릭합니다. 도움이 필요하면 다음 하위 섹션을 참조하세요.

정책 이름

정책의 목적을 전달할 수 있도록 설명적인 내용을 사용하세요. 조직 소유자는 정책을 볼 수 있으므로 명확한 이름을 사용하면 이해를 돕는 데 유용합니다. 예: Prevent public repos on production

적용 상태

정책을 만들 때 정책이 적용되지 않도록 하려면 "Disabled"로 설정합니다. 그렇지 않으면 "Active"로 설정합니다.

허용 목록

이 정책의 제한을 무시할 수 있는 역할을 선택합니다.

대상

정책이 적용되는 조직 및 리포지토리를 선택합니다.

대상 조직

모든 조직을 선택하거나, 기존 조직을 선택하거나, 이름별로 동적 목록을 설정합니다. Enterprise Managed Users를 사용하는 경우 엔터프라이즈의 사용자가 소유한 모든 리포지토리를 대상으로 지정하도록 선택할 수도 있습니다.

동적 목록을 설정하는 경우 fnmatch 구문을 사용하여 하나 이상의 명명 패턴을 추가합니다. 예를 들어, *open-source 문자열은 이름이 open-source로 끝나는 모든 조직과 일치합니다. 구문 세부 정보는 리포지토리에 대한 규칙 세트 만들기을(를) 참조하세요.

대상 리포지토리

선택한 조직에서 대상으로 지정할 리포지토리(현재 또는 미래)를 선택합니다. 모든 리포지토리를 선택하거나 사용자 지정 속성으로 동적 목록을 설정할 수 있습니다.

정책

포함할 제한을 선택합니다. 정책이 활성화되면 모든 대상 리포지토리에 제한이 적용되지만 허용 목록의 사용자 또는 팀에서 우회할 수 있습니다.

"이름 제한" 정책을 선택하는 경우 정규식을 사용하여 리포지토리 이름이 일치해야 하거나 일치하지 않아야 하는 패턴을 설정해야 합니다. 예를 들어 kebab-case 이름 지정을 적용하는 패턴은 ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$ 등과 같습니다.

  • 패턴은 RE2 구문을 지원합니다. Google의 구문 가이드를 참조하세요.
  • 표현식의 유효성을 검사하려면 테스트 패턴을 클릭한다음, 패턴 및 테스트 값을 입력합니다.

정책 우회 권한 위임

참고 항목

리포지토리 정책이 위임된 바이패스는 공개 미리 보기 상태이며 변경될 수 있습니다.

리포지토리 정책에 대한 위임된 바이패스를 사용하면 리포지토리 삭제 및 표시 여부 변경에 대한 리포지토리 정책을 바이패스할 수 있는 사용자를 제어할 수 있습니다.

위임된 바이패스를 사용하면, 리포지토리 관리자가 리포지토리의 표시 여부를 변경하거나 리포지토리를 삭제하기 위한 요청을 제출해야 합니다. 요청은 리포지토리 정책을 바이패스하는 요청을 승인하거나 거부하는 지정된 검토자 그룹으로 전송됩니다.

리포지토리 정책을 바이패스하는 요청이 승인되면 요청 변경이 즉시 완료됩니다. 요청이 거부되면 요청된 변경이 적용되지는 않지만 다시 요청될 수 있습니다.

위임된 바이패스 구성을 위해 엔터프라이즈 소유자 또는 조직 소유자가 먼저 "바이패스 목록"을 만듭니다. 바이패스 목록에는 리포지토리 정책 바이패스 요청을 감독하는 팀 또는 리포지토리 관리자와 같은 특정 역할과 팀이 포함됩니다. 자세한 내용은 사용자가 엔터프라이즈에서 리포지토리를 사용하는 방법 관리을(를) 참조하세요.

우회 권한 요청 관리

돌려주기 규칙을 바이패스하기 위한 요청 관리

참고 항목

리포지토리 정책이 위임된 바이패스는 공개 미리 보기 상태이며 변경될 수 있습니다.

"Bypass Requests" 페이지의 "정책 설정" 아래에서 모든 바이패스 권한 요청을 보고 관리할 수 있습니다.

승인자(바이패스 목록의 구성원), 요청자(요청을 만드는 기여자), 시간 범위 및 상태 따라 요청을 필터링할 수 있습니다. 다음 상태가 요청에 할당됩니다.

Status설명
Cancelled기여자가 요청을 취소했습니다.
Completed요청이 승인되었으며 커밋이 리포지토리로 푸시되었습니다.
Denied요청이 검토 및 거부되었습니다.
Expired요청이 만료되었습니다. 요청은 7일간 유효합니다.
Open요청이 아직 검토되지 않았거나, 승인되었지만 커밋이 리포지토리로 푸시되지 않았습니다.

기여자가 제한된 콘텐츠가 포함된 커밋을 돌려주기 위해 권한 바이패스를 요청하면 바이패스 목록의 모든 구성원은 요청에 대한 링크가 포함된 이메일 알림을 받습니다. 그러면 바이패스 목록의 구성원이 요청이 만료되기 전에 7일간 요청을 검토하고 승인하거나 거부할 수 있습니다.

기여자가 이메일로 결정에 대한 알림을 받게 되며 필요한 조치를 취해야 합니다. 요청이 승인되는 경우 기여자는 리포지토리에 대한 제한된 콘텐츠가 포함된 커밋을 돌려줄 수 있습니다. 요청이 거부되는 경우 기여자가 커밋을 리포지토리에 성공적으로 돌려주려면 커밋에서 제한된 콘텐츠를 제거해야 합니다.

추가 참고 자료

리포지토리 관리를 위한 추가 정책을 설정하려면 엔터프라이즈에서 리포지토리 관리 정책 적용을(를) 참조하세요.