运行 Azure 函数的第 3 方代码(安全问题)
Running 3rd party code on an Azure Function (security concerns)
我正在创建一个类似于 dotnetfiddle.net 的网站,任何人都可以在其中提交 C# 代码。我正计划创建一个 Azure Functions 来编译和 运行 代码。我想知道恶意代码是否会以某种方式破坏我的 Azure 环境?还是每个函数执行完全隔离?
默认情况下,Azure Functions 没有访问您的 Azure tenant/subscription 的权限。如果您已将托管服务身份分配给应用服务 运行 您的函数并授予该身份对您的 Azure 资源的权限,则在您的函数中执行的代码可以访问您的 Azure 资源。
参见:https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet
另一个考虑因素是您是否为您的函数的 Web 应用程序配置了任何类型的 VNET 集成——如果是这种情况,在您的函数中执行的代码将可以访问您的 VNET 中的其他资源。
参见:https://docs.microsoft.com/en-us/azure/azure-functions/functions-networking-options
我正在创建一个类似于 dotnetfiddle.net 的网站,任何人都可以在其中提交 C# 代码。我正计划创建一个 Azure Functions 来编译和 运行 代码。我想知道恶意代码是否会以某种方式破坏我的 Azure 环境?还是每个函数执行完全隔离?
默认情况下,Azure Functions 没有访问您的 Azure tenant/subscription 的权限。如果您已将托管服务身份分配给应用服务 运行 您的函数并授予该身份对您的 Azure 资源的权限,则在您的函数中执行的代码可以访问您的 Azure 资源。
参见:https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet
另一个考虑因素是您是否为您的函数的 Web 应用程序配置了任何类型的 VNET 集成——如果是这种情况,在您的函数中执行的代码将可以访问您的 VNET 中的其他资源。
参见:https://docs.microsoft.com/en-us/azure/azure-functions/functions-networking-options