Внедрите geo XACML с помощью Authzforce и разместите его на heroku - PullRequest
0 голосов
/ 27 октября 2018

Я совершенно новичок в обеих темах. Может кто-нибудь помочь мне с пошаговыми руководствами по их реализации? Можно также предложить альтернативу им обоим.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Я рассмотрел ваш вопрос и ваши комментарии в этой теме.Я понимаю, что вы новичок в XACML в целом.Имея это в виду, я постараюсь поднять ваше понимание XACML и как интегрировать GeoXACML или вообще реализовать географические ограничения в вашей политике в моем ответе.

Понимание XACML

Язык политики XACML столь же выразителен, как и естественный язык.Например, рассмотрим следующее предложение:

Джейн Доу хочет просматривать конфиденциальный документ на работе в рабочее время.

Подобное предложение включает четыре грамматических строительных блока:

- тема

- действие

- ресурс

- среда, в которой выполняется запрос

Каждыйиз этих «строительных блоков» можно описать с помощью атрибутов.

Чтобы создать политики авторизации для организации, вам необходимо получить требования от лиц, ответственных за определение политик информационной безопасности.

Далее вы должны взять политики, предоставленные персоналом, ответственным за политику авторизации, и определить атрибуты.

Обычно мы рассматриваем определение:

  • Краткое имя: удобное для пользователя имя атрибута, например, роли или гражданства.Это имя обычно отображается в редакторах и средствах отчетности.

  • Пространство имен: контекст, к которому относится атрибут.Пространство имен следует обратному соглашению об именовании имен доменов, как мы используем в Java.Итак, если у нас есть com.organization.user, мы можем добавить короткое имя, например роль, для создания полностью квалифицированного идентификатора атрибута XACML com.organization.role.

  • Категория: концепция, котораяприходит прямо из XACML, в котором говорится, что атрибут всегда принадлежит категории.Существует 4 часто используемых категории: субъект, действие, ресурс и окружение;они определены в шаге 2 нашего учебника.

  • Тип данных: классификация данных.Значения атрибутов могут быть разных типов в XACML.Чаще всего используются строковые, целые и логические значения.На выбор доступно более дюжины типов данных.

  • Диапазон значений: необязательное поле для указания шаблона или диапазона предоставленных значений.Значения атрибута могут быть совершенно случайными (например, имя пользователя).Другие относятся к фиксированному списку значений, например, именам состояний или шаблону, например, почтовым индексам.

Для получения дополнительной информации о внедрении ABAC в организации, пожалуйста, прочитайте сообщение в блоге, которое я написал на моемВеб-сайт работодателя здесь: https://www.axiomatics.com/blog/intro-to-attribute-based-access-control-abac/

У меня также есть статья в моем личном блоге , основанная на вопросе StackOverflow: " Как авторизовать определенные ресурсы на основе пользователей, которые их создали вREST, используя аннотации?".Ответ дает еще один хороший обзор XACML и ABAC в целом.

Относительно GeoXACML и географических ограничений в целом

Я не уверен в вашем точном случае использования, но хочу отметить, что ipAddress является типом данных в XACML,в случае, если это подходит для вашего варианта использования (т.е. ваши системы сталкиваются с IP-адресами, которые не маршрутизируются через VPN или другими способами обфускации IP-адресов и т. д.).Список типов данных можно найти здесь: http://docs.oasis -open.org / xacml / 3.0 / xacml-3.0-core-spec-os-en.html .

Мне неизвестно о каком-либо программном обеспечении, которое предлагает GeoXACML из коробки с реализацией XACML корпоративного уровня.Мы, работодатель, можем предложить здесь, в Axiomatics, - расширить наше программное обеспечение, сервер политики Axiomatics, чтобы вы могли включить GeoXACML или даже другие географические функции на свой вкус.(Примечание. Когда мой коллега Дэвид Броссар в вышеприведенном комментарии предлагал вам «попробовать Axiomatics PS», это означало сервер политики Axiomatics.)

«X»в XACML расшифровывается как.И действительно, модель достаточно расширяема, чтобы предложить гибкость, необходимую для выполнения таких действий.

В базовой спецификации XACML версии 3.0 на самом деле есть раздел под названием точки расширения XACML, в котором перечислены все точки, в которых XACMLМодель и схема могут быть расширены с новой семантикой.Точки расширения:

  • Категория
  • AttributeId
  • DataType
  • FunctionId
  • MatchId
  • ObligationId
  • AdviceId
  • PolicyCombiningAlgId
  • RuleCombiningAlgId
  • StatusCode
  • SubjectCategory

Вы можете следить за любымвопросы здесь на StackOverflow или через контактные страницы на предоставленных веб-сайтах.

Best, Michael

0 голосов
/ 12 ноября 2018

Сначала предупреждающее слово: спецификация GeoXACML была написана как расширение XACML 2.0, поскольку это была последняя версия XACML в то время (последняя версия GeoXACML датируется 2011 годом).Теперь AuthzForce поддерживает только XACML 3.0.Тем не менее, в этом нет ничего сложного, термины и элементы модели XACML 2.0, используемые в GeoXACML, можно легко адаптировать к XACML 3.0 (в частности, мало изменений в схеме XACML).Если у вас есть проблемы с этим процессом, сообщите нам.Я настоятельно рекомендую в любом случае перейти на XACML 3.0, если вы все еще используете XACML 2.0.

Возвращаясь к исходному вопросу, если вы согласны использовать GeoXACML с XACML 3.0, вы можете реализовать его в AuthzForce всего двумя видамииз расширений AuthzForce :

  • Типы данных XACML: как следует из названия, это тип расширения, которое необходимо реализовать в AuthzForce для поддержки новых типов данных, определенных в разделе6.3.1 спецификации GeoXACML v1.0.1.См. вики-страницу в репозитории AuthzForce github, чтобы узнать, как разработать такое расширение.
  • Функции XACML: как следует из названия, это расширение, которое вы должны реализовать в AuthzForce для поддержкиновые функции, определенные в разделе 6.3.2 спецификации GeoXACML v1.0.1.См. вики-страницу в репозитории AuthzForce github, чтобы узнать, как разработать такое расширение.

С этим, я думаю, вы покрыты.

Если у вас естьПроблемы AuthzForce, связанные с разработкой расширений, пожалуйста, используйте один из каналов поддержки , упомянутых на github (или проблем с github).

...