Skip to main content

오픈 소스 라이선스 정책 구성

오픈 소스 라이선스 정책을 만들고 적용하여 종속성이 사용할 수 있는 라이선스를 제어합니다.

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

Organizations owned by a GitHub Enterprise account with GitHub Code Security enabled

참고

오픈 소스 라이선스 준수는 공개 미리 보기 상태이며 변경될 수 있습니다.

사전 요구 사항

라이선스 정책을 구성하기 전에 다음을 확인합니다.

  • 귀하의 조직에는 GitHub Code Security
  • 엔터프라이즈 정책 및 규칙 집합을 관리할 수 있는 액세스 권한이 있습니다.
  • 평가하려는 리포지토리에 종속성 그래프를 사용할 수 있습니다.

라이선스 준수 정보

오픈 소스 라이선스 준수를 사용하면 종속성에서 사용할 수 있는 라이선스를 지정하는 정책을 정의할 수 있습니다.

정책이 규칙 집합 GitHub 으로 적용되는 경우 패키지 매니페스트를 변경하는 끌어오기 요청을 평가하고, 직접 및 전이적 종속성을 확인하고, 검색된 라이선스를 정책과 비교합니다. 비준수 종속성이 있는 끌어오기 요청은 위반이 해결될 때까지 차단된 상태로 유지됩니다.

위반은 일반적으로 다음을 통해 해결됩니다.

  • 준수하는 종속성을 사용하도록 풀 리퀘스트 업데이트
  • 패키지에 대한 예외 승인
  • 적절한 경우 라이선스를 허용하도록 정책 업데이트

라이선스 정책 만들기

  1. 귀하의 기업으로 이동하세요. 예를 들어 GitHub.com의 Enterprises 페이지에서.
  2. 페이지 맨 위에서 정책을 클릭합니다****.
  3. 사이드바에서 라이선스 준수를 클릭합니다.
  4. 기본 정책을 클릭합니다.
  5. 라이선스 정책 편집 페이지에서 라이선스 추가를 클릭하고 목록에서 선택을 선택합니다.
  6. 라이선스 선택기에서 허용하려는 라이선스를 선택합니다. 이 목록의 라이선스는 회사 환경에서 사용하기 위한 일반적인 위험 수준에 따라 분류되지만 이는 순전히 정보이며 법률 자문을 구성하지 않습니다. 항상 조직의 법률 팀에 문의하여 정책 지침을 확인합니다.
  7. 변경 내용을 저장합니다.

또는 다른 도구의 기존 라이선스 정책이 있는 경우 SPDX 식 목록으로 가져올 수 있습니다.

  1. 라이선스 정책 편집 페이지에서 라이선스 추가를 클릭하고 수동 입력을 선택합니다.
  2. 각각 새 줄에 하나 이상의 SPDX 라이선스 식별자를 입력합니다.
  3. 변경 내용을 저장합니다.

추가하는 라이선스는 기준 정책을 형성합니다. 나중에 경고를 처리할 때 패키지 수준 예외를 추가할 수 있습니다.

엔터프라이즈 오픈 소스 라이선스 관리자에 대한 액세스 구성

  1. 귀하의 기업으로 이동하세요. 예를 들어 GitHub.com의 Enterprises 페이지에서.
  2. 페이지 맨 위에서 피플을 클릭합니다****.
  3. 왼쪽 사이드바에서 엔터프라이즈 역할을 클릭합니다.
  4. 역할 할당을 클릭합니다.
  5. 역할 할당을 클릭합니다.
  6. 엔터프라이즈 오픈 소스 라이선스 관리자 역할을 선택합니다.
  7. 역할을 할당할 사용자 또는 팀을 선택합니다.
  8. 역할 할당을 클릭합니다.

또한 이 역할을 할당하면 검토자가 해고 요청에 신속하게 응답할 수 있도록 알림을 요청하도록 구독합니다.

필요에 따라 사용자 지정 속성을 사용하여 리포지토리당 롤아웃 제어

