Сведения о частных реестрах
Dependabot version updates сохраняет актуальность зависимостей. Dependabot может получить доступ к общедоступным реестрам. Кроме того, можно предоставить Dependabot version updates доступ к реестрам частных пакетов и частным GitHub репозиториям, чтобы обеспечить актуальность зависимостей частного и внутреннего источника в соответствии с общедоступными зависимостями.
В большинстве экосистем частные зависимости обычно публикуются в частных реестрах пакетов. Эти частные реестры похожи на их общедоступные эквиваленты, но они требуют проверки подлинности.
Для определенных экосистем можно настроить Dependabot для доступа только_ к _частным реестрам, удалив вызовы к общедоступным реестрам. Дополнительные сведения см. в разделе «Удаление доступа Dependabot к общедоступным реестрам».
Чтобы разрешить Dependabot доступ к реестрам, размещенным в частном или ограниченном для внутренних сетей, настройте Dependabot для запуска на GitHub Actions для локального запуска. Дополнительные сведения см. в разделе "Управление зависимостями на локальных запусках".
Настройка частных реестров
Вы настраиваете к частным реестрам в dependabot.yml
файле.
Ключ верхнего уровня registries
является необязательным и указывает сведения о проверке подлинности.
В файле есть 2 расположения dependabot.yml
, в которых можно использовать registries
ключ:
- На верхнем уровне, где вы определяете реестры и сведения о доступе при необходимости.
updates
В блоках, где можно указать Dependabot использоватьregistries: "*"
любой или все реестры, определенные на верхнем уровне.
# registries: gradle-artifactory - provides access details for the gradle-artifactory registry
# registries: "*" - allows Dependabot to use all the defined registries specified at the top level
version: 2
registries:
gradle-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-gradle-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
updates:
- package-ecosystem: "gradle"
directory: "/"
registries: "*"
schedule:
interval: "monthly"
Для указания параметров доступа используются следующие параметры. Параметры реестра должны содержать type
и url
, а также, как правило, либо сочетание username
и password
, либо token
.
Параметр | Описание |
---|---|
type | Определяет тип реестра. Дополнительные сведения о доступных типах реестра см. в разделе "registries ". Дополнительные сведения о конфигурации частных реестров см. в разделе "Параметры конфигурации для частных реестров". |
url | URL-адрес, используемый для доступа к зависимостям в этом реестре. Протокол указывать необязательно. Если этот параметр не задан, для него предполагается значение 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
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".
-
В разделе "Безопасность" боковой панели выберите Секреты и переменные, а затем щелкните Dependabot.
-
Выберите Новый секрет репозитория.
-
Введите имя для секрета в поле ввода Имя.
-
Введите значение для секрета.
-
Щелкните Добавить секрет.
Имя секрета отображается на странице секретов Dependabot. Можно нажать кнопку Обновить, чтобы изменить значение секрета. Можно нажать кнопку Удалить, чтобы удалить секрет.
Добавление секрета организации для Dependabot
При создании секрета в организации можно использовать политику, чтобы ограничить для репозиториев доступ к секрету. Например, можно предоставить доступ ко всем репозиториям либо ограничить доступ только частными репозиториями или указанным списком репозиториев.
-
На GitHubперейдите на главную страницу организации.
-
Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".
-
В разделе "Безопасность" боковой панели выберите Секреты и переменные, а затем щелкните Dependabot.
-
Щелкните Создать секрет организации.
-
Введите имя для секрета в поле ввода Имя.
-
Введите значение для секрета.
-
В раскрывающемся списке Доступ к репозиторию выберите политику доступа.
-
Если вы выбрали вариант Выбранные репозитории:
- Щелкните .
- В диалоговом окне выберите репозитории, которые могут получить доступ к этому секрету.
- Нажмите Обновить выбор.
-
Щелкните Добавить секрет.
Имя секрета отображается на странице секретов Dependabot секретов. Можно нажать кнопку Обновить, чтобы изменить значение секрета или политику доступа. Можно нажать кнопку Удалить, чтобы удалить секрет.
Настройка правил IP-адресов брандмауэра
Вы можете добавить Dependabotсвязанные с ним IP-адреса в список разрешенных IP-адресов реестров.
Если для частного реестра настроен список разрешенных IP-адресов, вы можете найти IP-адреса, используемые Dependabot для доступа к реестру в конечной точке API Meta, в разделе dependabot
. Если вы запускаете Dependabot на GitHub Actions для локального запуска, вместо этого следует использовать IP-адреса под ключом actions
. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Конечные точки REST API для метаданных](/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners)".