繁体   English   中英

Fiware-Orion:基于每个订阅的访问控制

[英]Fiware-Orion: Access control on a per subscription basis

我想知道以下情况是否可能:

一个Fiware Orion上下文代理实例,不同的数据提供者连接到该实例以发布其数据。 对于每个数据项(上下文),特定的数据提供者应能够控制允许哪个应用程序或数据使用者订阅此上下文。 Orion有可能吗? 如何才能做到这一点?

我已经研究了多租户模型,但是我想这不是正确的方法。 我对吗? 还有其他选择吗? 您可以使用PEP代理保护Orion实例,但是我想它不允许基于每个订阅进行访问控制。

任何提示都将受到高度赞赏。

如果我理解正确,可以使用Steelskin PEP代理和多租户机制来实现您提出的方案(但有一些问题)。

在您的方案中,您的整个应用程序将是一个服务(在fiware-service的所有事务中指示),并且每个数据提供者将拥有一个专用的子服务(以fiwareservicepath标头指示)。 所有用户(包括数据提供者的管理员以及最终用户和应用程序)都是该服务的用户。 使用XACML,可以为不同角色的每个可能的操作和用户分配不同的权限。 例如:您可以在其子服务下创建一个具有完全权限的dataProvider角色,并创建一个应该仅可以订阅和读取的dataConsumer角色。

此方案存在一些问题,主要涉及谁创建用户和角色以及将角色分配给用户。 为了使用Steelskin,您必须将服务映射到Keystone域,并将子服务映射到Keystone项目。 并且用户属于该域。 由域(服务)管理员负责创建用户,因此,在您的情况下,数据提供者将无法创建新用户(甚至可能将其分配为子服务客户)。

如果需要有关如何将这些部件连接在一起以实现此目的的示例,请查看:

https://github.com/telefonicaid/fiware-pep-steelskin/blob/master/keystoneInstallation.md

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM