Используя ABAC, довольно легко выразить такие правила, как:
A Subject (with position = 'Manager') is allowed to perform Action (with name = 'Write') on a Resource (with class = 'Document' and type = 'Report').
Однако при управлении событиями обмена необходимо указать два типа субъектов: лицо, которое осуществляет обмен, и предполагаемый получатель.
Например: менеджер может захотеть поделиться отчетом с младшим в своем отделе.
Можно записать это в виде набора правил, включающих оба типа Субъектов, но как выразить «направленность» обмена, например, Менеджер может делиться с Младшим, но не наоборот? Я пробовал несколько подходов, но все они кажутся очень многословными из-за структуры «Тема-> Ресурс-> Тема», и я не уверен, что они действительно отражают всю семантику совместного доступа к контенту с контролируемым доступом, как это может произойти в онлайн-социальной сети. сеть.
Возможно, для этого существует базовый «шаблон проектирования» ABAC...