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 и контроле доступа:
Мое мнение таково, что вы правильно используете другие компоненты безопасности.
Около "create one Policy per User-Device pair"
как вы упомянули, может быть, вам лучше подумать "group policies"
вместо.