Кейсы
Ограничение входящих REST-хуков по методам
Модуль для коробочного Bitrix24: разрешённые методы, IP-адреса, время работы и лимиты запросов для каждого входящего вебхука.
Доступ под конкретную интеграцию
Интеграции может быть нужно всего несколько REST-методов, например чтение данных и создание записи. При этом входящий вебхук получает доступ в рамках выбранных скоупов и прав своего владельца.
Я сделал модуль для коробочного Bitrix24, который позволяет задать дополнительный список разрешённых методов отдельно для каждого вебхука. Так у каждой интеграции появляется собственный набор правил.
Настройки для каждого вебхука
В админке выбирается уже существующий входящий вебхук. Для него включается ограничение и отмечаются разрешённые методы. Список сгруппирован по разделам REST, а нужный метод можно найти через поиск.
В той же карточке настраиваются:
- разрешённые IP-адреса, маски и диапазоны;
- время, в которое вебхук может работать;
- количество запросов за выбранный интервал;
- код и текст ответа при блокировке;
- ведение, просмотр и очистка журнала вызовов.
Что получает интеграция при блокировке
Если вызов не разрешён правилом, модуль возвращает настроенную REST-ошибку. В примере используется код WEBHOOK_REQUEST_BLOCKED с пояснением, что запрос заблокирован настройками безопасности.
В результате администратор управляет доступом каждой интеграции из одной карточки: выбирает методы, задаёт дополнительные условия и смотрит журнал обращений. Правила можно менять независимо для разных вебхуков.