Поскольку Dialogflow - это служба, размещенная в Google, запросы на выполнение, указанные в URL-адресах Webhook, должны быть доступны для Dialogflow, чтобы они могли быть вызваны. Кроме того, конечные точки webhook должны представлять себя с использованием SSL / TLS и должны быть связаны с несамостоятельно подписанным сертификатом. Когда запрос сделан из Dialogflow, dialogflow может предоставить учетные данные для аутентификации, чтобы убедиться, что это действительно Dialogflow, который делает запрос.
Один из вариантов использования - это доступ к Интернет-подключениям к Интернету и разрешение на подключение только из диапазона IP-адресов Google, а также проверка подлинности (известна только Dialogflow). Это во многом предотвратит злонамеренный доступ к вашему Webhook.
Альтернативой может быть определение вашего Webhook в качестве конечной точки, размещенной на GCP, и тогда вам будет принадлежать маршрутизация к вашей внутренней системе. Это может использовать множество технологий помимо HTTP, включая Pub / Sub. Например, когда Dialogflow вызывает Webhook, может быть вызвано приложение GCP, которое отправляет сообщение в PubSub. Ваше корпоративное приложение может быть подписчиком и быть уведомленным о том, что у него есть работа. Он работает и отвечает новым сообщением, которое получает ваш размещенный на GCP Webhook, а затем возвращает ответ Dialogflow. Таким образом, у атакующего нет места для проникновения.