4

我想在 Orion Context Broker NGSI API 级别提供访问控制,以确保真正的数据隔离。我想确保租户只能查询/更新他们的上下文,而不是另一个租户的上下文。

为此,我开始在 Orion Context Broker 前面放置一个Wilma PEP 代理实例。然后我基于官方IdM Keyrock docker镜像配置了我自己的 Identity Manager keyrock GE 实例,并基于官方AuthzForce docker 镜像配置了我自己的 Authorization PDP GE 。

经过几天的配置和多次尝试,我终于可以让这三个安全通用启动器正常工作,使用PEP 代理级别 2对 Orion Context Broker NGSI API 的请求进行身份验证和授权。

但是,2 级授权不足以确保我想要什么,因为服务(租户)和子服务(应用程序路径)信息都在请求的标头中。特别是在 Fiware-Service 和 Fiware-ServicePath 标头中。为了构建基于标头的授权策略,您需要使用级别 3:XACML 授权。

问题是我在 Fiware 的官方文档中进行了一些挖掘,但我找不到任何 XACML 策略的示例。除了 Wilma PEP Proxy 的官方文档(请参阅此处)说,您可能必须修改 PEP Proxy 源代码才能获得此级别的授权。

由于这种情况被认为是检查请求的高级参数,例如正文或自定义标头,因此这取决于具体的用例。因此,程序员应该修改 PEP 代理源代码以包含特定要求。

这有可能吗?

我真的需要修改 PEP 代理源代码来实现租户只能访问他的数据这样简单的事情吗?

4

1 回答 1

1

很好的问题。有其他 GEis 可以完美地支持您所指的用例。请查看此演示文稿

https://es.slideshare.net/FI-WARE/building-your-own-iot-platform-using-fiware-geis

谢谢,最好

于 2017-06-30T16:44:59.097 回答