Настройка сканирования секретов Grafana и уведомлений
В Grafana вы можете использовать сервис GitHub Secret Scanning, чтобы определить, не были ли ваши токены сервисных учётных записей утекли на GitHub.
Когда GitHub Secret Scanning обнаруживает секрет Grafana, его хеш сохраняется в сервисе сканирования секретов Grafana Labs.
Экземпляры Grafana — как локальные, так и облачные — могут использовать этот сервис, чтобы проверить, не стал ли сгенерированный экземпляром токен публично доступным. Такая проверка выполняется путём сравнения хеша токена с хешем раскрытого токена.
Если сервис обнаруживает утёкший токен, он немедленно отзывает его, делая бесполезным, и записывает это событие в журнал.
Note
Если параметр
revokeотключён, сервис лишь отправляет уведомление на настроенный URL вебхука и записывает событие в журнал. Токен не отзывается автоматически.
Вы также можете настроить сервис на отправку исходящего уведомления через вебхук на заданный URL.
Уведомление включает полезную нагрузку JSON со следующими данными:
{
"alert_uid": "c9ce50a1-d66b-45e4-9b5d-175766cfc026",
"link_to_upstream_details": <URL to token leak>,
"message": "Token of type grafana_service_account_token with name
sa-the-toucans has been publicly exposed in <URL to token leak>.
Grafana has revoked this token",
"state": "alerting",
"title": "SecretScan Alert: Grafana Token leaked"
}
Note
Сканирование секретов отключено по умолчанию. Исходящие соединения начинают выполняться сразу после его включения.
Перед началом
- Убедитесь, что все ваши ключи API перенесены в сервисные учётные записи. Подробнее о переносе сервисных учётных записей см. в разделе Перенос ключей API в сервисные учётные записи Grafana.
Настройка сканирования секретов
-
Откройте файл конфигурации Grafana.
-
В разделе
[secretscan]обновите следующие параметры:
[secretscan]
# Enable secretscan feature
enabled = true
# Whether to revoke the token if a leak is detected or just send a notification
revoke = true
Сохраните файл конфигурации и перезапустите Grafana.
Настройка исходящих уведомлений через вебхук
-
Создайте интеграцию oncall типа Webhook и настройте оповещения. Как создать интеграцию Grafana OnCall, см. в разделе Интеграции входящих вебхуков для Grafana OnCall.
-
Скопируйте URL вебхука новой интеграции.
-
Откройте файл конфигурации Grafana.
-
В разделе
[secretscan]обновите следующие параметры, заменив URL на URL вебхука, скопированный на шаге 2.
[secretscan]
# URL to send a webhook payload in oncall format
oncall_url = https://example.url/integrations/v1/webhook/3a359nib9eweAd9lAAAETVdOx/
Сохраните файл конфигурации и перезапустите Grafana.