Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Управление доступом к самостоятельно размещенным средствам выполнения с помощью групп

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

Сведения о маршрутизации заданий в средства выполнения в определенной группе см. в разделе Выбор средства выполнения тестов для задания.

Сведения о группах средств выполнения

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

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

При создании новых средств выполнения они автоматически назначаются группе по умолчанию. Средства выполнения не могут находиться одновременно в нескольких группах. Вы можете переместить средства выполнения из группы по умолчанию в другую группу. Дополнительные сведения см. в разделе Перемещение средства выполнения тестов размещения в группу.

Создание группы локальных средств выполнения для организации

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

Дополнительные сведения см. в разделе О самостоятельно размещенных средствах выполнения.

Все организации имеют единую группу средств выполнения по умолчанию. Организации в корпоративной учетной записи могут создавать дополнительные группы. Администраторы организации могут разрешать отдельным репозиториям доступ к группе средств выполнения. Сведения о создании группы средств выполнения с помощью REST API см. в разделе Действия.

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

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

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

     Кнопка "Параметры организации" 1. На левой боковой панели щелкните , а затем щелкните Группы средств выполнения**.

  2. В разделе "Группы средств выполнения" щелкните Создать группу средств выполнения.

  3. Введите имя для вашей группы средств выполнения.

  4. Назначьте политику для доступа к репозиторию.

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

  5. Назначьте политику доступа для рабочих процессов.

    Группу средств выполнения можно сделать доступной для определенного списка рабочих процессов или для всех рабочих процессов. Этот параметр нельзя переопределить, если вы настраиваете группу средств выполнения в организации, которая используется совместно в предприятии. Указывая, какой рабочий процесс может получить доступ к группе средств выполнения, необходимо использовать полный путь к рабочему процессу, включая имя и владельца репозитория, а также нужно прикрепить рабочий процесс к ветви, тегу или полному значению SHA. Например: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Доступ к этой группе средств выполнения будут иметь только задания, непосредственно определенные в выбранных рабочих процессах. Группы средств выполнения, принадлежащие организации, не могут получить доступ к рабочим процессам из другой организации на предприятии; Вместо этого необходимо создать группу средств выполнения тестов предприятия. 1. Щелкните Создать группу , чтобы создать группу и применить политику.

Создание группы локальных средств выполнения для предприятия

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

Дополнительные сведения см. в разделе О самостоятельно размещенных средствах выполнения.

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

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

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

  1. В правом верхнем углу GitHub.com щелкните фотографию профиля и выберите Ваши предприятия. Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в GitHub Enterprise Cloud

  2. В списке предприятий щелкните предприятие, которое требуется просмотреть.

  3. На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе «Политики » выберите Действия. 1. Перейдите на вкладку Группы средств выполнения тестов.

  4. Нажмите кнопку Создать группу средств выполнения тестов.

  5. В поле "Имя группы" введите имя группы средств выполнения тестов.

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

    Добавление параметров группы средств выполнения

  7. Назначьте политику доступа для рабочих процессов.

    Группу средств выполнения можно сделать доступной для определенного списка рабочих процессов или для всех рабочих процессов. Этот параметр нельзя переопределить, если вы настраиваете группу средств выполнения в организации, которая используется совместно в предприятии. Указывая, какой рабочий процесс может получить доступ к группе средств выполнения, необходимо использовать полный путь к рабочему процессу, включая имя и владельца репозитория, а также нужно прикрепить рабочий процесс к ветви, тегу или полному значению SHA. Например: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

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

  8. Нажмите Сохранить группу, чтобы создать группу и применить политику.

Изменение политики доступа группы локальных средств выполнения

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

Дополнительные сведения см. в разделе О самостоятельно размещенных средствах выполнения.

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

Изменение списка организаций или репозиториев, которые могут получить доступ к группе средств выполнения

  1. Перейдите к расположению групп средства выполнения.

    • В организации: перейдите на главную страницу и щелкните Параметры.

    • При использовании группы уровня предприятия:

      1. В правом верхнем углу GitHub.com щелкните фотографию профиля и выберите Ваши предприятия. Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в GitHub Enterprise Cloud

      2. В списке предприятий щелкните предприятие, которое требуется просмотреть.

  2. Перейдите к параметрам "Группы средств выполнения":

    • В организации:

      1. На левой боковой панели щелкните , а затем щелкните Группы средств выполнения**.
    • При использовании группы уровня предприятия:

      1. На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе «Политики » выберите Действия. 1. Перейдите на вкладку Группы средств выполнения тестов. 1. В списке групп щелкните группу средств выполнения, которую требуется настроить.
  3. Для корпоративных групп средств выполнения перейдите в раздел Доступ организаций и измените, какие организации могут получать доступ к группе средств выполнения. Для групп средств выполнения в организации перейдите в раздел Доступ репозиториев и измените, какие репозитории могут получать доступ к группе средств выполнения.

  4. В разделе средства выполнения страницы параметров щелкните рядом с группой средств выполнения, которую вы хотите настроить, а затем Изменить имя и доступ [организации|репозитория] . Управление разрешениями репозиториев

  5. Измените параметры политики.

    Предупреждение

    С частными репозиториями рекомендуется использовать только локальные средства выполнения. Это связано с тем, что создание запроса на вытягивание, который выполняет код в рабочем процессе, создает риск запуска опасного кода на компьютере локального средства выполнения из вилок вашего общедоступного репозитория.

    Дополнительные сведения см. в разделе О самостоятельно размещенных средствах выполнения.

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

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

  1. Перейдите к расположению групп средства выполнения.

    • В организации: перейдите на главную страницу и щелкните Параметры.

    • При использовании группы уровня предприятия:

      1. В правом верхнем углу GitHub.com щелкните фотографию профиля и выберите Ваши предприятия. Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в GitHub Enterprise Cloud

      2. В списке предприятий щелкните предприятие, которое требуется просмотреть.

  2. Перейдите к параметрам "Группы средств выполнения":

    • В организации:

      1. На левой боковой панели щелкните , а затем щелкните Группы средств выполнения**.
    • При использовании группы уровня предприятия:

      1. На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе «Политики » выберите Действия. 1. Перейдите на вкладку Группы средств выполнения тестов. 1. В списке групп щелкните группу средств выполнения, которую требуется настроить.
  3. В разделе Доступ к рабочему процессу щелкните раскрывающееся меню и нажмите пункт Выбранные рабочие процессы.

  4. Щелкните .

  5. Введите разделенный запятыми список рабочих процессов, которые могут получить доступ к группе средств выполнения. Используйте полный путь, включающий имя и владельца репозитория. Закрепите рабочий процесс в ветви, теге или полном SHA. Например: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

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

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

  6. Выберите команду Сохранить.

