Skip to main content

Удаление доступа Dependabot к общедоступным реестрам

Примеры настройки Dependabot для доступа только к частным реестрам путем удаления вызовов общедоступных реестров.

Кто может использовать эту функцию?

People with write permissions to a repository can configure Dependabot for the repository.

Настройка Dependabot для доступа только к частным реестрам

Dependabot может получить доступ к общедоступным реестрам по умолчанию, и вы можете настроить Dependabot для доступа к частным реестрам. Дополнительные сведения о поддержке и настройке частного реестра см. в разделе "Настройка доступа к частным реестрам для Dependabot". Подробные сведения о доступных вариантах, а также рекомендации и советы по настройке частных реестров см. в разделе "Руководство по настройке частных реестров для Dependabot".

Чтобы обеспечить более широкий контроль над доступом Dependabotк частным реестрам и внутренним сетевым ресурсам, можно настроить Dependabot для запуска в GitHub Actions локально размещенных средств выполнения. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Сведения о зависимостях на GitHub Actions runners](/code-security/dependabot/working-with-dependabot/managing-dependabot-on-self-hosted-runners)".

Вы можете настроить Dependabot для доступа только_ к _частным реестрам, удалив вызовы к общедоступным реестрам. Это можно настроить только для экосистем, перечисленных в этой статье.

Средство увязки программ в пакеты

Чтобы настроить экосистему Bundler только для доступа к частным реестрам, можно задать replaces-base как true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Для экосистемы bundler также требуется, чтобы файл с URL-адресом Gemfile частного реестра был проверен в репозитории.

# Example Gemfile

 source "https://private_registry_url"

Docker

Чтобы настроить экосистему Docker только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Вариант 1

Определите конфигурацию частного dependabot.yml реестра в файле без replaces-base. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удалите replaces-base: true из файла конфигурации.

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 состоит имя пользователя и имя репозитория.

 FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04

Вариант 2

Задайте replaces-base значение true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml. Реестр, настроенный с replaces-base его помощью, можно использовать в качестве зеркального отображения или извлечения через кэш. Дополнительные сведения см . в разделе "Реестр" в качестве извлечения кэша в документации по Docker.

Gradle

Чтобы настроить экосистему Gradle только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Определите конфигурацию частного dependabot.yml реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удаление замены base: true из файла конфигурации.

Кроме того, необходимо также указать URL-адрес частного build.gradle реестра в repositories разделе файла.

# Example build.gradle file

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

Maven

Чтобы настроить экосистему Maven только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Вариант 1

Задайте replaces-base значение true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Вариант 2

Используйте только URL-адрес частного pom.xml реестра в файле.

<project>
...
 <repositories>
  <repository>
    <id>central</id>
    <name>your custom repo</name>
    <url>https://private_registry_url</url>
 </repository>
...
</project>

Узел

npm

Чтобы настроить экосистему npm только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Вариант 1

Определите конфигурацию частного dependabot.yml реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удалите replaces-base: true из файла конфигурации.

Экосистема npm также требует, чтобы файл с URL-адресом .npmrc частного реестра был проверен в репозитории.

 registry=https://private_registry_url

Вариант 2

Если в файле отсутствует глобальный .npmrc реестр, его можно задать replaces-base как true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Для зависимостей в области (@my-org/my-dep), Dependabot требует, чтобы частный реестр был определен в файле проекта .npmrc . Чтобы определить частные реестры для отдельных областей, используйте @myscope:registry=https://private_registry_url.

Yarn

Частные реестры Yarn Classic и Yarn Berry поддерживаются Dependabot, но Dependabot требует другой конфигурации для каждой экосистемы для доступа только к частным реестрам.

Yarn Classic

Чтобы настроить классическую экосистему Yarn только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Вариант 1

Определите конфигурацию частного dependabot.yml реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удаление replaces-base: true из файла конфигурации.

Чтобы частный реестр был указан в качестве источника зависимостей в файле проекта yarn.lock , запустите yarn install на компьютере с закрытым доступом к реестру. Yarn должен обновить resolved поле, чтобы включить URL-адрес частного реестра.

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 реестра в файле

  2. Добавьте реестр .yarnrc в файл в корневом каталоге проекта с реестром разделов. Кроме того, запустите yarn config set registry <private registry URL>.

    registry https://private_registry_url
    

Вариант 3

Если в файле отсутствует глобальный .yarnrc реестр, его можно задать replaces-base как true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Для зависимостей в области (@my-org/my-dep), Dependabot требует, чтобы частный реестр был определен в файле проекта .npmrc . Чтобы определить частные реестры для отдельных областей, используйте @myscope:registry=https://private_registry_url.

Yarn Berry

Чтобы настроить экосистему Yarn Berry только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Вариант 1

Определите конфигурацию частного dependabot.yml реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удаление replaces-base: true из файла конфигурации.

Чтобы частный реестр был указан в качестве источника зависимостей в файле проекта yarn.lock , запустите yarn install на компьютере с закрытым доступом к реестру. Yarn должен обновить resolved поле, чтобы включить URL-адрес частного реестра.

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 реестра в файле
  2. Добавьте реестр .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

Чтобы разрешить экосистеме Nuget доступ только к частным реестрам, можно настроить dependabot.yml файл. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Экосистема Nuget также требует nuget.config , чтобы файл был извлечен в репозиторий с тегом < clear /> в <packageSources> разделе или ключом nuget.org , как true в disabledPackageSources разделе nuget.config файла.

Это пример тега < 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.org в disabledPackageSources раздел раздела 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 для доступа как к частным , так и к общедоступным веб-каналам, просмотрите следующий пример, включающий настроенный public веб-канал вregistries:dependabot.yml

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-компиляция, Pipenv и Поэзия — это четыре диспетчера пакетов, которые в настоящее время поддерживает экосистема Python.

PIP

Чтобы настроить экосистему Pip только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Вариант 1

Определите конфигурацию частного dependabot.yml реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удаление replaces-base: true из файла конфигурации.

Добавьте URL-адрес [global] частного pip.conf реестра в раздел файла и проверьте файл в репозитории.

[global]
timeout = 60
index-url = https://private_registry_url

Вариант 2

Задайте replaces-base значение true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Pip-compile

Чтобы настроить экосистему Pip-компиляции только для доступа к частным реестрам, можно использовать эти методы конфигурации.

Вариант 1

Задайте replaces-base значение true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Вариант 2

Определите конфигурацию частного dependabot.yml реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удаление replaces-base: true из файла конфигурации.

Добавьте URL-адрес requirements.txt частного реестра в файл и проверьте файл в репозитории.

--index-url https://private_registry_url

Pipenv

Чтобы настроить Pipenv только для доступа к частным реестрам, удалите replaces-base из dependabot.yml файла. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Примечание. Удаление replaces-base: true из файла конфигурации.

Добавьте URL-адрес [[source]] частного Pipfile реестра в раздел файла и проверьте файл в репозитории.

[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"

Poetry

Чтобы настроить поэзию только для доступа к частным реестрам, задайте replaces-base значение true в dependabot.yml файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.

Добавьте URL-адрес [[tool.poetry.source]] частного pyproject.toml реестра в раздел файла и проверьте его в репозитории.

[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true