Size: a a a

Архитектура ИТ-решений

2021 May 19

PT

Peter Tugolukov in Архитектура ИТ-решений
Как с помощью ACL сделать проверку доступа к "родительскому" ресурсу?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Судя по брифу выглядит достойным внимания
источник

VR

V R in Архитектура ИТ-решений
Поясните вопрос - т.е. есть организация, у нее есть проекты. Проект знает к какой организации относится. Чтобы был доступ к проекту - пользователь должен быть и в ACL листа и в ACL организации - если я правильно понял условие
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
у них там всё достойно) но с ограничениями попен-сурса)
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
в правиле acl указать доступ к родительскому ресурсу непосредственно
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
либо я не понимаю вопроса))
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
т.е. есть организация, у нее есть проекты. Проект знает к какой организации относится. 

Верно.
Пользователь пытается получить доступ к проекту в рамках организации, но не факт, что у него есть доступ к ней. Надо при попытке доступа к проекту проверять доступ к "родительскому" ресурсу (или так по иерархии).
источник

VR

V R in Архитектура ИТ-решений
Сорри - я все равно не очень понимаю вопрос. Если это требуется - все что нам нужно - в точке принятия решения GRANT/DENY - делать дополнительную проверку - если у объекта есть родитель - вызывать те же проверки для родителя и т.д. - рекурсивно.
Как с точки зрения решения на low level - мы определяем для всех объектов в системе общий подход для понятия "родитель". И исходя из этого строим логику проверки
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
Да, все верно.
А теперь вопрос - есть ли уже готовые решения, в которых можно реализовать такую рекурсивную проверку?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
а что за ограничения?
источник

VR

V R in Архитектура ИТ-решений
Не знаю. Решения будет зависеть от того как в системе будет определено понятие "родитель", и, соответственно что из кода требуется для получения родительского объекта. Может  зависеть от языка реализации - но это ни разу не "объем".
источник

VR

V R in Архитектура ИТ-решений
Условно - нечто, что пишется на коленке как расширение к существующей реализации ACL
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
Роадмапы и ишью на гитхабе почитать надо, там всё понятно зачастую чего ещё нет и в каком из продуктов.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Понял, ок
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Это не RBAC, это авторизация по правам владения.
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
Чот даже не гуглится.
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
Может другое название есть?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Хм, понятия не имею, может это гуглиться или нет.
Но по моему опыту есть минимум четыре схемы для авторизации:
RBAC (по ролям пользователя),
ABAC (по ролям пользователя и атрибутам связанных сущностей, сложно в реализации),
по владению (отдельные пользователи являются владельцами конкретных сущностей, типа "мои платежи принадлежат именно мне),
по оргструктуре (есть сущности, привязанные к моей позиции в оргструктуре, при этом есть всякие связи вида "начальник имеет доступ к подчиненным", "я замещаю такого-то и получаю доступ к данным по его позиции" и т.п.)
Каждый из подходов требует очень специфических подходов к реализации.
источник

DZ

Denis Zarin in Архитектура ИТ-решений
ACL, access control lists скорее всего
источник

С

Сергей Есин... in Архитектура ИТ-решений
В чистом виде ни один подход в развивающихся системах не покрывает всех потребностей. Или применяются не правильно.
Тот же RBAC часто скатывается одно разрешение одна роль и сотни ролей у одного пользователя. А его реализация в Zend вообще частично поддерживает Acl как второй слой
источник