점진적 롤아웃을 원하는 경우 리포지토리 사용자 지정 속성을 사용하여 각 리포지토리가 비활성, 평가 또는 활성 적용 모드인지 여부를 제어합니다.

  1. GitHub에서 조직의 기본 페이지로 이동합니다.

  2. 조직 이름에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    조직 프로필에 있는 여러 탭의 스크린샷. "설정" 탭이 진한 주황색으로 표시됩니다.

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

    조직의 설정 페이지 스크린샷. 사이드바에서 "사용자 지정 속성"이라는 레이블이 지정된 링크가 주황색으로 표시됩니다.

  4. 예를 들어 open_source_license_compliance단일 선택 리포지토리 사용자 지정 속성을 만듭니다.

  5. inactive, evaluateactive의 값을 추가합니다.

  6. 기본값을 .로 inactive설정합니다.

  7. 속성 값을 변경할 수 있는 사용자를 결정합니다.

  8. 롤아웃 단계에 따라 리포지토리에 속성 값을 할당합니다.

규칙 세트로 풀 요청에 정책 적용하기

평가 모드와 활성 모드용으로 두 개의 규칙 집합을 만드는 것이 좋습니다. 롤아웃을 제어하기 위해 사용자 지정 속성을 만든 경우 여기에서 해당 속성을 대상으로 지정할 수 있습니다.

  1. 적용하려는 범위에 대한 규칙 집합 페이지로 이동합니다.

  2. 분기 규칙 집합을 만듭니다.

  3. 규칙 집합 이름 아래에서 적용 상태를 설정합니다.

    • 첫 번째 규칙 집합에 대해 평가(Evaluate)를 선택합니다.
    • 두 번째 규칙 집합에 대해 활성을 선택합니다.
  4. 리포지토리를 대상으로 지정하는 방법을 선택합니다.

    • 사용자 지정 속성을 사용하는 경우 open_source_license_compliance으로 대상을 지정합니다:
      • 평가 모드 규칙 집합의 경우 속성 값이 evaluate인 대상 리포지토리입니다.
      • 활성 모드 규칙 집합의 경우 속성 값이 active인 대상 리포지토리입니다.
    • 사용자 지정 속성을 사용하지 않는 경우 리포지토리 패턴 또는 명시적 리포지토리 선택에 따라 리포지토리를 대상으로 지정합니다.
  5. 병합 전에 라이선스 규정 준수 결과를 요구를 사용하도록 설정합니다.

  6. 변경 내용을 저장합니다.

규칙 집합에 대한 자세한 내용은 AUTOTITLE 및 AUTOTITLE 을 참조 하세요.

테스트 정책 적용

  1. 대상 리포지토리에서 종속성 매니페스트를 변경하는 끌어오기 요청을 엽니다.
  2. 끌어오기 요청 주석에 라이선스 준수 결과가 표시되는지 확인합니다.
  3. 종속성이 정책을 위반하는 경우 생성된 경고를 검토하고 예외가 필요한 경우 해제를 요청합니다.

위반이 해결되지 않으면 끌어오기 요청이 차단된 상태로 유지됩니다.

예외 요청 검토 및 처리

  1. 엔터프라이즈 오픈 소스 라이선스 관리자로서 엔터프라이즈 보안 보기에서 보류 중인 라이선스 경고 요청 목록을 엽니다.
  2. 각 요청을 검토하고 거부 또는 승인 여부를 결정합니다.
  3. 승인하는 경우 패키지, 라이선스 또는 패키지 패턴에 예외를 적용할지 여부를 선택합니다.
  4. 리포지토리 범위 또는 엔터프라이즈 범위에서 예외를 적용할지 여부를 선택합니다.
  5. 예외를 저장합니다.

요청이 승인되면 다른 필수 검사가 실패하지 않는 한 경고가 닫히고 끌어오기 요청이 차단 해제됩니다.

리포지토리에 대한 효과적인 정책 검토

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 "보안"에서 라이선스 정책을 클릭합니다.

  4. 해당 리포지토리에 적용되는 결합된 정책 및 예외 집합을 검토합니다.

  5. 필요에 따라 엔터프라이즈 수준 또는 리포지토리 수준 정책을 업데이트합니다.

추가 읽기