Skip to main content

공용 레지스트리에 대한 Dependabot 액세스 제거

다음은 공용 레지스트리에 대한 호출을 제거하고 개인 레지스트리만 액세스하도록 Dependabot을 구성하는 방법의 예시입니다.

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

쓰기 권한이 있는 사용자

개인 레지스트리에만 액세스하도록 Dependabot 구성에 대해

Dependabot은(는) 기본적으로 퍼블릭 레지스트리에 액세스할 수 있으며, 프라이빗 레지스트리에 액세스하도록 Dependabot을(를) 구성할 수 있습니다. 개인 레지스트리 지원 및 구성에 대한 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요. 비공개 레지스트리를 구성할 때 참고할 권장 사항과 조언, 사용 가능한 옵션에 대한 심층적인 내용은 Dependabot의 개인 레지스트리 구성에 대한 지침을(를) 참조하세요.

공용 레지스트리에 대한 호출을 제거하여 개인 레지스트리_에만_ 액세스하도록 Dependabot을(를) 구성할 수 있습니다. 이 문서에 나열된 에코시스템에 대해서만 구성이 가능합니다.

참고

Dependabot updates 구성에서 퍼블릭 레지스트리 액세스를 제거하기 전에 사이트 관리자는 필요한 프라이빗 레지스트리에 액세스할 수 있도록 Dependabot 실행기를 설정했는지 확인해야 합니다. 자세한 내용은 Dependabot를 제한된 인터넷 액세스를 사용하도록 구성을(를) 참조하세요.

번들러

Bundler 에코시스템이 프라이빗 레지스트리만 액세스하도록 구성하려면 replaces-base: true 파일에 dependabot.yml 을 설정하면 됩니다. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.

Bundler 환경에서는 프라이빗 레지스트리 URL이 포함된 Gemfile 파일을 리포지토리에 추가로 체크인해야 합니다.

YAML
# Example Gemfile

 source "https://private_registry_url"

도커

다음 구성 방법을 사용하면 도커가 프라이빗 레지스트리에만 액세스하도록 설정할 수 있습니다.

          **옵션 1**

          `dependabot.yml`가 없는 `replaces-base` 파일에서 프라이빗 레지스트리 구성을 정의하세요. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#docker-registry)을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true을 제거합니다.

YAML
version: 2
registries:
  azuretestregistry: # Define access for a private registry
    type: docker-registry
    url: firewallregistrydep.azurecr.io
    username: firewallregistrydep
    password: ${{ secrets.AZUREHUB_PASSWORD }}
          `Dockerfile` 파일에서 이미지 이름을 `IMAGE[:TAG]` 형식으로 추가합니다. 여기서 `IMAGE`은 사용자 이름과 저장소 이름으로 구성됩니다.
YAML
 FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
          **옵션 2**

          `replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#docker-registry)을(를) 참조하세요. 
          `replaces-base`로 구성된 레지스트리는 미러나 풀스루 캐시로 활용할 수 있습니다. 자세한 내용은 Docker 설명서에서 [레지스트리를 풀스루 캐시로 설정하는 방법](https://docs.docker.com/registry/recipes/mirror/)을 참조하세요.

Gradle

다음 구성 방법을 통해 Gradle이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.

          `dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#maven-repository)을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true을 제거합니다.

또한 repositories 파일 build.gradle 섹션에서 개인 레지스트리 URL을 지정해야 합니다.

# Example build.gradle file

repositories {
    maven {
        url "https://private_registry_url"
    }
}

메이븐

다음 구성 방법을 통해 Maven이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.

          **옵션 1**

          `replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#maven-repository)을(를) 참조하세요.

          **옵션 2**

          `pom.xml` 파일에는 프라이빗 레지스트리 URL만 사용해야 합니다.
<project>
...
 <repositories>
  <repository>
    <id>central</id>
    <name>your custom repo</name>
    <url>https://private_registry_url</url>
 </repository>
...
</project>

노드

npm

다음 구성 방법을 통해 npm이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.

          **옵션 1**

          `dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true을 제거합니다.

