c# - 保护 Azure 功能的方法有哪些

标签 c# azure security azure-functions azure-security

我使用 c# 在 Azure 门户中编写了 5 个 Azure 函数。

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

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

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

授权使用“keys这里描述的只是提供另一层 API key 授权,当我的脚本需要由公共(public)客户端(如边缘节点)调用时不适用,因为它在那里是可发现的。

在我的场景中保护 Azure Functions 的最佳方法是什么?

最佳答案

默认情况下,azure 函数是 public 的。因此,您部署它们,并且可以通过函数上的地址公开访问端点。正如您所提到的,您可以设置功能级别访问权限,这意味着您需要传递访问 key 。因此,如果受到保护,它们就会很友善。

还有一些其他选项:

您可以使用 azure 环境服务在 vnet 内构建函数。但为此你要付出很多钱,并且必须使用 azure 函数的服务计划版本。

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

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

最后,您可以设置一个 oauth 服务器并在函数或 API 管理组件或两者中验证 token 。

关于c# - 保护 Azure 功能的方法有哪些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46617942/

相关文章:

c# - 如何返回在 Windows Azure 上运行的 WCF 服务中的文件?

c# - CaSTLe Windsor 重建实例

azure - SQL Azure 排序规则

linux - 如何使用 Homebrew 软件在 Ubuntu 20.04 中正确安装 azure-cli?

ajax - 如何在 ajax POST 请求中设置 header 以包含 CSRF token

security - 使用 Node.js 的 Kerberos 身份验证

c# - 实现 IEdmStrLst5 和 IEdmPos5 - SOLIDWORKS PDM API

c# - 如何从 C# 调用带有 int& 和 int* 参数的 C++ dll 函数?

node.js - Mongoose 在未指定的时间段后停止响应

c# - 公开个人资料的可公开查看的 UserId