Skip to main content

Предоставление доступа к частным реестрам функций безопасности

Если ваша организация использует частные реестры, вы можете улучшить code scanning результаты анализа и поддерживать Dependabot больше зависимостей, настроив доступ к этим реестрам.

О важности предоставления доступа к частным реестрам

Когда код в репозитории содержит зависимости, хранящиеся в приватном реестре, некоторым функциям безопасности необходим доступ к реестру для эффективной работы. Без доступа ко всем зависимостям репозитория эффективность Code Quality (public preview), code scanning по умолчанию и Dependabot ограничена.

          Code scanning Доступ к частным реестрам по умолчанию

Если вы не определите доступ к частным реестрам, которые использует ваша организация, то code scanning будут собирать необходимые данные только из зависимостей, доступных в публичных реестрах. В большинстве случаев это достаточно для обнаружения большинства уязвимостей. Однако в некоторых случаях отсутствие доступа может привести к ложноотрицательным результатам. Другими словами, code scanning он не может обнаружить уязвимость в коде, потому что не обладает всей необходимой информацией для анализа кода. Например, некоторые пути потоков данных могут не быть обнаружены, потому что шаги определены в зависимостях, которые недоступны и code scanning не знают, как их интерпретировать.

Когда вы настраиваете доступ к частным реестрам, используемым в вашей организации, code scanning вы получаете доступ ко всей необходимой информации и гораздо реже упускаете уязвимость.

          Code scanning Настройка по умолчанию поддерживает следующие типы реестров:
LanguageТипы реестра
C#NuGet Feed
GoGOPROXY сервер, Git Source
JavaРепозиторий Maven

Совет

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

Определение доступа к реестру для code scanning настройки по умолчанию

Вам нужно быть владелец организации для настройки доступа к частным реестрам в пользовательском интерфейсе. Вы также можете использовать REST API с владельцем организации или {read,write}_org_private_registries разрешениями.

  1.        **На вкладке "Параметры" организации прокрутите вниз до раздела "Безопасность" и выберите **секреты** и переменные**.
    
  2. В развернутом списке секретов и переменных выберите частные реестры , чтобы отобразить страницу "Частные реестры".
  3. Выберите новый частный реестр , чтобы добавить сведения о доступе для частного реестра.
  4.        **Используйте поля URL-адреса** и **типа** для определения расположения и типа реестра:
    
    * URL-адрес — это расположение, в котором осуществляется доступ к частному реестру. Например, чтобы использовать GitHub Packages реестр для NuGet: https://nuget.pkg.github.com/ORGANIZATION/index.json, где ORGANIZATION — название вашей организации на GitHub. * Тип реестра.
  5.           **Выберите маркер** или имя пользователя и **пароль** в зависимости от метода проверки подлинности, а затем введите данные в соответствующие поля.
    

Некоторые типы токенов аутентификации, такие GitHubPersonal Access Tokenкак , привязаны к конкретной идентификации пользователя. Выберите опцию «Имя пользователя и пароль » и введите соответствующее имя пользователя как имя пользователя и токен как пароль.

  1. Определите, какие репозитории в организации могут получить доступ к частному реестру, используя следующие сведения: все, частные и внутренние или выбранные репозитории.
  2. Завершив определение частного реестра, нажмите кнопку "Добавить реестр ", чтобы сохранить сведения о реестре.

Совет

При добавлении частного реестра в организацию маркер или пароль хранится в виде зашифрованного секрета. После создания реестра маркер или пароль нельзя просмотреть еще раз.

Включение code scanning настройки по умолчанию для использования определения реестра

При включении code scanning настройки по умолчанию для репозитория или группы репозиториев, GitHub проверяется, имеют ли репозитории доступ к существующим частным реестрам. Если в репозитории доступны частные реестры, code scanning при анализе будут использоваться соответствующие определения.

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

Для языков, поддерживающих частные реестры пакетов, code scanning настройка по умолчанию будет создавать информацию о Страница состояния средства. Это показывает, какие конфигурации приватного реестра были доступны для анализа, но не показывает, удалось ли code scanning по умолчанию успешно скачать приватные зависимости из них. Дополнительные сведения см. в Страница состояния средстваразделе Use the tool status page for code scanning.

В качестве альтернативы можно проверить, успешно ли использовались частные реестры с code scanning помощью анализа, посмотрев в журнале действий (см. Логи сканирования кода).

          Code scanning Расширенный доступ к частным реестрам

          Code scanning Расширенная настройка использует любые приватные реестры, доступные для рабочего процесса, который запускает анализ с помощью `codeql-action`. У него нет доступа к частным реестрам уровня организации, используемым по умолчанию.

Для скомпилированных языков codeql-action необходимо наблюдать за сборкой кода. Можно изменить существующий рабочий процесс сборки, чтобы также запустить codeql-action или создать новый рабочий процесс, который создает рабочую версию кода, а также запускает его codeql-action.

Все частные реестры, используемые сборкой, также должны быть доступны рабочему процессу, который выполняется codeql-action. Дополнительные сведения о расширенной настройке см. в разделе Configuring advanced setup for code scanning.

          Dependabot Обновляет доступ к частным реестрам

          Dependabot может использовать любой из частных реестров на уровне организации, а также любые приватные реестры, `dependabot.yml` определённые в файле репозитории.

          Dependabot Нельзя проверить безопасность или обновления версии кода, хранящегося в частном реестре, если не может получить доступ к нему. Если вы не настроите доступ к приватному реестру, Dependabot то нельзя вызвать pull request-запросы на обновление зависимостей, хранящихся в реестре.

Когда вы настраиваете доступ к одному или нескольким частным реестрам, Dependabot можете предлагать pull requests для обновления уязвимой зависимости или сохранения зависимости, см. Настройка доступа к частным реестрам для Dependabot и Руководство по настройке частных реестров для Dependabot.

          Code Quality Доступ к частным реестрам

Примечание.

GitHub Code Quality в настоящее время находится в public preview и может быть изменен. Во время public preview, Code Quality не будут оплачиваться, хотя Code Quality сканирование займет GitHub Actions минут.

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

Если вы добавляете новые реестры в организацию, вам нужно отключить и повторно включить Code Quality их, чтобы анализ обнаружил и использовал новые реестры.

Сведения о настройке доступа к частному реестру для организации см. в статье Определение доступа к реестру для настройки code scanning по умолчанию.