-1

我想在 azure 中制作 Worker Role,以处理 Web 角色的一些幕后处理。在网络角色中,我想上传一个插件(最有可能是一个 DLL),它可供工作角色使用。

安全呢?如果我要让第 3 方的人将 dll 上传到我的 azure worker 角色。我能做些什么来限制它可以做的事情吗?如果他们可以控制管理 API 或类似的东西,那就不好了。

我是 azure 的新手,我正在探索它是否是用于该项目的平台。

最后一个问题,我注意到我可以远程桌面我的云服务。我可以将二进制程序上传到那里并从工人角色中调用它吗?(另一种插件)。

4

3 回答 3

1

试试Richard Astbury的Azure 插件库!

于 2012-09-01T15:34:45.513 回答
1

您可能需要查看一些内容。假设您的 Worker Role 是一个空壳。例如,在启动 Worker Role 后,您可以启动一个每 X 分钟运行一次的计时器,以从 blob 存储容器中获取最新的程序集。

例如,您可以将这些程序集下载到一个文件夹并使用MEF扫描它们并导入所有实现 IWorkerRolePlugin 的对象(这将是您将创建的自定义界面)。当您想使用插件时,MEF 将是最佳选择。您甚至可以创建直接与 Blob 存储容器链接的自定义目录。

现在关于安全部分。例如,在您的 Worker Role 中,您可以创建一个受限的 AppDomain 以确保这些插件不会做错任何事情。此代码应该可以帮助您入门:Restricted AppDomain example

于 2012-09-01T19:45:50.800 回答
0

听起来Lokad.Cloud正是您所需要的。

它有一个执行框架部分,它由能够运行他们命名为云服务的工作角色组成。它带有一个 Web 控制台,允许您通过上传程序集添加新的 CloudService 实现,如果您将其配置为允许 Azure 自我管理,您还可以通过 Web 控制台调整工作实例的数量。

于 2012-09-02T21:41:02.527 回答