Fiware: как ограничить доступ пользователей к определенной сущности для API Orion Context Broker, используя keystone & keypass

Прежде всего, я использую в Telefonica реализации Identity Manager, Authorization PDP и PEP Proxy вместо эталонных реализаций Fiware, таких как Keyrock, AuthZForce и Wilma PEP Proxy. Исходный код и справочную документацию каждого компонента можно найти в следующих репозиториях GitHub:

  • Telefonica keystone-spassword:

GitHub / telefonicaid / fiware-keystone-spassword

  • Телефонная клавиатура:

GitHub / telefonicaid / fiware-keypass

  • Телефоника PEP-прокси:

GitHub / telefonicaid / fiware-pep-steelskin

Кроме того, я работаю со своей собственной установкой компонентов, NO Fi-Lab. В дополнение к компонентам безопасности у меня есть экземпляр IoT Agent-UL и экземпляр Orion Context Broker.

Начиная с этой конфигурации, я создал домен в keystone (Fiware-Service) и проект внутри домена (Fiware-ServicePath). Затем я подключил одно устройство к платформе и отправил данные агенту IoT за прокси-сервер PEP. Все сообщение устройства представлено как один объект в Orion Context Broker.

Итак, вопрос в следующем:

Как я могу ограничить доступ конкретного пользователя keystone только к объекту, связанному с этим устройством, на уровне API Orion Context Broker?

Я знаю, что могу разрешить / запретить доступ пользователей к определенному API через роли keystone Roles и политики XACML, но это означает, что я должен создать одну политику для каждой пары пользователь-устройство.

Я мог бы использовать некоторую помощь в этом, чтобы знать, нахожусь ли я на правильном пути.

1 ответ

Решение

Я не думаю, что контроль доступа может быть сделан для Ориона без безопасности GE. У каждого GE есть определенная цель, и контроль доступа не является целью Orion.

Как указано в документации по безопасности от Orion:

Orion не предоставляет ни "родной" аутентификации, ни каких-либо механизмов авторизации для обеспечения контроля доступа. Однако аутентификация / авторизация может быть достигнута в структуре управления доступом, предоставляемой FIWARE GE.

Также есть что-то связанное в другой ссылке:

У самого Ориона нет безопасности. Он предназначен для работы за прокси-сервером, который обеспечивает безопасность и контроль доступа. Используемые в FIWARE Lab, они запускают другую сборку сервиса на node.js, "PEP Proxy Wilma", перед ним. Вилма проверяет, что вы получили токен из лаборатории FIWARE и поместили его в заголовки.

Кроме того, ссылка ниже может подтвердить мое мнение об Orion и контроле доступа:

Fiware-Orion: контроль доступа для каждой подписки

Мое мнение таково, что вы правильно используете другие компоненты безопасности.

Около "create one Policy per User-Device pair" как вы упомянули, может быть, вам лучше подумать "group policies" вместо.

Другие вопросы по тегам