Azure 事件网格 - Webhook 订阅身份验证和 DDOS 保护

Azure Event Grid - Webhook subscription authentication and DDOS protection

我打算使用 Azure 事件网格作为发布-订阅机制。我们想使用自定义 webhook 作为对事件网格主题的订阅。虽然我能够成功使用验证请求,但有没有什么方法可以用来为暴露的 webhook 端点实施身份验证 and/or DDOS 保护?我遇到了一个查询字符串参数解决方案,但这似乎不太合法。

如果您不想公开端点,您可以在它前面放置类似 API 管理的内容。但是,您必须在入站策略中处理验证部分。这是一个例子:https://github.com/dbarkol/EventGrid-API-Management/blob/master/eventgrid-apim-policy.xml

对于自定义端点,您可以采取的其他防御措施是:

  1. 确保将传入事件的 aeg-event-type 值设置为 Notification
  2. 检查负载中的订阅 ID(如果是未知发件人则拒绝)
  3. 继续使用查询字符串参数并在每次调用时进行验证。

查询字符串参数是安全的,永远不会被追踪。