Реализация XACML
Я новичок в политике XACML. Можете ли вы указать мне, как реализовать политики XACML. Я пробовал разные API. Но для моего проекта мне нужно внедрить механизм оценки XACML. Итак, вы можете помочь мне предоставить детали реализации. Какой язык будет наиболее подходящим для реализации механизма оценки.
Заранее спасибо.
3 ответа
Я предполагаю, что реализация механизма оценки XACML - непростая задача. Вам необходимо ознакомиться со спецификацией XACML по адресу https://www.oasis-open.org/committees/xacml/ и выполнить реализацию на ее основе. Было бы лучше, если бы вы могли найти уже реализованный механизм авторизации на основе XACML.
"Balana" - это одна из реализаций XACML (с частичной версией XACML 3.0), которая является проектом с открытым исходным кодом на основе Java.
Поэтому вы можете использовать его свободно и найти исходное ядро по https://svn.wso2.org/repos/wso2/trunk/commons/balana/.
Также, если вы действительно хотите реализовать новый механизм XACML, вы можете просмотреть исходный код Balana и получить некоторую реализацию идеи или повторно использовать его исходный код. Более подробную информацию о Balana и о XACML можно найти в этом сообщении в блоге по адресу http://xacmlinfo.com/. Я думаю, с java будет проще работать, так как вам нужно работать с большим количеством XML.
Вы хотите взглянуть на реализации XACML, которые существуют сегодня.
Следующее - все реализации с открытым исходным кодом, доступные сегодня:
- Sun XACML: обеспечивает частичную реализацию XACML 2.0
- Heras AF: обеспечивает совместимую реализацию XACML 2.0 ( http://www.herasaf.org/heras-af-xacml.html)
- Balana: как уже упоминалось, обеспечивает частичную реализацию XACML 3.0
- AuthzForce: полностью совместимый с XACML 3.0 (все обязательные функции) ( https://github.com/authzforce/core)
Ниже приведены реализации поставщика:
- Сервер политики Axiomatics: полностью реализация XACML 2.0 и XACML 3.0 - также подтверждена на соответствие (именно здесь работает редактор XACML 3.0). Аттестация внедрения: https://lists.oasis-open.org/archives/xacml/201010/msg00002.html
- IBM DataPower: содержит механизм XACML 2.0
- Квест: благодаря приобретению Bitkoo у них также есть поддержка XACML.
- оракул
Все приведенные выше реализации с открытым исходным кодом являются Java. Аксиоматика и Bitkoo также предоставляют движок C#.
Если вы хотите использовать свой собственный метод, вы должны сгенерировать объекты XACML из схемы XACML, используя JAXB. Но это не даст вам логики оценки.
Не уверен, что вы подразумеваете под "оценкой". Есть ли у вас запросы на доступ, которые необходимо оценить, чтобы определить, предоставляется ли доступ?
Для этой цели я смог быстро запустить WSO2 Identity Server, составить политики XACML 3.0 и заставить его проверять запросы контроля доступа.
Сервер: http://wso2.com/products/identity-server/ Блог, который помог мне: http://xacmlinfo.com/2012/06/13/pdp-pep-communication-wso2is/
С точки зрения редактирования политики, есть удобный инструмент, который вы можете использовать: ALFA ( https://www.axiomatics.com/blog/how-can-i-use-policy-references-in-alfa/). Это плагин Eclipse, который позволяет вам конвертировать политику в формат XACML.