Пользовательский алгоритм объединения правил XACML в wso2
Я являюсь пользователем WSO2 IS, мне нужно добавить собственный алгоритм RuleCombining в мой WSO2 IS. Я использую этот пример balana, и когда я создаю эту Политику в WSO2 IS, я получаю эту Ошибка: Неподдерживаемая Политика Прав. Политика не может быть проанализирована, и это журнал WSO2 IS:
ERROR {org.wso2.carbon.identity.entitlement.pap.PAPPolicyReader} - Error while parsing the policy org.wso2.balana.ParsingException: Error parsing combining algorithm in Policy
Caused by: org.wso2.balana.UnknownIdentifierException: unknown combining algId: urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:highest-effect
at org.wso2.balana.combine.BaseCombiningAlgFactory.createAlgorithm(BaseCombiningAlgFactory.java:138)
at org.wso2.balana.AbstractPolicy.<init>(AbstractPolicy.java:237)
Отредактировано:
Спасибо за ответ, Дэвид,
На той же странице примера мы можем прочитать, что мы можем расширить WSO2 IS с помощью пользовательских функций, алгоритмов и типов данных, добавив файл конфигурации balana:
Однако, если вы хотите попросить WSO2 Identity Server инициализировать Balana, прочитав файл конфигурации. Вы можете сделать это, создав новый файл конфигурации с именем "balana-config.xml" в каталоге / repository / conf / security. Например, скажем, вы хотите добавить новый алгоритм объединения правил для работы с механизмом предоставления прав WSO2 Identity Server. Затем вы можете следовать тем же путем, что и при настройке Balana. Пожалуйста, обратитесь к этому сообщению в блоге для более подробной информации. Однако я хотел бы подвести итог шагу, которому нужно следовать.
Но после выполнения шагов, похоже, не работает.
Любая другая помощь в этом вопросе будет оценена.
Я рассматриваю аксиоматику в качестве движка XACML, но мне кажется, что очень сложно получить версию для тестирования или в начале. Можете ли вы дать мне хоть какой-то свет по этому поводу?
1 ответ
Невозможно расширить WSO2 IS с пользовательским алгоритмом объединения. Пост, на который вы ссылаетесь, гласит:
WSO2 Identity Server не работает с ними, потому что большинство приложений используют стандартный набор функций, атрибутов и алгоритмов объединения, который определен в спецификации XACML. Поэтому по умолчанию WSO2 Identity Server инициализирует экземпляр Balana со стандартной конфигурацией по умолчанию.
Если вы хотите использовать алгоритм объединения, используйте вместо этого сервер политики Axiomatics.
Примечание: зачем вам алгоритм объединения? Вы должны попытаться придерживаться стандартных алгоритмов объединения. Что значит urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:highest-effect
делать? Также вы не можете использовать пространство имен OASIS для вашего алгоритма объединения.