首页 文章

Fiware:如何使用keystone和keypass限制用户对Orion Context Broker API的特定实体的访问

提问于
浏览
3

首先,我使用了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 回答

  • 1

    我不认为在没有安全GE的情况下可以对Orion进行访问控制 . 每个GE都有一个特定的目的,访问控制不是猎户座的目的之一 .

    如Orion文档中的Security Considerations所述:

    Orion不提供“本机”身份验证,也不提供任何授权机制来强制实施访问控制 . 但是,验证/授权可以实现FIWARE GE提供的访问控制框架 .

    此外,有一些相关的东西in another link

    猎户座本身没有安全感 . 它被设计为在代理服务器后面运行,代理服务器提供安全性和访问控制 . 在FIWARE实验室中使用,他们在node.js上运行另一个服务构建,“PEP代理威尔玛”,在它前面 . Wilma检查您是否从FIWARE实验室获得了一个令牌并将其放入 Headers 中 .

    此外,下面的链接可以支持我对猎户座和访问控制的看法:

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

    我的观点是,您使用其他安全组件的方式正确 .

    关于 "create one Policy per User-Device pair" 正如你所提到的,也许你会想到 "group policies" 会更好 .

相关问题