我想知道是否可能出现以下情况:
Fiware Orion上下文代理实例,不同的数据提供程序连接到该实例以发布其数据。对于每个数据项(上下文),特定的数据提供者应该能够控制允许哪个应用程序或数据使用者订阅此上下文。在猎户座上这是可能的吗?如何做到这一点?
我已经研究了多租户模型,但我想这不是正确的方法。我说的对吗?还有别的选择吗?您可以使用PEP代理来保护Orion实例,但我猜它不允许基于每个订阅的访问控制。
如有任何提示,将不胜感激。
发布于 2016-02-22 18:40:09
如果我理解正确的话,您提出的方案可以使用Steelskin代理和多租户机制(但有一些问题)来实现。
在您的场景中,您的整个应用程序将是一个服务(在使用fiware- service的所有事务中指示),并且每个数据提供者将拥有一个专用子服务(由fiwareservicepath标头指示)。所有用户(来自数据提供商的管理员以及最终用户和应用程序)都将是该服务的用户。使用XACML,可以将不同的权限分配给不同角色中的每个可能的操作和用户。例如:您可以在其子服务下创建一个拥有完全权限的dataProvider角色,还可以创建一个只能订阅和读取的dataConsumer角色。
这个场景有一些问题,主要是关于谁创建用户和角色以及将角色分配给用户。为了使用Steelskin,您必须将服务映射到Keystone域,并将子服务映射到Keystone项目;并且用户属于该域。它是域(服务)管理员,负责创建用户,因此,在您的情况下,数据提供者将无法创建新用户(甚至可能将他们分配为子服务客户)。
如果您需要一个示例来说明如何将这些部分连接在一起来实现这一点,请查看:
https://github.com/telefonicaid/fiware-pep-steelskin/blob/master/keystoneInstallation.md
希望能有所帮助
https://stackoverflow.com/questions/35487847
复制相似问题