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

Определение пользовательских шаблонов для проверки секретов

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

Secret scanning доступно для принадлежащих организации репозиториев в GitHub AE. Это функция входит в состав GitHub Advanced Security (на этапе бета-версии предоставляется бесплатно).

Описание пользовательских шаблонов для secret scanning

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

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

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

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

  • Формат секрета: выражение, описывающее формат самого секрета.
  • Перед секретом: выражение, описывающее символы перед секретом. По умолчанию задано значение \A|[^0-9A-Za-z], которое означает, что секрет должен находиться в начале строки или перед ним должна быть буква или цифра.
  • После секрета: выражение, описывающее символы после секрета. По умолчанию задано значение \z|[^0-9A-Za-z], которое означает, что за секретом должна следовать новая строка или символ, не являющийся буквой или цифрой.
  • Дополнительные требования соответствия: одно или несколько необязательных выражений, которым должен или не должен соответствовать сам секрет.

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

Secret scanning использует библиотеку Hyperscan и поддерживает только конструкции регулярных выражений Hyperscan, которые являются подмножеством синтаксиса PCRE. Модификаторы параметров Hyperscan не поддерживаются. Дополнительные сведения о конструкциях шаблонов Hyperscan см. в разделе Поддержка шаблонов документации Hyperscan.

Определение пользовательского шаблона для репозитория

Перед определением настраиваемого шаблона необходимо убедиться, что в вашем репозитории включено secret scanning. Дополнительные сведения см. в разделе Настройка проверки секретов в ваших репозиториях.

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

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

  2. В разделе "Безопасность" боковой панели щелкните Безопасность и анализ кода. 1. В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security. 1. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон. 1. Введите сведения о новом пользовательском шаблоне. Необходимо по крайней мере указать имя шаблона и регулярное выражение для формата шаблона секрета.

    1. В поле "Имя шаблона" введите имя шаблона.

    2. В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.

    3. Можно щелкнуть Дополнительные параметры , чтобы предоставить другое дополнительное содержимое или требований соответствия для формата секрета.

    4. Предоставьте пример тестовой строки для проверки соответствия конфигурации ожидаемым шаблонам.

       Снимок экрана: заполненная настраиваемая форма шаблона secret scanning.

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

  4. По завершении пробного запуска вы увидите выборку результатов (до 1000). Проверьте результаты и определите ложноположительные. Снимок экрана: результаты из пробного запуска

  5. Измените новый пользовательский шаблон, чтобы устранить все проблемы с результатами, а затем, чтобы протестировать изменения, щелкните Сохранить и выполнить пробный запуск.

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

    1. Если вы удовлетворены новым пользовательским шаблоном, щелкните **Опубликовать шаблон**.

После создания шаблона secret scanning сканирует все секреты во всем журнале Git во всех ветвях, имеющихся в репозитории GitHub. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями о проверке секретов.

Пример настраиваемого шаблона, заданного с использованием дополнительных требований

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

