Если ваше приложение не должно работать с многими разнообразными СУБД, то может лучше переформулировать вопрос на:
"Какая СУБД позволяет ограничивать доступ на чтение-модификацию-удаление в таблицах с точностью до выдачи таких разрешений на уровень отдельных полей таблиц?".
Например, MSSQL (и другие) давно делает это стандартными средствами.
Можете вытаскивать эти данные из служебных таблиц или через встроенные процедуры.
И СУБД, естественно сама контролирует введенные вами же правила.
Если хочется самому реализовывать. То смоделируйте в таблицах и далее нормализуйте:
Пользователи
Группы
Роли (Администратор, Read-only, Guest ...)
Справочник объектов БД (справочник: таблица, хранимая процедура, поле таблицы ...)
Объекты БД ( название таблицы, название поля таблицы со ссылкой на эту же таблицу, параметр хран процедуры...)
Свойства объектов (поля, параметры храним процедур)
Справочник операций над объектами (запуск хран процедур, удаление записи в таблице, модификация ПОЛЯ таблицы ...)
Операции над объектами(к какой роли привязана какая операция из справочника + над каким объектом)
Журнал аудита(Кто, Что, Когда - ссылки на Пользователя, Объект и Операцию + дата).
и т.п.