Skip to main content

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

Можно настроить Dependabot для доступа к зависимостям, хранящимся в частных реестрах. Вы можете хранить такие сведения проверки подлинности, как пароли и маркеры доступа, как зашифрованные секреты, а затем ссылаться на них в файле конфигурации Dependabot. Вы также можете добавить Dependabot в список разрешенных IP-адресов реестров.

Сведения о частных реестрах

Dependabot version updates сохраняет актуальность зависимостей. Dependabot может получить доступ к общедоступным реестрам. Кроме того, можно предоставить Dependabot version updates доступ к реестрам частных пакетов и частным GitHub репозиториям, чтобы обеспечить актуальность зависимостей частного и внутреннего источника в соответствии с общедоступными зависимостями.

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

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

Настройка частных реестров

Вы настраиваете к частным реестрам в dependabot.yml файле. Ключ верхнего уровня registries является необязательным и указывает сведения о проверке подлинности. Вы можете разрешить использование всех определенных реестров, задав "*" для registries.

# Allow Dependabot to use all the defined registries

version: 2
registries: "*"

Кроме того, вы можете перечислить реестры, которые может использовать обновление. Для этого используйте имя реестра, как определено в разделе dependabot.yml верхнего уровня registries файла.

Для указания параметров доступа используются следующие параметры. Параметры реестра должны содержать type и url, а также, как правило, либо сочетание username и password, либо token.

Параметр                Описание
typeОпределяет тип реестра. Полный список типов см. ниже.
urlURL-адрес, используемый для доступа к зависимостям в этом реестре. Протокол указывать необязательно. Если этот параметр не задан, для него предполагается значение https://. Dependabot добавляет или пропускает конечные косые черты по мере необходимости.
usernameИмя пользователя, которое Dependabot использует для доступа к реестру.
username — это имя пользователя или адрес электронной почты для учетной записи.
passwordСсылка на секрет Dependabot, содержащий пароль для указанного пользователя. Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.
password — это пароль для учетной записи, указанной именем пользователя. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
keyСсылка на секрет Dependabot, содержащий ключ доступа для этого реестра. Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.
tokenСсылка на секрет Dependabot, содержащий маркер доступа для этого реестра. Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.
token используется для предоставления маркера доступа для внешней системы и не следует использовать для предоставления GitHub personal access token. Если вы хотите использовать GitHub personal access token, необходимо указать его в качестве пароля.
replaces-baseДля реестров, если логическое значение равно true, Dependabot будет разрешать зависимости с помощью указанного URL-адреса, а не базового URL-адреса этой конкретной экосистемы. Например, для реестров с type: python-index, если логическое значение равно true, pip разрешает зависимости с помощью указанного URL-адреса, а не базового URL-адреса индекса пакета Python (по умолчанию https://pypi.org/simple).

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

Хранение учетных данных для Dependabot для использования

Чтобы предоставить Dependabot доступ к частным реестрам, поддерживаемым GitHub, вы храните маркер доступа или секрет реестра в хранилище секретов для репозитория или организации.

Сведения о зашифрованных секретах для Dependabot

Секреты Dependabot — это зашифрованные учетные данные, создаваемые на уровне организации или репозитория. При добавлении секрета на уровне организации можно указать, какие репозитории могут получать к нему доступ. С помощью секретов можно разрешить Dependabot обновлять зависимости, расположенные в частных реестрах пакетов. При добавлении секрета он шифруется до достижения GitHub и остается зашифрованным, пока не будет использоваться Dependabot для доступа к частному реестру пакетов.

Секреты Dependabot также включают секреты, используемые рабочими процессами GitHub Actions, активируются запросами на вытягивание Dependabot. Dependabot может не использовать эти секреты, но рабочие процессы требуют их. Дополнительные сведения см. в разделе Автоматизация Dependabot с помощью GitHub Actions.

После добавления секрета Dependabot его можно ссылаться в dependabot.yml файле конфигурации следующим образом: ${{secrets.NAME}}, где "NAME" — это имя, выбранное для секрета. Например:

password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}

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

Присвоение имен секретам

Имя секрета Dependabot:

  • может содержать только буквы и цифры ([A-Z], [0-9]) или символы подчеркивания (_); Пробелы недопустимы. Если ввести строчные буквы, они будут изменены на прописные.
  • не должно начинаться с префикса GITHUB_;
  • не должно начинаться с цифры.

Добавление секрета репозитория для Dependabot

  1. На GitHub.comперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и щелкните Параметры.

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Безопасность" боковой панели выберите ** Секреты и переменные, , а затем щелкните Dependabot.

  4. Выберите Новый секрет репозитория.

  5. Введите имя для секрета в поле ввода Имя.

  6. Введите значение для секрета.

  7. Щелкните Добавить секрет.

    Имя секрета отображается на странице секретов Dependabot. Можно нажать кнопку Обновить, чтобы изменить значение секрета. Можно нажать кнопку Удалить, чтобы удалить секрет.

Добавление секрета организации для Dependabot

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

  1. На GitHub.comперейдите на главную страницу организации.

  2. Под именем организации щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и щелкните Параметры.

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  3. В разделе "Безопасность" боковой панели выберите ** Секреты и переменные, , а затем щелкните Dependabot.

  4. Щелкните Создать секрет организации.

  5. Введите имя для секрета в поле ввода Имя.

  6. Введите значение для секрета.

  7. В раскрывающемся списке Доступ к репозиторию выберите политику доступа.

  8. Если вы выбрали вариант Выбранные репозитории:

    • Щелкните .
    • В диалоговом окне выберите репозитории, которые могут получить доступ к этому секрету.
    • Нажмите Обновить выбор.
  9. Щелкните Добавить секрет.

    Имя секрета отображается на странице секретов Dependabot секретов. Можно нажать кнопку Обновить, чтобы изменить значение секрета или политику доступа. Можно нажать кнопку Удалить, чтобы удалить секрет.

Настройка правил IP-адресов брандмауэра

Вы можете добавить Dependabot в список разрешенных IP-адресов реестров.

Если для частного реестра настроен список разрешенных IP-адресов, вы можете найти IP-адреса, используемые Dependabot для доступа к реестру в конечной точке API Meta, в разделе dependabot. Дополнительные сведения см. в разделе Конечные точки REST API для метаданных.