まず第一に、Keyrock、AuthZForce、および Wilma PEP Proxy である Fiware リファレンス実装の代わりに、Identity Manager、Authorization PDP、および PEP Proxy の Telefonica 実装を使用しています。各コンポーネントのソース コードとリファレンス ドキュメントは、次の GitHub リポジトリにあります。
- Telefonica keystone-spassword:
GitHub /telefonicaid/fiware-keystone-spassword
- Telefonica キーパス:
GitHub /telefonicaid/fiware-keypass
- Telefonica PEP プロキシ:
GitHub /telefonicaid/fiware-pep-steelskin
その上、私は独自のコンポーネントの社内インストールで作業しています。Fi-Lab ではありません。セキュリティ コンポーネントに加えて、IoT Agent-UL インスタンスと Orion Context Broker インスタンスがあります。
その構成から始めて、keystone (Fiware-Service) にドメインを作成し、ドメイン内にプロジェクト (Fiware-ServicePath) を作成しました。次に、1 つのデバイスをプラットフォームに接続し、PEP プロキシの背後にある IoT Agent にデータを送信します。Orion Context Broker では、デバイス メッセージ全体が単一のエンティティとして表されます。
したがって、質問は次のとおりです。
Orion Context Broker API のレベルで、特定の keystone ユーザーがこのデバイスに関連付けられたエンティティのみにアクセスするように制限するにはどうすればよいですか?
keystone ロールと XACML ポリシーを介して特定の API へのユーザー アクセスを許可/拒否できることはわかっていますが、これは、ユーザーとデバイスのペアごとに 1 つのポリシーを作成する必要があることを意味します。
私が正しい道を進んでいるかどうかを知るために、これについていくつかの助けを借りることができます。