Skip to main content

Работа с защитой push-уведомлений в пользовательском интерфейсе GitHub

Узнайте, как разблокировать фиксацию, если secret scanning обнаруживает секрет в изменениях.

Кто может использовать эту функцию?

Пользователи с доступом на запись

Сведения о принудительной защите в пользовательском интерфейсе GitHub

Если create или изменить файлы из пользовательского интерфейса GitHub, push-защита не позволяет случайно зафиксировать секреты в репозитории, блокируя фиксации, содержащие поддерживаемые секреты.

GitHub также блокирует фиксацию при попытке отправить файлы, содержащие поддерживаемые секреты.

Note

Защита от отправки файлов в веб-интерфейсе в настоящее время находится в public preview и подлежит изменению.

Необходимо выполнить следующие действия:

GitHub будет отображать только один обнаруженный секрет в веб-интерфейсе. Если определенный секрет уже обнаружен в репозитории и оповещение уже существует, GitHub не заблокирует этот секрет.

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

Разрешение заблокированной фиксации

При использовании веб-интерфейса для фиксации поддерживаемого секрета в репозитории, защищенном защитой push-уведомлений, GitHub блокирует фиксацию.

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

Чтобы устранить заблокированную фиксацию в веб-интерфейсе, необходимо удалить секрет из файла. После удаления секрета вы сможете зафиксировать изменения.

Note

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

Обход защиты от принудительной отправки

Если GitHub блокирует секрет, который вы считаете безопасным для фиксации, то может обойти блок, указав причину для разрешения секрета.

При отправке секрета на вкладке "Безопасность **" создается **оповещение. GitHub закрывает оповещение и не отправляет уведомление, если указать, что секрет является ложным срабатыванием или используется только в тестах. Если указать, что секрет является реальным и что вы исправите это позже, GitHub оставит оповещение системы безопасности открытым и отправит уведомления автору фиксации, а также администраторам репозитория. Дополнительные сведения см. в разделе Управление оповещениями о проверке секретов.

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

  1. В диалоговом окне, которое появилось, когда GitHub заблокировало фиксацию, просмотрите имя и расположение секрета.

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

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

    • Если обнаруженная строка не является секретом, нажмите Ложноположительный результат.

    • Если секрет реальный, но вы планируете исправить его позднее, нажмите Исправлю позже.

    Note

    Необходимо указать причину обхода принудительной защиты, если в репозитории включена проверка секретов.

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

    При защите от push-уведомлений для пользователей GitHub автоматически блокирует отправки в общедоступные репозитории, если эти push-уведомления содержат поддерживаемые секреты, но вам не нужно указать причину разрешения секрета, и GitHub не создаст оповещение. Дополнительные сведения см. в разделе «Защита от push-уведомлений для пользователей».

  3. Щелкните Разрешить секрет.

Если вы не видите возможность обойти блок, администратор репозитория или владелец организации настроил более жесткие элементы управления вокруг защиты push-уведомлений. Вместо этого необходимо удалить секрет из фиксации или отправить запрос на "обход привилегий" для отправки заблокированного секрета. Дополнительные сведения см. в разделе "Запрос обхода привилегий".

Запрос привилегий обхода

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

Срок действия запросов истекает через 7 дней.

  1. В диалоговом окне, которое появилось, когда GitHub заблокировало фиксацию, просмотрите имя и расположение секрета.
  2. Нажмите кнопку Отправить запрос. Запрос откроется на новой вкладке. 1. В разделе "Или обход привилегий обхода запросов" добавьте комментарий. Например, можно объяснить, почему вы считаете, что секрет безопасн для отправки, или укажите контекст о запросе для обхода блока.
  3. Нажмите кнопку "Отправить запрос".
  4. Проверьте Уведомления по электронной почте ответа на запрос.

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

Если запрос утвержден, можно зафиксировать изменения, содержащие секрет файла. Вы также можете зафиксировать любые будущие изменения, содержащие тот же секрет.

Если ваш запрос отклонен, необходимо удалить секрет из файла, прежде чем зафиксировать изменения.

Дополнительные материалы