RBAC без боли: 58 атомарных прав в стройке
В PDP собрали RBAC, который не разваливается на новых сценариях: 58 атомарных прав, object-level access и мультироли, чтобы доступы в проде не превращались в permission spaghetti.

В PDP мы собрали RBAC, который не разваливается при первом же “а можно ему ещё вот это?”. Основа — {entity}_{can_view|can_create|can_edit|can_delete}, всего 58 атомарных разрешений.
Но главный челлендж был не в количестве, а в object-level access: пользователь видит только те дома и помещения, к которым реально привязан. Иначе начинается классика — прораб внезапно смотрит сделки, а менеджер по продажам лезет в замечания инспекторов. Не ок.
Самое весёлое — мультироли. В реальной жизни один и тот же человек может быть инспектором, ответственным за замечание и наблюдателем одновременно. Тут уже “одна роль = один доступ” не катит, нужен аккуратный расчёт пересечений прав.
Короче, сделали систему, которая ближе к реальной стройке, чем к учебнику по IAM. На фоне тренда на fine-grained access control — прям мастхэв, если не хотите ловить permission spaghetti в проде.