Как хранить права? альтернативы XACML

для доказательства концепции я хочу сохранить права. Я знаю, что существуют разные способы управления доступом (DAC, MAC, RBAC и т. д.). Моей первой идеей было использование базы данных, но я ищу более установленные стандарты, такие как XACML, но, к сожалению, я не смог найти реальных альтернатив. спасибо за любые советы!


person btzs    schedule 27.10.2014    source источник


Ответы (1)


Во-первых, сделайте шаг назад и посмотрите на сопоставимые товары.

В управлении доступом у вас есть разные модели, которые придумали со временем. Исторически у вас сначала были DAC и MAC. У вас было понятие списков управления доступом (также известных как управление доступом на основе идентификации или IBAC).

Затем внезапно одной личности пользователя стало недостаточно. Мы начали распределять пользователей по ролям и группам. Это привело к созданию RBAC или контроля доступа на основе ролей, который NIST формализовал в стандарт.

Перенесемся на 10+ лет вперед, и ролей уже недостаточно. ACL и RBAC слишком ориентированы на пользователя. Они не учитывают контекст или отношения. Они недостаточно мелкозернистые. Появляется новая модель под названием ABAC или управление доступом на основе атрибутов. NIST также находится в процессе стандартизации ABAC. ABAC способен реализовать любой тип требований к управлению доступом и может обслуживать атрибуты пользователя, ресурса, действия и контекста.

Вы можете прочитать больше о ABAC здесь.

Итак, что насчет XACML? XACML — расширяемый язык разметки управления доступом — является реализацией модели ABAC. Это наиболее распространенная реализация ABAC. Вы спрашиваете, есть ли альтернативы. Вот некоторые из них, которые приходят на ум:

  • SecPal: это (было?) исследовательская инициатива Microsoft. Насколько мне известно, он не используется вне исследований.
  • Permis — это модель управления доступом на основе политик. Он также не получил широкого распространения.
  • У Microsoft есть собственный язык для Windows Server, который называется SDDL. Вы можете прочитать подробнее об этом от Microsoft.

Однако на практике большинство реализаций ABAC, которые я видел, используют XACML или смесь собственного кода + RBAC. Излишне говорить, что последний не очень хорошо масштабируется и его трудно поддерживать.

Если вы хотите узнать больше, ознакомьтесь со следующими ресурсами:

person David Brossard    schedule 28.10.2014
comment
Вы должны раскрывать свою принадлежность к продуктам вашей компании при размещении ссылки на них. - person meagar; 21.07.2017
comment
Что я всегда и делаю. Я не ссылался на продукт моей компании в этом ответе. - person David Brossard; 21.07.2017
comment
Согласен с @meagar. Брендинг Axiomatics — это первое, что вы увидите на SlideShare. Пожалуйста, укажите вашу принадлежность в вашем ответе. В остальном хорошие вещи. - person rmharrison; 27.09.2018
comment
@DavidBrossard: Кстати, удаление электронной почты из Защита микросервисов с помощью ABAC приветствуется. - person rmharrison; 27.09.2018
comment
@DavidBrossard Вы наверняка это делали, пока я отредактировал это. - person meagar; 27.09.2018
comment
Определенно не предназначался в качестве штекера продукта. Работа SDDL — это НИОКР. Блог разработчиков предназначен для разработчиков. Не продажи... Проверьте мои другие ответы, и вы увидите, что я систематически раскрываю. - person David Brossard; 27.09.2018
comment
Определенно не предназначался в качестве штекера продукта. Работа SDDL — это НИОКР. Блог разработчиков предназначен для разработчиков. Не продажи... Проверьте мои другие ответы, и вы увидите, что я систематически раскрываю. - person David Brossard; 27.09.2018