1

我正在研究某种插件架构,人们可以自己提交一小段 C# 代码,它会在 Azure 上每小时执行一次。

这是否安全,或者它们是否可以轻松破坏您的整个 Azure 环境?还有其他解决方法吗?

我正在考虑使用 IronPython - 我想在那里建立硬边界更简单,但我实际上更喜欢使用 c#。

更新

需要明确的是:我主要关心的是安全性,而不是 Azure 成本。这将类似于保留实例,或者至少是成本有限的东西。

有人上传比特币矿机,而我在两天后发现的风险是我可以忍受的。

我无法忍受的是,这个人实际上可以访问所有与 Azure 相关的东西,比如凭据等。

4

1 回答 1

2

它可以访问您授予 Azure 函数访问权限的所有内容:它可以读取所有环境变量、连接字符串等;它可能通过它们获得数据库或密钥库访问权限并了解其他秘密;它可能具有赋予其其他功能的托管标识;它可能可以通过防火墙访问,否则会由于位于受信任的 Azure IP 上而阻止它;... ETC。

现在大多数这些事情都应该被配置所禁止,但是您将依赖任何开发人员或 devops 人员对您的函数应用程序环境的所有未来更改,以确保他们不会暴露任何东西。

它还可能影响您依赖的外部服务,并让您被速率限制阻止。

底线:这不是一个好主意。

于 2021-02-08T22:09:34.850 回答