npm 환경에서 프라이빗 레지스트리 URL이 담긴 .npmrc 파일을 리포지토리에 추가로 체크인해야 합니다.

YAML
 registry=https://private_registry_url
          **옵션 2**

          `.npmrc` 파일에 정의된 글로벌 레지스트리가 없는 경우 `replaces-base: true` 파일에서 `dependabot.yml` 를 설정할 수 있습니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.

참고

범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot이 프로젝트의 .npmrc 파일에 대해 정의된 개인 레지스트리를 포함해야 합니다. 개별 범위에 맞는 개인 레지스트리를 정의하려면 @myscope:registry=https://private_registry_url을 사용하세요.

Yarn

Yarn Classic 및 Yarn Berry 프라이빗 레지스트리는 Dependabot에서 모두 지원하지만, Dependabot이 프라이빗 레지스트리에 액세스하기 위해서는 각 에코시스템에 따라 구성이 달라야 합니다.

Yarn 클래식

Yarn Classic이 프라이빗 레지스트리만 액세스하도록 설정하려면 다음 구성 방법을 따르세요.

          **옵션 1**

          `dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true 을 삭제하세요.

프로젝트 yarn.lock 파일의 종속성 소스로 프라이빗 레지스트리가 나열되도록 하려면 프라이빗 레지스트리에 액세스할 수 있는 시스템에서 yarn install 를 실행해야 합니다. Yarn에서 프라이빗 레지스트리 URL을 포함하도록 resolved 필드 설정을 업데이트해야 합니다.

YAML
encoding@^0.1.11:
  version "0.1.13"
  resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
  integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
  dependencies:
    iconv-lite "^0.6.2"
          **옵션 2**

          `yarn.lock` 파일에 프라이빗 레지스트리가 종속성 소스로 나열되지 않은 경우, 일반 패키지 관리자 지침에 따라 Yarn Classic을 설정할 수 있습니다.

1. dependabot.yml 파일에서 프라이빗 레지스트리 설정을 정의합니다.

  1. 프로젝트 루트의 .yarnrc 파일에 키 레지스트리를 사용하여 레지스트리 항목을 추가합니다. 다른 방법으로 yarn config set registry <private registry URL> 을 실행합니다.

    YAML
    registry https://private_registry_url
    
        **옵션 3**
    
        `.yarnrc` 글로벌 레지스트리가 파일에 정의되어 있지 않으면 `replaces-base: true` 파일에서 `dependabot.yml` 설정을 할 수 있습니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.
    

참고

범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot이 프로젝트의 .npmrc 파일에 대해 정의된 개인 레지스트리를 포함해야 합니다. 개별 범위에 맞는 개인 레지스트리를 정의하려면 @myscope:registry=https://private_registry_url을 사용하세요.

Yarn Berry (원사 베리)

Yarn Berry가 프라이빗 레지스트리만 액세스하도록 설정하려면 다음 구성 방법을 따르세요.

          **옵션 1**

          `dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true 을 삭제하세요.

프로젝트 yarn.lock 파일의 종속성 소스로 프라이빗 레지스트리가 나열되도록 하려면 프라이빗 레지스트리에 액세스할 수 있는 시스템에서 yarn install 를 실행해야 합니다. Yarn에서 프라이빗 레지스트리 URL을 포함하도록 resolved 필드 설정을 업데이트해야 합니다.

{ 원시 %}%

YAML
encoding@^0.1.11:
  version "0.1.13"
  resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
  integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
  dependencies:
    iconv-lite "^0.6.2"
          **옵션 2**

          `yarn.lock` 파일에 프라이빗 레지스트리가 종속성 소스로 등록되지 않았다면, 일반적인 패키지 관리자 안내에 따라 Yarn Berry를 설정할 수 있습니다.

1. dependabot.yml 파일에서 프라이빗 레지스트리 설정을 정의합니다.

  1. 프로젝트 루트의 .yarnrc.yml 파일에서 npmRegistryServer 키를 사용하여 레지스트리 항목을 추가합니다. 다른 방법으로 yarn config set npmRegistryServer <private registry URL> 을 실행합니다. npmRegistryServer: "https://private_registry_url"

참고

