首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何限制IIS网站对Azure上的RoleEnviroment的访问?

问如何限制IIS网站对Azure上的RoleEnviroment的访问?
EN

Stack Overflow用户
提问于 2013-06-07 16:55:15
回答 1查看 51关注 0票数 1

我有一个设置,其中webrole在IIS上托管多个网站,通过存储帐户中的配置进行动态部署。

将有三方站点在IIS上运行,这些站点不应具有从RoleEnviroment访问部署设置的权限。有没有办法限制IIS站点的访问,这样它就不能在Azure上使用RoleEnviroment?

小更新:

将重要设置移出配置文件可能会起作用。但是<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=c1azuretests;..." />呢?

它不能在运行时设置,因为这也是3party网站不能找到的东西。

EN

回答 1

Stack Overflow用户

发布于 2013-06-07 17:34:25

有趣而聪明的方法。虽然没有直接的方法来限制对RoleEnvironment的访问,但有一些解决方法:

  • 在第三方程序集上执行健全性检查/扫描,如果它们引用/使用RoleEnvironment (不是我最喜欢的,但仍然是一个可行的解决方案),则拒绝执行
  • 将配置设置从云设置文件移出到Azure存储表(我更喜欢这个)。现在,潜在攻击者将可以访问角色名称和配置,但不能访问设置。

这两种方法各有优缺点,但我倾向于更喜欢第二种。哪一个需要编写更多的代码是值得怀疑的,但无论哪种情况,您编写的代码都将是可重用的。第二种方法带来的好处更大、更好。

更新

当我说将配置设置移动到Azure表而不是配置设置时,我指的是所有配置设置。所以你的存储连接字符串也会在那里。你不需要用代码硬编码它们,而是从Azure Table中读取它们。这也有其他一些轻微的影响,比如你必须在Azure Table Storage中实现这些设置的监控系统,以确保当你在Table中更新它们时,你在运行的代码中更新它们。就像您在更改正在运行的服务的配置时自动执行的操作一样。

我也不明白既然你可以change settings while service is running without redeploying the whole service package,为什么你要just deploy a new package with changed setting.!检查API Reference here和walk through guide here。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16980035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档