簡體   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