Skip to main content

Dependabot 보안 업데이트 구성.

Dependabot security updates 또는 수동 끌어오기 요청을 사용하여 취약한 종속성을 쉽게 업데이트할 수 있습니다.

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

Users with write access

참고: 사이트 관리자가 먼저 GitHub Enterprise Server 인스턴스의 Dependabot updates을(를) 설정해야 이 기능을 사용할 수 있습니다. 자세한 내용은 "엔터프라이즈에 Dependabot 사용"을(를) 참조하세요.

엔터프라이즈 소유자가 엔터프라이즈 수준에서 정책을 설정한 경우 Dependabot updates을(를) 사용하거나 사용하지 않도록 설정할 수 없습니다. 자세한 내용은 "엔터프라이즈에 대한 코드 보안 및 분석을 위한 정책 적용"을(를) 참조하세요.

Dependabot security updates 구성 정보

Dependabot alerts 및 종속성 그래프를 사용하는 리포지토리에 대해 Dependabot security updates를 사용하도록 설정할 수 있습니다. 자세한 내용은 "Dependabot 보안 업데이트 정보"을(를) 참조하세요.

개별 리포지토리, 조직의 일부 리포지토리 또는 개인 계정이나 조직이 소유한 모든 리포지토리에서 Dependabot security updates을(를) 사용하거나 사용하지 않을 수 있습니다. 조직에서 보안 기능을 사용하도록 설정하는 방법에 대한 자세한 내용은 "조직 보안을 위한 빠른 시작.""

Note

Dependabot security updates을(를) 리포지토리에 사용하도록 설정하면 Dependabot에서 자동으로 끌어오기 요청을 열어 사용 가능한 패치가 있는 열려 있는 모든 Dependabot 경고를 해결합니다. Dependabot에서 끌어오기 요청을 여는 경고를 사용자 지정하려면 Dependabot security updates을(를) 사용 안 함 상태로 두고 자동 심사 규칙을 만들어야 합니다. 자세한 내용은 "Dependabot 경고의 우선 순위를 지정하는 자동 심사 규칙 사용자 지정"을(를) 참조하세요.

지원되는 리포지토리

개인 계정이나 조직에서 Dependabot security updates에 대하여 새 리포지토리에 대해 자동으로 사용하도록 설정을 사용하는 경우, GitHub에서는 새로 만든 리포지토리에 대하여 자동으로 Dependabot security updates를 사용하도록 설정합니다. 자세한 내용은 "리포지토리에 대한 Dependabot security updates 관리"를 참조하세요.

보안 업데이트를 사용하도록 설정된 리포지토리의 포크를 만드는 경우 GitHub는 포크에 대해 자동으로 Dependabot security updates를 사용하지 않도록 설정합니다. 그런 다음 특정 포크에서 Dependabot security updates를 사용하도록 설정할지 여부를 결정할 수 있습니다.

보안 업데이트가 리포지토리에 대해 사용하도록 설정되지 않았고 그 이유를 모르는 경우 먼저 아래 절차 섹션에 제공된 지침을 사용하여 사용하도록 설정해 봅니다. 그래도 보안 업데이트가 작동하지 않으면 사이트 관리자에게 문의에 문의할 수 있습니다.

리포지토리에 대한 Dependabot security updates 관리

개인 계정 또는 조직이 소유한 모든 적격 리포지토리에 대해 Dependabot security updates를 사용하거나 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 "개인 계정에 대한 보안 및 분석 설정 관리" 또는 "조직의 보안 및 분석 설정 관리"을(를) 참조하세요.

또한 개별 리포지토리에 대해 Dependabot security updates를 사용하거나 사용하지 않도록 설정할 수 있습니다.

개별 리포지토리에 Dependabot security updates 사용 또는 사용 안 함

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

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

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

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. “코드 보안 및 분석” 아래 “Dependabot 보안 업데이트” 오른쪽에 있는 사용을 클릭하여 기능을 사용하도록 설정하거나 사용 안 함을 클릭하여 사용하지 않도록 설정합니다.

Dependabot security updates을(를) 단일 끌어오기 요청으로 그룹화

표시되는 끌어오기 요청 수를 줄이려면 리포지토리 또는 조직에 대해 그룹화된 보안 업데이트를 사용하도록 설정할 수 있습니다. 이 기능을 사용하도록 설정하면 Dependabot은(는) 보안 업데이트를 각 패키지 에코시스템에 대한 하나의 끌어오기 요청으로 그룹화합니다. 그룹화된 보안 업데이트를 사용하려면 먼저 다음 기능을 사용하도록 설정해야 합니다.

Note

그룹화된 보안 업데이트를 처음 사용하도록 설정하면 Dependabot에서 즉시 그룹화된 끌어오기 요청 생성을 시도합니다. Dependabot이(가) 이전 끌어오기 요청을 닫고 새 끌어오기 요청을 여는 것을 볼 수 있습니다.

