Authzforce не хранит политики?
Я разрабатываю новое приложение, используя Fiware, и меня интересует добавление уровня безопасности с использованием специального Fiware GE для этого:
Я начал с установки собственной локальной установки этих компонентов, начиная с этого урока. Через несколько минут я смог успешно установить и запустить все три компонента.
Затем я начал создавать приложения, роли, разрешения, назначать роли пользователю и так далее. Дело в том, что через некоторое время игра с компонентами AuthZforce потерпела крах, и мне пришлось перезагружать его. После этого я заметил, что все политики и домены были стерты из AuthZForce.
Я немного покопался и обнаружил, что все вещи хранятся в памяти для AuthZForce, а также в базе данных IdM, поэтому, если ваш AuthZForce падает, вы теряете все свои политики и домены приложений, если не восстановите их из базы данных IdM.
Проблема заключается в том, что при перезапуске AuthZForce все политики и приложения, хранящиеся в базах данных IdM, не синхронизируются автоматически с AuthZForce. Для принудительной синхронизации вы должны внести некоторые изменения в свое Приложение, например, используя веб-интерфейс IdM, чтобы изменить описание приложения. Затем IdM заново создает домен приложения и все политики приложений.
Есть ли причина, почему это так? Почему синхронизация не выполняется автоматически? Может ли AuthZForce быть ответственным за сохранение политик?
1 ответ
Что касается AuthzForce, все политики, успешно переданные IdM в Authzforce, сохраняются на диске в каталоге / opt / authzforce-ce-server / data сервера AuthzForce. Я не знаю причин, по которым AuthzForce Server может стереть данные оттуда, если они не запрошены через REST API, например, IdM. Если в какой-то момент вы проверяете содержимое этого каталога, и он пуст, одна из причин может заключаться в том, что IdM вообще не выдвигал какую-либо политику в AuthzForce. Если вы действительно обнаружите случай, когда сбой AuthzForce удалит все файлы в /opt/authzforce-ce-server/data (при условии, очевидно, что раньше было несколько файлов), пожалуйста, сообщите об этой проблеме команде AuthzForce с соответствующими журналами сервера и достаточной информацией воспроизвести проблему.
Возвращаясь к последнему вопросу, опять же, AuthzForce сохраняет политики, полученные от IdM на диск. Однако, с одной стороны, IdM использует собственный упрощенный формат для управления разрешениями ролей из графического интерфейса, тогда как AuthzForce использует стандарт XACML. Графический интерфейс IdM не поддерживает полную выразительность XACML на данный момент, это далеко не так. Поэтому, когда вы нажимаете "Сохранить" в редакторе разрешений ролей, графический интерфейс IdM преобразуется из своего собственного формата в XACML (с использованием простой обработки шаблонов), прежде чем отправлять его в AuthzForce, и это только в одну сторону. Поэтому IdM не может восстановить политики в своем собственном формате из AuthzForce (насколько мне известно, трансляция формата XACML в IdM не реализована), и, следовательно, IdM не может полагаться только на AuthzForce для хранения политик. Я не могу вдаваться в детали и почему, потому что я не являюсь частью команды разработчиков IdM. Поэтому, пожалуйста, спросите их, хотите ли вы лучшего ответа.