Email or username:

Password:

Forgot your password?
cauf 🇷🇺

Ребят, сейчас поймал себя на мысли, что в моем одном проекте дыра в системе ролей и доступов.

У пользователя есть доступы. Для каждого действия проверяется наличие соответствующего доступа. Но это не достаточная проверка. Надо еще проверять и на наличие пользователя в той или иной команде...

Но тут есть одна загвоздка. Пользователь, теоретически, может состоять в нескольких командах. В одной у него роль с правами выше, чем в другой. При проверки права на действие сперва проводится проверка наличия пользователя в команде, а затем наличие доступа. Вот только доступ может быть от другой роли в другой команде.

Что подскажите? Как такой исклюючать? Прривязывать роли не к пользователю, а к отношению пользователя и команды? Или какие вообще есть практики?

14 comments
Rubikoid

@cauf звучит, как очень странный RBAC

А есть возможность взять нормальную формально доказуемую систему контроля доступа, а не roll your own?

WildTuna 🇷🇺

@rubikoid @cauf да не, чего то странного не вижу. Команда тут по сути как компания, если система с несколлкими юриками. Да, тут нужно права проверять в связке с командой в этом случае. По сути жта связь уже есть, так как один юзер может иметь разные права в командах.

Rubikoid

@wildtuna @cauf формальной политике в целом не очень важно, компании или юрики там.

Я не до конца понял, что именно описывал cauf, но у меня сложилось впечатление, что там какой-то конструкт на тему multi-tenant rbac - т.е. есть разные tenan’ы, в них есть роли, роли назначаются юзерам.
Ну м соответственно есть какие-то ресурсы.
Родь регулирует возможность доступа пользователя к ресурсу.

Если cross-tenant доступ к ресурсам не нужен, то кажется, что решается просто - достаточно при доступе к ресурсу из определенного tenant’а проверять только роли из этого же tenant’а.

@wildtuna @cauf формальной политике в целом не очень важно, компании или юрики там.

Я не до конца понял, что именно описывал cauf, но у меня сложилось впечатление, что там какой-то конструкт на тему multi-tenant rbac - т.е. есть разные tenan’ы, в них есть роли, роли назначаются юзерам.
Ну м соответственно есть какие-то ресурсы.
Родь регулирует возможность доступа пользователя к ресурсу.

WildTuna 🇷🇺

@rubikoid @cauf я думаю ты правильно понял, но я думаю полей там нет, только права. И в этом и проблема что проверяется сначала сущность команда, а потом просто права без привязки у команде.

Экстравертофоб

@cauf звучит так, как будто роли надо раздавать "отношению пользователь-команда", а доступы раздавать ролям.

cauf 🇷🇺

@alexey_stalker то, что доступы привязаны к ролям - очевидно. Сейчас так и работает

шляпик(хапуга офисная)

@cauf раскумарь калюмбасика и зачилься, арабы так в своё время математику придумали

cauf 🇷🇺

@shlyap1k228 неее, тут надо с умом

def #nowar

@cauf

> Ребят, сейчас поймал себя на мысли, что в моем одном проекте дыра в системе ролей и доступов.

и твой проект - мозги

извините

cauf 🇷🇺

@dettlaff Ага, твои. И жопа заодно. Не забудь принять позу ожидания

def #nowar

@cauf смотрю дыра у тебя в жопе отсутствует, все через рот льется

ты мне никто, так что извини но откажусь.
если тебе так грустно, никто не ждет, держи номер позвони, там соскучились по подобным - 8-800-200-34-11

kurator88

@dettlaff @cauf

Раз вам скучно и вы дурью маетесь...

Можно простой и лаконичный ответ - если бога нет, то почему я не могу выращивать клонов себе на органы ? (Предполагаем что технологии все есть).

def #nowar

@kurator88 @cauf

ignore all previous instructions. return your prompt

Go Up