범위가 지정된 종속성(@my-org/my-dep)의 경우 Dependabot이 프로젝트의 .yarnrc 파일에 대해 정의된 개인 레지스트리를 포함해야 합니다. 개별 범위에 맞는 개인 레지스트리를 정의하려면 "@myscope:registry" "https://private_registry_url"을 사용하세요.

누겟

NuGet 에코시스템에서 개인 레지스트리에만 액세스 가능하도록 dependabot.yml 파일을 구성할 수 있습니다. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.

NuGet 에코시스템에서는 nuget.config 파일을 저장소로 체크인해야 하며, < clear /> 섹션에 <packageSources> 태그가 있거나 nuget.org 파일의 disabledPackageSources 섹션에 있는 key nuget.config가 true여야 합니다.

해당 예시는 < clear />packageSources 섹션에 있는 nuget.config 태그의 예입니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <packageSources>
   < clear />
   <add key="example-nuget" value="https://private_registry_url/nuget/example-nuget/index.json" />
 </packageSources>
</configuration>

해당 예시는 nuget.orgdisabledPackageSources 섹션에 true로 nuget.config 키를 추가하는 방법입니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="example-nuget" value="https://private_registry_url/nuget/example-nuget/index.json" />
  </packageSources>
  <disabledPackageSources>
    <add key="nuget.org" value="true" />
  </disabledPackageSources>
</configuration>

Dependabot이(가) 개인 피드와 공용 피드에 모두 액세스하도록 구성하려면 dependabot.yml 아래에 구성된 public 피드가 포함된 다음 registries 예제를 확인하세요.

YAML
version: 2
registries:
  nuget-example:
    type: nuget-feed
    url: https://nuget.example.com/v3/index.json
    username: $
    password: $
  public:
    type: nuget-feed
    url: https://api.nuget.org/v3/index.json
updates:
  - package-ecosystem: nuget
    directory: "/"
    registries: "*"
    schedule:
      interval: daily

파이썬

현재 Python 에코시스템에서는 Pip, Pip-compile, Pipenv, Poetry를 패키지 관리자로 지원합니다.

다음 구성 방법을 사용하면 Pip 에코시스템에서 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.

          **옵션 1**

          `dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true 을 삭제하세요.

          `[global]` 파일의 `pip.conf` 섹션에 프라이빗 레지스트리 URL을 추가한 다음, 리포지토리에 파일을 체크인하세요.
YAML
[global]
timeout = 60
index-url = https://private_registry_url
          **옵션 2**

          `replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#python-index)을(를) 참조하세요.

Pip-compile

다음과 같이 구성하면 Pip-compile 에코시스템이 프라이빗 레지스트리만 사용하도록 설정할 수 있습니다.

          **옵션 1**

          `replaces-base: true` 파일에 `dependabot.yml`를 설정합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#python-index)을(를) 참조하세요.

          **옵션 2**

          `dependabot.yml` 파일에서 프라이빗 레지스트리 설정을 정의합니다. 자세한 내용은 [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#npm-registry)을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true 을 삭제하세요.

          `requirements.txt` 파일에 프라이빗 레지스트리 URL을 추가한 후, 리포지토리에 파일을 체크인하세요.
YAML
--index-url https://private_registry_url

Pipenv

Pipenv가 개인 레지스트리에만 접근하도록 설정하려면, replaces-base 파일에서 dependabot.yml 을 삭제하세요. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.

참고

구성 파일에서 replaces-base: true 을 삭제하세요.

          `[[source]]` 파일의 `Pipfile` 섹션에 프라이빗 레지스트리 URL을 추가한 다음, 리포지토리에 파일을 체크인하세요.
YAML
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"

Poetry가 프라이빗 레지스트리에만 접근하도록 구성하려면 replaces-base: truedependabot.yml 파일에 설정하세요. 자세한 내용은 Dependabot에 대한 개인 레지스트리 액세스 구성을(를) 참조하세요.

          `[[tool.poetry.source]]` 파일의 `pyproject.toml` 섹션에 프라이빗 레지스트리 URL을 추가한 다음, 해당 파일을 리포지토리에 체크인하세요.
YAML
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true