Arc*_*ekt 5 azure azure-functions
目前,我的功能可以公开访问。有没有一种方法可以使它们只能通过其他方式(例如API网关)访问,而不能直接访问?我尝试通过“网络”刀片添加VNET,但我认为这没有做任何事情(我仍然可以公开调用这些函数)……我认为这样做是为了使这些函数可以访问专用网络上的资源。我在设置中没有看到任何将IP设为私有的选项。我对网络相关问题不是很精通,因此如果不清楚,我深表歉意。
小智 6
在内置键支持是为了提供这个选项。您可以要求所有请求都包含一个API密钥,该密钥仅与您关心的资源共享。实际上,默认情况下,所有HTTP触发的函数都需要一个密钥。您将必须明确选择删除此要求。
密钥不是网络解决方案,如果您泄漏密钥,则有人可以访问您的API(直到您滚动密钥)。您是正确的,VNet支持是点对站点的,这意味着它可以访问资源,但是功能应用程序本身不受保护。尽管Kai对原始问题的评论是正确的,但App Service Environment可以解决该问题-ASE尚不适用于Function。
除了密钥外,您还可以考虑使用App Service身份验证/授权来要求AAD服务主体。实际上,这就像一把钥匙,但是如果您要在AAD中建模其他实体,则还有其他好处。但是,除非您知道您需要此键,否则我会坚持使用键。
| 归档时间: |
|
| 查看次数: |
2286 次 |
| 最近记录: |