Skip to main content

Защита при выполнении рабочих процессов

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

Примечание.

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

О защите выполнения рабочих процессов

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

Защита выполнения рабочих процессов доступна на уровне предприятия, организации и репозиториев.

Поддерживается наборами правил

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

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

Доступные правила

События и актёр — первые два правила, и GitHub планируется добавить новые правила со временем.

  • Актёрские правила контролю, которые могут запускать рабочие процессы, включая отдельных пользователей, роли репозиториев, такие как Чтение, Поддержание и Администрирование, GitHub Apps, Copilot, и Dependabot.
  • Правила события определяют, какие события разрешены, такие как push, pull_request, pull_request_target, и workflow_dispatch.

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

Остановить распространённые атакующие техники

Защита при выполнении рабочих процессов нарушает несколько реальных шаблонов атак:

  • Отравленное выполнение конвейера из-за pull requests. Ограничить pull_request_targetили запретить, включая публичные хранилища, где он чаще всего эксплуатируется.
  • Ручное использование триггера. Ограничите workflow_dispatch только сопровождающих, чтобы ненадёжные личности не могли запускать рабочие процессы.
  • Казнь недоверенного актёра. Полностью заблокируйте идентичности с низким доверием от запуска рабочих процессов.
  • Эксплуатация неправильной конфигурации. Примените центральную политику, которая переопределяет любой один неправильно настроенный файл рабочего процесса.

Настройка защиты выполнения рабочих процессов

Вы настраиваете защиту от выполнения рабочих процессов в разделе новых политик ваших GitHub Actions настроек. Этот раздел «Политики » отделен от ваших существующих общих настроек.

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

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

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

  4. В левой боковой панели, в разделе «Действия», нажмите «Политики».

  5. Создайте набор правил, затем добавьте правила событий и актёров.

  6. Выберите активный набор правил или в режиме оценки, затем сохраняйте изменения.