是否可以在Service Fabric中将应用程序隔离?

时间:2016-05-11 12:48:53

标签: azure-service-fabric

运行Service Fabric群集时,在其中运行多个应用程序是有意义的,但这些应用程序可能不会以任何方式相互依赖。例如,我可以在那里有一个CustomerApp和一个WikiApp。

现在从安全的角度来看,如果WikiApp可以与CustomerApp隔离,那将是很好的,因为Wiki显然不应该能够从持有客户数据的应用程序连接到服务。我可以将身份验证放入CustomerApp本身的服务中,只允许来自经过身份验证的服务的调用,但此外,如果WikiApp甚至无法连接或查看其他应用程序并且无法解析端点,那就更好了来自命名服务的地址。

那么有没有办法在Service Fabric中使用平台功能真正隔离应用程序?我在文档中找不到任何关于它的内容,我也怀疑Service Fabric的工作方式是否可行,但它会非常有用。

要明确的是,我实际上是在讨论将应用程序(ApplicationTypes)彼此隔离,而不是在单个应用程序中隔离服务。

1 个答案:

答案 0 :(得分:4)

内置了一些隔离级别:

  • 应用程序实例具有进程级隔离,因为每个应用程序实例都在自己的进程中运行。
  • 使用放置约束可以实现节点隔离,以隔离"隔离"通过约束它们在不同节点上运行来相互服务。
  • 将来可以使用容器支持,其中应用程序和服务可以在容器内运行,以进一步隔离环境和资源。
  • 服务可以在唯一的用户帐户下运行,您可以使用这些帐户在应用程序级别自行执行身份验证。

但遗憾的是,目前平台内置的基于角色的访问机制尚未细化。因此,例如,系统范围的操作,如运行查询以获取应用程序或服务列表或使用命名服务解析端点,并没有内置任何基于角色的访问。