다음 방법 중 하나 또는 둘 다로 Dependabot security updates에 대해 그룹화된 끌어오기 요청을 사용하도록 설정할 수 있습니다.

  • 가능한 한 많은 보안 업데이트를 디렉터리 및 에코시스템별로 그룹화하려면 리포지토리또는 조직.
  • 패키지 이름, 개발/프로덕션 종속성별 그룹화, SemVer 수준 또는 에코시스템당 여러 디렉터리과 같은 그룹화를 보다 세부적으로 제어하려면 리포지토리의 dependabot.yml 구성 파일에 구성 옵션을 추가합니다.

참고: dependabot.yml 파일에서 Dependabot security updates에 대한 그룹 규칙을 구성한 경우 사용 가능한 모든 업데이트는 지정한 규칙에 따라 그룹화됩니다. 조직 또는 리포지토리 수준에서 그룹화된 보안 업데이트에 대한 설정도 사용하도록 설정된 경우 Dependabot은 dependabot.yml에 구성되지 않은 디렉터리 간에서만 그룹화합니다.

개별 리포지토리에 대해 그룹화된 Dependabot security updates 사용 또는 사용 안 함

리포지토리 관리자는 리포지토리에 대해 그룹화된 보안 업데이트를 사용하거나 사용하지 않도록 설정할 수 있습니다. 리포지토리 설정을 변경하면 모든 기본 조직 설정이 재정의됩니다. dependabot.yml 파일에 구성된 그룹 규칙은 조직 또는 리포지토리 수준에서 그룹화된 보안 업데이트를 사용하거나 사용하지 않도록 설정하기 위한 사용자 인터페이스 설정을 재정의합니다.

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

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

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

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. “코드 보안 및 분석” 아래 “그룹 보안 업데이트” 오른쪽에 있는 사용을 클릭하여 기능을 사용하도록 설정하거나 사용 안 함을 클릭하여 사용하지 않도록 설정합니다.

조직에 그룹 Dependabot security updates 사용 또는 사용 안 함

조직 소유자는 조직의 모든 리포지토리에 대해 그룹화된 보안 업데이트를 사용하거나 사용하지 않도록 설정할 수 있습니다. 그러나 조직 내의 리포지토리 관리자는 해당 리포지토리에 대한 설정을 업데이트하여 기본 조직 설정을 재정의할 수 있습니다. dependabot.yml 파일에 구성된 그룹 규칙은 조직 또는 리포지토리 수준에서 그룹화된 보안 업데이트를 사용하거나 사용하지 않도록 설정하기 위한 사용자 인터페이스 설정을 재정의합니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.

  2. 조직 옆에 있는 설정을 클릭합니다.

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. “코드 보안 및 분석”에서 “그룹 보안 업데이트” 오른쪽에 있는 모두 사용 또는 모두 사용 안 함을 클릭합니다.

  5. 선택적으로 조직의 새 리포지토리에 대해 그룹화된 Dependabot security updates을(를) 사용하도록 설정하려면 새 리포지토리에 대해 자동으로 사용을 선택합니다.

구성 파일을 사용하여 기본 동작 재정의

리포지토리에 dependabot.yml 파일을 추가하여 Dependabot security updates의 기본 동작을 재정의할 수 있습니다. dependabot.yml 파일을 사용하면 그룹화를 보다 세부적으로 제어하고 Dependabot security updates 설정의 기본 동작을 재정의할 수 있습니다.

applies-to: security-updates 키와 함께 groups 옵션을 사용하여 패키지 관리자별로 종속성 집합을 만들면 Dependabot이 단일 끌어오기 요청을 열어 여러 종속성을 동시에 업데이트할 수 있습니다. 패키지 이름(patternsexclude-patterns 키), 종속성 유형(dependency-type 키), SemVer(update-types 키)로 그룹을 정의할 수 있습니다.

Dependabot은(는) dependabot.yml 파일에 나타나는 순서대로 그룹을 만듭니다. 종속성 업데이트가 둘 이상의 그룹에 속할 수 있는 경우 일치하는 첫 번째 그룹에만 할당됩니다.

security 업데이트만 필요하고 version 업데이트를 제외하려는 경우 지정된 package-ecosystem에 대한 버전 업데이트를 방지하기 위해 open-pull-requests-limit0으로 설정할 수 있습니다.

보안 업데이트에 사용할 수 있는 구성 옵션에 대한 자세한 정보는 "dependentabot.yml 파일 구성 옵션"을(를) 참조하세요.

# Example configuration file that:
#  - Has a private registry
#  - Ignores lodash dependency
#  - Disables version-updates
#  - Defines a group by package name, for security updates for golang dependencies

version: 2
registries:
  example:
    type: npm-registry
    url: https://example.com
    token: ${{secrets.NPM_TOKEN}}
updates:
  - package-ecosystem: "npm"
    directory: "/src/npm-project"
    schedule:
      interval: "daily"
    # For Lodash, ignore all updates
    ignore:
      - dependency-name: "lodash"
    # Disable version updates for npm dependencies
    open-pull-requests-limit: 0
    registries:
      - example
  - package-ecosystem: "gomod"
    groups:
      golang:
        applies-to: security-updates
        patterns:
          - "golang.org*"

Note

Dependabot이 보안 업데이트에 이 구성을 사용하려면 directory가 매니페스트 파일의 경로여야 하며 target-branch를 지정해서는 안 됩니다.

추가 참고 자료