Изменение имени группы средств выполнения

  1. Перейдите к расположению групп средства выполнения.

    • В организации: перейдите на главную страницу и щелкните Параметры.

    • При использовании группы уровня предприятия:

      1. В правом верхнем углу GitHub.com щелкните фотографию профиля и выберите Ваши предприятия. Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в GitHub Enterprise Cloud

      2. В списке предприятий щелкните предприятие, которое требуется просмотреть.

  2. Перейдите к параметрам "Группы средств выполнения":

    • В организации:

      1. На левой боковой панели щелкните , а затем щелкните Группы средств выполнения**.
    • При использовании группы уровня предприятия:

      1. На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе «Политики » выберите Действия. 1. Перейдите на вкладку Группы средств выполнения тестов. 1. В списке групп щелкните группу средств выполнения, которую требуется настроить.
  3. Измените имя группы средств выполнения.

  4. В разделе средства выполнения страницы параметров щелкните рядом с группой средств выполнения, которую вы хотите настроить, а затем Изменить имя и доступ [организации|репозитория] . Управление разрешениями репозиториев

  5. Измените имя группы средств выполнения.

Автоматическое добавление локального средства выполнения в группу

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

./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup

Если такая группа средств выполнения не существует, команда завершится ошибкой:

Could not find any self-hosted runner group named "rg-runnergroup".

Перемещение локального средства выполнения в группу

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

  1. Перейдите к месту регистрации средства выполнения:

    • В организации: перейдите на главную страницу и щелкните Параметры.

    • При использовании средства запуска уровня предприятия:

      1. В правом верхнем углу GitHub.com щелкните фотографию профиля и выберите Ваши предприятия. Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в GitHub Enterprise Cloud

      2. В списке предприятий щелкните предприятие, которое требуется просмотреть.

  2. Перейдите к параметрам GitHub Actions:

    • В организации:

      1. На левой боковой панели щелкните Actions (Средства выполнения).
    • При использовании средства запуска уровня предприятия:

      1. На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе «Политики » выберите Действия. 1. Перейдите на вкладку Средства выполнения тестов.
  3. В списке "Средства выполнения" щелкните средство выполнения, которое вы хотите настроить.

  4. Выберите раскрывающийся список Группы средств выполнения.

  5. В разделе "Переместить средство выполнения в группу" выберите целевую группу для средства выполнения.

Удаление группы локальных средств выполнения

При удалении группы содержавшиеся в ней средства выполнения автоматически возвращаются в группу по умолчанию.

  1. Перейдите к расположению групп средства выполнения.

    • В организации: перейдите на главную страницу и щелкните Параметры.

    • При использовании группы уровня предприятия:

      1. В правом верхнем углу GitHub.com щелкните фотографию профиля и выберите Ваши предприятия. Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в GitHub Enterprise Cloud

      2. В списке предприятий щелкните предприятие, которое требуется просмотреть.

  2. Перейдите к параметрам "Группы средств выполнения":

    • В организации:

      1. На левой боковой панели щелкните , а затем щелкните Группы средств выполнения**.
    • При использовании группы уровня предприятия:

      1. На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе «Политики » выберите Действия. 1. Перейдите на вкладку Группы средств выполнения тестов.
  3. В списке групп справа от группы, которую хотите удалить, щелкните .

  4. Чтобы удалить эту группу, нажмите Удалить группу.

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

Использование уникальных имен для групп средств выполнения

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

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

  • org/ или organization/
  • ent/ или enterprise/

Пример. Использование префиксов для различения групп средств выполнения

Например, если у вас есть группа my-group средств выполнения тестов в организации и другая группа с именем my-group в организации, вы можете обновить файл рабочего процесса, чтобы использовать org/my-group или ent/my-group различать их.

Использование среды org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Использование среды ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]