Каков рекомендуемый способ моделирования атрибутов, возникающих из отношения между субъектом и объектом в управлении доступом на основе атрибутов (ABAC)?
Пример: медицинские записи как объекты и счета врачей / медсестер как субъекты. В простой обстановке, без прямой связи между субъектом и объектом, правило может указывать что-то вроде «Практикующие медсестры в Кардиологическом отделении могут Просмотр медицинские записи кардиологических пациентов "(пример из Технический документ NIST). Теперь представьте, что в базе данных медицинских записей каждая запись явно ссылается на учетную запись определенного врача как на его Лечащий врач. В правиле должно быть указано, что только лечащему врачу записи разрешено изменять некоторые важные свойства этой записи.
Как лучше всего смоделировать это в атрибутах?
В идеале уполномоченный субъект может иметь атрибут «Функция = Лечащий врач». Это упростило бы техническую формулировку правила, но также сделало бы построение субъектов объектно-зависимым, что звучит неправильно.
В качестве альтернативы объект может нести атрибут «Лечащий врач = (ID-учетной записи)», что звучит лучше, но тогда техническое выражение правила будет более сложным: «предоставить доступ, если значение атрибута ID учетной записи субъекта совпадает с << em> Лечащий врач значение атрибута ". (В реальной жизни отношения, вероятно, были бы более сложными и вложенными, а правила сложнее выразить простыми словами.)
Любые рекомендации или передовой опыт?
Спасибо, Джон