참고
오픈 소스 라이선스 준수는 공개 미리 보기 상태이며 변경될 수 있습니다.
사전 요구 사항
라이선스 정책을 구성하기 전에 다음을 확인합니다.
- 귀하의 조직에는 GitHub Code Security
- 엔터프라이즈 정책 및 규칙 집합을 관리할 수 있는 액세스 권한이 있습니다.
- 평가하려는 리포지토리에 종속성 그래프를 사용할 수 있습니다.
라이선스 준수 정보
오픈 소스 라이선스 준수를 사용하면 종속성에서 사용할 수 있는 라이선스를 지정하는 정책을 정의할 수 있습니다.
정책이 규칙 집합 GitHub 으로 적용되는 경우 패키지 매니페스트를 변경하는 끌어오기 요청을 평가하고, 직접 및 전이적 종속성을 확인하고, 검색된 라이선스를 정책과 비교합니다. 비준수 종속성이 있는 끌어오기 요청은 위반이 해결될 때까지 차단된 상태로 유지됩니다.
위반은 일반적으로 다음을 통해 해결됩니다.
- 준수하는 종속성을 사용하도록 풀 리퀘스트 업데이트
- 패키지에 대한 예외 승인
- 적절한 경우 라이선스를 허용하도록 정책 업데이트
라이선스 정책 만들기
- 귀하의 기업으로 이동하세요. 예를 들어 GitHub.com의 Enterprises 페이지에서.
- 페이지 맨 위에서 정책을 클릭합니다****.
- 사이드바에서 라이선스 준수를 클릭합니다.
- 기본 정책을 클릭합니다.
- 라이선스 정책 편집 페이지에서 라이선스 추가를 클릭하고 목록에서 선택을 선택합니다.
- 라이선스 선택기에서 허용하려는 라이선스를 선택합니다. 이 목록의 라이선스는 회사 환경에서 사용하기 위한 일반적인 위험 수준에 따라 분류되지만 이는 순전히 정보이며 법률 자문을 구성하지 않습니다. 항상 조직의 법률 팀에 문의하여 정책 지침을 확인합니다.
- 변경 내용을 저장합니다.
또는 다른 도구의 기존 라이선스 정책이 있는 경우 SPDX 식 목록으로 가져올 수 있습니다.
- 라이선스 정책 편집 페이지에서 라이선스 추가를 클릭하고 수동 입력을 선택합니다.
- 각각 새 줄에 하나 이상의 SPDX 라이선스 식별자를 입력합니다.
- 변경 내용을 저장합니다.
추가하는 라이선스는 기준 정책을 형성합니다. 나중에 경고를 처리할 때 패키지 수준 예외를 추가할 수 있습니다.
엔터프라이즈 오픈 소스 라이선스 관리자에 대한 액세스 구성
- 귀하의 기업으로 이동하세요. 예를 들어 GitHub.com의 Enterprises 페이지에서.
- 페이지 맨 위에서 피플을 클릭합니다****.
- 왼쪽 사이드바에서 엔터프라이즈 역할을 클릭합니다.
- 역할 할당을 클릭합니다.
- 역할 할당을 클릭합니다.
- 엔터프라이즈 오픈 소스 라이선스 관리자 역할을 선택합니다.
- 역할을 할당할 사용자 또는 팀을 선택합니다.
- 역할 할당을 클릭합니다.
또한 이 역할을 할당하면 검토자가 해고 요청에 신속하게 응답할 수 있도록 알림을 요청하도록 구독합니다.
필요에 따라 사용자 지정 속성을 사용하여 리포지토리당 롤아웃 제어
점진적 롤아웃을 원하는 경우 리포지토리 사용자 지정 속성을 사용하여 각 리포지토리가 비활성, 평가 또는 활성 적용 모드인지 여부를 제어합니다.
-
GitHub에서 조직의 기본 페이지로 이동합니다.
-
조직 이름에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

-
왼쪽 사이드바의 "Code, planning, and automation" 섹션에서 Repository를 클릭한 다음 Custom properties를 클릭합니다.

-
예를 들어
open_source_license_compliance단일 선택 리포지토리 사용자 지정 속성을 만듭니다. -
inactive,evaluate및active의 값을 추가합니다. -
기본값을 .로
inactive설정합니다. -
속성 값을 변경할 수 있는 사용자를 결정합니다.
-
롤아웃 단계에 따라 리포지토리에 속성 값을 할당합니다.
규칙 세트로 풀 요청에 정책 적용하기
평가 모드와 활성 모드용으로 두 개의 규칙 집합을 만드는 것이 좋습니다. 롤아웃을 제어하기 위해 사용자 지정 속성을 만든 경우 여기에서 해당 속성을 대상으로 지정할 수 있습니다.
-
적용하려는 범위에 대한 규칙 집합 페이지로 이동합니다.
-
분기 규칙 집합을 만듭니다.
-
규칙 집합 이름 아래에서 적용 상태를 설정합니다.
- 첫 번째 규칙 집합에 대해 평가(Evaluate)를 선택합니다.
- 두 번째 규칙 집합에 대해 활성을 선택합니다.
-
리포지토리를 대상으로 지정하는 방법을 선택합니다.
- 사용자 지정 속성을 사용하는 경우
open_source_license_compliance으로 대상을 지정합니다:- 평가 모드 규칙 집합의 경우 속성 값이
evaluate인 대상 리포지토리입니다. - 활성 모드 규칙 집합의 경우 속성 값이
active인 대상 리포지토리입니다.
- 평가 모드 규칙 집합의 경우 속성 값이
- 사용자 지정 속성을 사용하지 않는 경우 리포지토리 패턴 또는 명시적 리포지토리 선택에 따라 리포지토리를 대상으로 지정합니다.
- 사용자 지정 속성을 사용하는 경우
-
병합 전에 라이선스 규정 준수 결과를 요구를 사용하도록 설정합니다.
-
변경 내용을 저장합니다.
규칙 집합에 대한 자세한 내용은 AUTOTITLE 및 AUTOTITLE 을 참조 하세요.
테스트 정책 적용
- 대상 리포지토리에서 종속성 매니페스트를 변경하는 끌어오기 요청을 엽니다.
- 끌어오기 요청 주석에 라이선스 준수 결과가 표시되는지 확인합니다.
- 종속성이 정책을 위반하는 경우 생성된 경고를 검토하고 예외가 필요한 경우 해제를 요청합니다.
위반이 해결되지 않으면 끌어오기 요청이 차단된 상태로 유지됩니다.
예외 요청 검토 및 처리
- 엔터프라이즈 오픈 소스 라이선스 관리자로서 엔터프라이즈 보안 보기에서 보류 중인 라이선스 경고 요청 목록을 엽니다.
- 각 요청을 검토하고 거부 또는 승인 여부를 결정합니다.
- 승인하는 경우 패키지, 라이선스 또는 패키지 패턴에 예외를 적용할지 여부를 선택합니다.
- 리포지토리 범위 또는 엔터프라이즈 범위에서 예외를 적용할지 여부를 선택합니다.
- 예외를 저장합니다.
요청이 승인되면 다른 필수 검사가 실패하지 않는 한 경고가 닫히고 끌어오기 요청이 차단 해제됩니다.
리포지토리에 대한 효과적인 정책 검토
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

-
사이드바의 "보안"에서 라이선스 정책을 클릭합니다.
-
해당 리포지토리에 적용되는 결합된 정책 및 예외 집합을 검토합니다.
-
필요에 따라 엔터프라이즈 수준 또는 리포지토리 수준 정책을 업데이트합니다.