如何在 Orion NGSI API 中配置访问控制,以便使用 Wilma PEP 代理和 IdM Keyrock 进行



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

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

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

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

问题是我在Fiware的官方文档中进行了一些挖掘,但我找不到任何XACML策略的示例。除了Wilma PEP代理的官方文档(见这里(说,您可能需要修改PEP代理源代码才能获得此级别的授权。

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

这可能吗?

我真的必须修改 PEP 代理源代码才能实现像租户只能访问其数据这样简单的事情吗?

非常好的问题。有替代的GEis可以完美地支持您所指的用例。请查看此演示文稿

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

谢谢,最好的

最新更新