Skip to main content

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

Узнай варианты разблокировки коммита, когда secret scanning обнаружит секрет в изменениях.

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

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

О защите от пуша в GitHub интерфейсе

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

          GitHub Также заблокирует коммит, если вы попытаетесь загрузить файлы с поддерживаемыми секретами.

Примечание.

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

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

  • Удалите секрет из фиксации. Дополнительные сведения см. в разделе "Разрешение заблокированной фиксации".

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

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

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

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

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

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

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

Примечание.

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

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

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

Когда вы разрешаете разблокировать секрет, в Security and quality вкладке создаётся оповещение. GitHub Оповещение закрывается и не отправляет уведомление, если вы указали, что секрет — ложноположительный результат или используется только в тестах. Если вы указываете, что секрет настоящий и что вы его исправите позже, GitHub оповещение безопасности сохраняет открытым и отправляет уведомления автору коммита, а также администраторам репозитория. Дополнительные сведения см. в разделе Управление оповещениями проверки секретов.

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

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

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

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

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

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

    Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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