从 public web 上的 Azure Webjob 中删除或保护 Webhook
Remove or Secure Webhook from Azure Webjob on public web
每当创建 Azure webjob 时,也会同时创建一个 webhook,如果使用它可以触发该 webjob。有问题的 webjob 是在计时器上触发的,不需要 webhook。可以禁用此网络挂钩吗?
问题:如果这个 URL 在 public 网络上可用,有人会尝试调用这个或更糟的暴力破解方法来触发网络作业。
我们还可以使用 Azure AD 身份验证保护 webhook API。要为 webhook API 启用 Azure AD 身份验证,我们需要执行以下步骤:
1.Go 到你的 azure app 服务,然后单击 Authentication / Authorization
启用它。
2.In Azure Active Directory 提供程序,选择 Advanced
并将 webhook API
设为 Issuer Url
。
3.Go 到您的应用程序服务 Access Control
,select Contributor
您之前创建的服务主体的角色。
有关安全 webhook API 的更多详细信息,您可以参考此 article。
我们找到了几种方法
- 直接在资源上添加访问限制。这是指定的 here.
- 在 vNet 中添加资源(需要高级计划)并在那里应用限制。
注意:要添加拒绝所有规则,您需要创建至少一个自定义规则,Azure 将自动添加拒绝所有规则(有关详细信息,请参见上面的link)
每当创建 Azure webjob 时,也会同时创建一个 webhook,如果使用它可以触发该 webjob。有问题的 webjob 是在计时器上触发的,不需要 webhook。可以禁用此网络挂钩吗?
问题:如果这个 URL 在 public 网络上可用,有人会尝试调用这个或更糟的暴力破解方法来触发网络作业。
我们还可以使用 Azure AD 身份验证保护 webhook API。要为 webhook API 启用 Azure AD 身份验证,我们需要执行以下步骤:
1.Go 到你的 azure app 服务,然后单击 Authentication / Authorization
启用它。
2.In Azure Active Directory 提供程序,选择 Advanced
并将 webhook API
设为 Issuer Url
。
3.Go 到您的应用程序服务 Access Control
,select Contributor
您之前创建的服务主体的角色。
有关安全 webhook API 的更多详细信息,您可以参考此 article。
我们找到了几种方法
- 直接在资源上添加访问限制。这是指定的 here.
- 在 vNet 中添加资源(需要高级计划)并在那里应用限制。
注意:要添加拒绝所有规则,您需要创建至少一个自定义规则,Azure 将自动添加拒绝所有规则(有关详细信息,请参见上面的link)