Skip to main content

제한된 인터넷 액세스를 사용하도록 Dependabot 구성

GitHub Enterprise Server이(가) 인터넷 액세스가 제한되거나 없는 경우 프라이빗 레지스트리를 사용하여 버전 및 보안 업데이트에 대한 끌어오기 요청을 생성하도록 Dependabot을(를) 구성할 수 있습니다.

Dependabot 업데이트 정보

Dependabot updates을(를) 사용하여 취약성을 수정하고 종속성을 GitHub Enterprise Server의 최신 버전으로 업데이트할 수 있습니다. Dependabot updates을(를) 사용하려면 Dependabot에 대해 설정된 자체 호스팅 실행기와 함께 GitHub Actions이(가) 필요합니다. Dependabot 경고 및 보안 업데이트는 GitHub Connect을(를) 사용하여 액세스된 GitHub Advisory Database의 정보를 사용합니다. 자세한 내용은 엔터프라이즈에서 Dependabot 업데이트에 대한 자체 호스트된 실행기 관리엔터프라이즈에 Dependabot 사용을(를) 참조하세요.

Dependabot은(는) 기본적으로 퍼블릭 레지스트리에 액세스할 수 있으며, 프라이빗 레지스트리에 액세스하도록 Dependabot을(를) 구성할 수 있습니다. 또는 인스턴스에 인터넷 액세스가 제한되거나 없는 경우 보안 및 버전 업데이트의 원본으로 프라이빗 레지스트리만 사용하도록 Dependabot을(를) 구성할 수 있습니다. 프라이빗 레지스트리로 지원되는 에코시스템에 대한 자세한 내용은 Removing Dependabot access to public registries을(를) 참조하세요.

아래 지침에서는 다음과 같은 제한 사항으로 Dependabot 실행기를 설정해야 한다고 가정합니다.

  • 인터넷에 액세할 수 없음
  • Dependabot에 대한 프라이빗 레지스트리와 같은 제한된 내부 리소스에 대한 액세스.

Dependabot 실행기에서 인터넷 액세스 제한

Dependabot을(를) 구성하기 전에 자체 호스팅 실행기에서 Docker를 설치합니다. 자세한 내용은 엔터프라이즈에서 Dependabot 업데이트에 대한 자체 호스트된 실행기 관리을(를) 참조하세요.

  1. GitHub Enterprise Server에서 github/dependabot-action 리포지토리로 이동하고 containers.json 파일에서 dependabot-updaterdependabot-proxy 컨테이너 이미지에 대한 정보를 검색합니다.

    GitHub Enterprise Server의 각 릴리스에는 https://HOSTNAME/github/dependabot-action/blob/ghes-VERSION/docker/containers.json에서 업데이트 된 containers.json 파일이 포함됩니다. 파일의 GitHub.com 버전은 containers.json에서 확인할 수 있습니다.

  2. docker pull 명령을 사용하여 GitHub Container registry의 모든 컨테이너 이미지를 Dependabot 실행기로 미리 로드합니다. 또는 dependabot-proxy 이미지를 미리 로드한 다음, 필요한 에코시스템에 대한 컨테이너 이미지만 미리 로드합니다.

    예를 들어 npm 및 GitHub Actions을(를) 지원하려면 다음 명령을 사용하여 containers.json 파일에서 로드할 이미지의 세부 정보를 복사하여 각 이미지에 올바른 버전과 SHA가 있는지 확인할 수 있습니다.

    docker pull ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-github-actions:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-npm:VERSION@SHA
    

    Note

    새 부 버전의 GitHub Enterprise Server로 업그레이드하거나 GitHub.com에서 Dependabot 작업을 수동으로 업데이트하는 경우 이 단계를 반복해야 합니다. 자세한 내용은 GitHub.com에서 수동으로 작업 동기화을(를) 참조하세요.

  3. 실행기에서 이러한 이미지를 추가했으면 Dependabot 실행기로 인터넷 액세스를 제한하여 필요한 에코시스템 및 GitHub Enterprise Server에 대한 프라이빗 레지스트리에 계속 액세스할 수 있도록 할 준비가 되었습니다.

    Dependabot 작업이 실행을 시작할 때 Dependabot 실행기가 GitHub Container registry에서 dependabot-updaterdependabot-proxy를 끌어오기 때문에 먼저 이미지를 추가해야 합니다.

Dependabot 실행기의 구성 확인

  1. 테스트 리포지토리의 경우 Dependabot을(를) 구성하여 프라이빗 레지스트리에 액세스하고 공용 레지스트리에 대한 액세스를 제거합니다. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성Removing Dependabot access to public registries을(를) 참조하세요.
  2. 리포지토리에 대한 인사이트 탭에서 종속성 그래프를 클릭하여 종속성의 세부 정보를 표시합니다.
  3. Dependabot 을(를) 클릭하여 버전 업데이트에 대해 구성된 에코시스템을 표시합니다.
  4. 테스트하려는 에코시스템의 경우 마지막으로 검사 시간 전을 클릭하여 "로그 업데이트" 보기를 표시합니다.
  5. 해당 에코시스템에 대한 종속성에 대한 새 업데이트를 검사하려면 업데이트 검사를 클릭합니다.

업데이트에 대한 검사 완료되면 "업데이트 로그" 보기를 검사 Dependabot이(가) 인스턴스에서 구성된 프라이빗 레지스트리에 액세스하여 버전 업데이트를 검사했는지 확인해야 합니다.

구성이 올바른지 확인한 후에는 리포지토리 관리자에게 프라이빗 레지스트리만 사용하도록 Dependabot 구성을 업데이트하도록 요청합니다. 자세한 내용은 Removing Dependabot access to public registries을(를) 참조하세요.