有哪些方法可以保护Azure功能

Gal*_*let 13 c# security azure azure-functions azure-security

我使用c#在Azure门户中编写了5个Azure功能.

以下是安装我的应用程序的步骤: -

  • 将部署脚本复制到群集的Edge节点
  • 部署脚本执行以下操作
    • 调用Azure函数来从WASB获取我的应用程序构建.
    • 在Edge节点上安装我的应用程序
    • 调用Azure函数进行一些更新.

以上流程将在Customer Edge节点上执行.

此处描述的使用" 密钥 " 的授权只是提供另一层API密钥授权,当我的脚本需要由公共客户端(如边缘节点)调用时,它不适用,因为它可以在那里发现.

在我的方案中保护Azure功能的最佳方法是什么?

Noe*_*oel 10

默认情况下,azure函数是公共的.因此,您可以部署它们,并通过该功能上的地址公开提供端点.如您所述,您可以设置功能级别访问权限,这意味着您需要传递访问密钥.所以如果受到保护,他们会很好

还有一些其他选择:

您可以使用azure环境服务在vnet中构建函数.但为此,您需要付出很多钱,而且必须使用天蓝色功能的服务计划版本.

我将API管理与功能结合起来.API管理是一种向消费者公开api但是对使用情况保持大量控制的方法.Api管理组件不会阻止公共azure地址可用,但我在代码中实现了模式,该模式检查作为应用程序管理传递的一部分附加到http请求的特殊标记.或者,您可以在功能应用程序上设置IP限制,以仅允许来自API管理端点的流量.(IP地址)如此有效,您只能通过应用管理进入该功能.

只需注意上述内容,Azure门户已删除了通过标准功能网络选项卡设置IP限制的功能.因此,您需要进入资源浏览器并在Web配置部分手动设置IP限制.

最后,您可以设置oauth服务器并在函数或api管理组件中或两者中验证令牌.