От объекта к контексту
Аннотация
Большинство моделей доступа начинается с вопроса о том, что разрешено пользователю. Но в реальных системах этого недостаточно.
Доступ зависит не только от пользователя и его роли. Он зависит от объекта, отношений между объектами и субъектами, области действия этих отношений, состояния объекта, публикации, делегирования и других фактов, имеющих значение для конкретного действия.
Поэтому доступ становится не свойством пользователя и не свойством объекта. Он становится результатом отношения между ними. Эта книга рассматривает путь от объекта к контексту доступа.
Сначала объект рассматривается как предмет действия. Затем вокруг него выделяются отношения и факты, имеющие значение для безопасности. Из них формируется контекст. Правила применяются к этому контексту и порождают эффективное разрешение. После этого разрешение должно быть не только вычислено, но и применено к физическим данным. Так появляется полная цепочка:
Объект
→ Отношения
→ Контекст
→ Правила
→ Эффективное разрешение
→ Авторизация
→ Доступ к данным
Особое внимание уделено производным security-моделям, проекциям, согласованности, восстановлению и границе между авторизацией и физическим применением ограничений к данным.
При этом книга не предлагает единственный технологический способ реализации. Одна и та же модель может быть реализована в приложении, отдельном сервисе авторизации, базе данных или их комбинации.
Главная идея книги проста:
Доступ нельзя правильно построить, не понимая отношений, которые существуют вокруг объекта.
Поэтому архитектура безопасности начинается не с таблицы разрешений. Она начинается с понимания самого объекта и контекста, в котором над ним совершается действие.