У тебя есть функционал в приложении, ты можешь просто внутри него запретить делать что-то, например запретить использовать какую либо сущность. Хранить нужно будет таблицу с группами и таблицу с правами доступа, грубо говоря 1 строка в таблице прав содержит внешний ключ на таблицу с группой и допустим ещё 2 столбца булевый allow/deny и объект либо сущность. Теперь при доступе к объекту у тебя будет проверка принадлежности юзера к группе или группам join по ключам с таблицей прав с фильтром по названию объекта, с сортировкой по deny чтобы было вверху, и читаешь сверху, нашёл deny - значит запрет, нашёл allow - разрешить, ничего не нашёл - запрет.