我正在尝试通过启用“启用 IP 访问控制”来启用 Azure DocumentDB 防火墙。
我设法允许来自我的应用服务的连接。但是,驻留在应用服务上的 Web 作业无权访问 Azure DocumentDB。
有没有办法允许 Web 作业访问 DocumentDB?谢谢
我正在尝试通过启用“启用 IP 访问控制”来启用 Azure DocumentDB 防火墙。
我设法允许来自我的应用服务的连接。但是,驻留在应用服务上的 Web 作业无权访问 Azure DocumentDB。
有没有办法允许 Web 作业访问 DocumentDB?谢谢
有没有办法允许 Web 作业访问 DocumentDB?
简而言之,没有。如果我们要启用防火墙阻止访问策略,我们需要添加允许的 IP 地址列表或 IP 地址范围。我们可以从文档中获取更多信息。但是 Azure WebApp IP 不是静态的。
阻止从配置的 IP 地址范围允许列表之外的计算机对 Azure Cosmos DB 数据库帐户的所有访问
I managed to allow connections from my App Service
如果这意味着您已打开允许访问 Azure 门户。如果是这种情况,并不意味着我们可以从 Azure 其他服务访问 DocumentDB,这意味着我们可以从 azure 门户对帐户内的集合或文档进行操作。
如果未启用门户访问,您将无法从门户对该帐户内的集合或文档执行任何操作
总之,如果我们想要允许 Web 作业访问 DocumentDB,那么我们需要关闭Enable IP Access Control。或者我们可以使用 Azure 云服务或虚拟机来代替 WebJob。
编辑:
根据您的评论,如果我们想使用与 WebApp 相同的 IP,我们可以使用出站 IP,我们可以从 azure 资源(https://resources.azure.com/)中获取它们,然后将 outboundIpAddresses 添加到 DocumentDB允许的 IP 列表。然后 webjob 可以访问 DocumentDB。
注意: outboundIpAddresses 不是静态 ip,当我们重启 WebApp 或更改 WebApp 服务计划时,它们可能会发生变化。