是否可以在 Service Fabric 中将应用程序彼此隔离?
Is it possible to isolate applications from one another in Service Fabric?
当 运行 一个 Service Fabric 群集时,其中包含多个应用程序 运行 是有意义的,但这些应用程序可能不会以任何方式相互依赖。例如,我可以在那里有一个 CustomerApp 和一个 WikiApp。
现在,从安全的角度来看,如果 WikiApp 可以与 CustomerApp 隔离,那就太好了,因为 Wiki 显然不应该能够连接到来自持有客户数据的应用程序的服务。我可以将身份验证放入 CustomerApp 本身的服务中,以仅允许来自经过身份验证的服务的调用,但此外,如果 WikiApp 甚至无法连接或查看其他应用程序并且无法解析端点,那就更好了来自命名服务的地址。
那么,有没有一种方法可以在具有平台功能的 Service Fabric 中真正将应用程序彼此隔离?我在文档中找不到任何关于它的信息,我也怀疑 Service Fabric 的工作方式是否可能,但它会非常有用。
需要说明的是,我真正谈论的是将应用程序 (ApplicationType) 彼此隔离,而不是单个应用程序中的服务。
内置了一些隔离级别:
- 应用程序实例具有进程级隔离,因为每个应用程序实例 运行 在其自己的进程中。
- 节点隔离是可能的,使用放置约束,通过将它们限制在不同节点上的 运行 来相互 "isolate" 服务。
- 容器支持将在未来可用,应用程序和服务可以 运行 在容器内以进一步隔离环境和资源。
- 服务可以 运行 在唯一的用户帐户下,您可以使用它在应用程序级别自行执行身份验证。
但不幸的是,目前该平台还没有内置基于角色的细粒度访问机制。因此,例如,运行宁查询以获取应用程序或服务列表或使用命名服务解析端点等系统范围的操作没有内置任何基于角色的访问权限。
当 运行 一个 Service Fabric 群集时,其中包含多个应用程序 运行 是有意义的,但这些应用程序可能不会以任何方式相互依赖。例如,我可以在那里有一个 CustomerApp 和一个 WikiApp。
现在,从安全的角度来看,如果 WikiApp 可以与 CustomerApp 隔离,那就太好了,因为 Wiki 显然不应该能够连接到来自持有客户数据的应用程序的服务。我可以将身份验证放入 CustomerApp 本身的服务中,以仅允许来自经过身份验证的服务的调用,但此外,如果 WikiApp 甚至无法连接或查看其他应用程序并且无法解析端点,那就更好了来自命名服务的地址。
那么,有没有一种方法可以在具有平台功能的 Service Fabric 中真正将应用程序彼此隔离?我在文档中找不到任何关于它的信息,我也怀疑 Service Fabric 的工作方式是否可能,但它会非常有用。
需要说明的是,我真正谈论的是将应用程序 (ApplicationType) 彼此隔离,而不是单个应用程序中的服务。
内置了一些隔离级别:
- 应用程序实例具有进程级隔离,因为每个应用程序实例 运行 在其自己的进程中。
- 节点隔离是可能的,使用放置约束,通过将它们限制在不同节点上的 运行 来相互 "isolate" 服务。
- 容器支持将在未来可用,应用程序和服务可以 运行 在容器内以进一步隔离环境和资源。
- 服务可以 运行 在唯一的用户帐户下,您可以使用它在应用程序级别自行执行身份验证。
但不幸的是,目前该平台还没有内置基于角色的细粒度访问机制。因此,例如,运行宁查询以获取应用程序或服务列表或使用命名服务解析端点等系统范围的操作没有内置任何基于角色的访问权限。