首先,我使用了Identity Manager,授权PDP和PEP代理的Telefonica实现,而不是使用Keyrock,AuthZForce和Wilma PEP Proxy的Fiware参考实现 . 可以在以下GitHub存储库中找到每个组件的源代码和参考文档:
- Telefonica keystone-spassword:
GitHub / telefonicaid / fiware-keystone-spassword
- Telefonica keypass:
GitHub / telefonicaid / fiware-keypass
- Telefonica PEP-Proxy:
GitHub / telefonicaid / fiware-pep-steelskin
此外,我正在使用我自己的组件内部安装,NO Fi-Lab . 除了安全组件,我还有一个IoT Agent-UL实例和一个Orion Context Broker实例 .
从该配置开始,我在keystone(Fiware-Service)和域内的项目(Fiware-ServicePath)中创建了一个域 . 然后我将一台设备连接到平台,将数据发送到PEP代理后面的IoT代理 . 整个设备消息在Orion Context Broker中表示为单个实体 .
所以,问题是:
如何在Orion Context Broker API级别限制特定keystone用户只能访问与此设备关联的实体?
我知道我可以通过keystone Roles和XACML策略允许/拒绝用户访问特定API,但这意味着我应该为每个用户 - 设备对创建一个策略 .
我可以用一些帮助,知道我是否正确的方式 .
1 回答
我不认为在没有安全GE的情况下可以对Orion进行访问控制 . 每个GE都有一个特定的目的,访问控制不是猎户座的目的之一 .
如Orion文档中的Security Considerations所述:
此外,有一些相关的东西in another link:
此外,下面的链接可以支持我对猎户座和访问控制的看法:
我的观点是,您使用其他安全组件的方式正确 .
关于
"create one Policy per User-Device pair"
正如你所提到的,也许你会想到"group policies"
会更好 .