ХарактеристикаПоле и регулярное выражение
Длина от 5 до 10 символовФормат секрета: [$#%@AA-Za-z0-9]{5,10}
Не заканчивается на .После секрета: [^\.]
Содержит цифры и прописные буквыДополнительные требования: секрет должен соответствовать [A-Z] и [0-9]
Не содержит более одной строчной буквы в строкеДополнительные требования: секрет должен не соответствовать [a-z]{2,}
Содержит один из символов $%@!Дополнительные требования: секрет должен соответствовать [$%@!]

Эти маркеры безопасности соответствуют пользовательскому шаблону, описанному выше:

a9@AAfT!         # Secret string match: a9@AAfT
ee95GG@ZA942@aa  # Secret string match: @ZA942@a
a9@AA!ee9        # Secret string match: a9@AA

Эти строки не соответствуют пользовательскому шаблону, описанному выше:

a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9

Определение пользовательского шаблона для организации

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

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

  1. В правом верхнем углу GitHub AE щелкните фотографию профиля, а затем щелкните Ваши организации.

    Снимок экрана: раскрывающееся меню под @octocatизображением профиля. "Ваши организации" выделены темно-оранжевым цветом. 2. Рядом с организацией щелкните Параметры.

  2. В разделе "Безопасность" боковой панели щелкните Безопасность и анализ кода.

  3. В разделе "Безопасность и анализ кода" найдите GitHub Advanced Security. 1. В разделе "Secret scanning" в разделе "Пользовательские шаблоны" щелкните Создать шаблон. 1. Введите сведения о новом пользовательском шаблоне. Необходимо по крайней мере указать имя шаблона и регулярное выражение для формата шаблона секрета.

  4. В поле "Имя шаблона" введите имя шаблона.

  5. В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.

  6. Можно щелкнуть Дополнительные параметры , чтобы предоставить другое дополнительное содержимое или требований соответствия для формата секрета.

  7. Предоставьте пример тестовой строки для проверки соответствия конфигурации ожидаемым шаблонам.

     Снимок экрана: заполненная настраиваемая форма шаблона secret scanning.

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

  9. Найдите и выберите до 10 репозиториев, в которых требуется выполнить пробный запуск.

  10. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните Пробный запуск. 1. По завершении пробного запуска вы увидите выборку результатов (до 1000). Проверьте результаты и определите ложноположительные. Снимок экрана: результаты из пробного запуска

  11. Измените новый пользовательский шаблон, чтобы устранить все проблемы с результатами, а затем, чтобы протестировать изменения, щелкните Сохранить и выполнить пробный запуск.

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

    1. Если вы удовлетворены новым пользовательским шаблоном, щелкните **Опубликовать шаблон**.

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

Определение пользовательского шаблона для учетной записи предприятия

Примечания.

  • На уровне предприятия только создатель пользовательского шаблона может изменять шаблон и использовать его в пробном прогоне.
  • Вы можете выполнить сухой запуск только в репозиториях, к которым у вас есть административный доступ. Если владелец предприятия хочет получить доступ для выполнения сухих запусков в любом репозитории в организации, ему должна быть назначена роль владелец организации. Дополнительные сведения см. в разделе Управление ролью в организации, принадлежащей предприятию.
  1. В правом верхнем углу GitHub AE щелкните фотографию профиля и выберите Параметры предприятия.

    A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

  2. На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе "Политики" щелкните Расширенная безопасность. 1. В разделе «Расширенная безопасность GitHub» перейдите на вкладку Функции безопасности.

  3. В разделе "Настраиваемые шаблоны сканирования секретов" щелкните Новый шаблон.

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

    1. В поле "Имя шаблона" введите имя шаблона.

    2. В поле "Формат секрета" введите регулярное выражение для формата шаблона секрета.

    3. Можно щелкнуть Дополнительные параметры , чтобы предоставить другое дополнительное содержимое или требований соответствия для формата секрета.

    4. Предоставьте пример тестовой строки для проверки соответствия конфигурации ожидаемым шаблонам.

       Снимок экрана: заполненная настраиваемая форма шаблона secret scanning.

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

  6. Найдите и выберите до 10 репозиториев, в которых требуется выполнить пробный запуск.

  7. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните Пробный запуск. 1. По завершении пробного запуска вы увидите выборку результатов (до 1000). Проверьте результаты и определите ложноположительные. Снимок экрана: результаты из пробного запуска

  8. Измените новый пользовательский шаблон, чтобы устранить все проблемы с результатами, а затем, чтобы протестировать изменения, щелкните Сохранить и выполнить пробный запуск.

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

    1. Если вы удовлетворены новым пользовательским шаблоном, щелкните **Опубликовать шаблон**.

После создания шаблона secret scanning проверяет все секреты в репозиториях организаций предприятия с включенной GitHub Advanced Security, включая полный журнал Git во всех ветвях. Владельцы организации и администраторы репозитория будут оповещены обо всех обнаруженных секретах и смогут просмотреть оповещение в репозитории, где обнаружен секрет. Дополнительные сведения о просмотре оповещения о проверке секретов см. в разделе Управление оповещениями о проверке секретов.

Изменение пользовательского шаблона

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

  1. Перейдите туда, где был создан пользовательский шаблон. Пользовательский шаблон можно создать в репозитории, организации или корпоративной учетной записи.
  2. В разделе "Secret scanning" справа от пользовательского шаблона, который требуется изменить, щелкните .
  3. Когда вы будете готовы протестировать отредактированный пользовательский шаблон, чтобы найти совпадения в вашей корпорации, но не создавать оповещения, нажмите кнопку Сохранить и выполнить пробный запуск.
  4. После проверки и тестирования изменений нажмите кнопку Опубликовать изменения.

Удаление пользовательского шаблона

  1. Перейдите туда, где был создан пользовательский шаблон. Пользовательский шаблон можно создать в репозитории, организации или корпоративной учетной записи.
  2. Справа от пользовательского шаблона, который вы хотите удалить, щелкните .
  3. Просмотрите подтверждение и выберите метод для работы с любыми открытыми оповещениями, связанными с пользовательским шаблоном.
  4. Нажмите Да, удалить этот шаблон.