Делимся последними новостями о СУБД SoQoL

Право имею или...

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

Для подключения и работы необходимо предоставить пользователю права, позволяющие выполнять требуемые действия.

В SoQoL реализованы предустановленные:
  1. Системные привилегии, которые относятся к управлению самой БД. Такие привилегии дают право, например, на подключение к БД, управление пользователями и ролями и т.д.
  2. Объектные привилегии позволяют проводить манипуляции с данными конкретного объекта.
  3. Роль PUBLIC, которая изначально пуста и предоставляется всем пользователям БД.
  4. Системные роли, включающие в себя те или иные системные привилегии.

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

Изменять предустановленные привилегии и роли нельзя (кроме PUBLIC). При этом можно:
  • создавать новые роли;
  • наполнять их нужным набором привилегий;
  • представлять роли пользователям БД или другим ролям.

Например, для разграничения доступа сотрудников разных должностей можно для каждой должности создать отдельную роль, включающую в себя отличный друг от друга набор привилегий:

create role "Младший_менеджер";
create role "Старший_менеджер";

Для должности "Младший_менеджер", например, должно быть допустимо только добавлять данные в таблицу "Продажи" и выполнять выборку данных из неё. Поэтому предоставляем ему эти привилегии:

grant INSERT, SELECT on "Продажи" to " Младший_менеджер";

При необходимости набор привилегий в каждой роли можно изменить: добавить новые привилегии / роли или отозвать ранее предоставленные.

Создавать, удалять, предоставлять привилегии и роли может только пользователь с привилегией администратора. И в каждой базе данных СУБД SoQoL автоматически создаёт пользователя с такой привилегией.

Но текущая реализация ролей и привилегий – это лишь одна из первых ступенек к качественному обеспечению безопасности. В будущем планируется расширение перечня привилегий и ролей, а также реализация мандатного доступа. И эта реализация будет осуществляться в соответствии с регламентирующими документами ФСТЭК в том числе.

Скажите, наличие каких привилегий для вас наиболее важно? Пользовался ли кто-то из вас при разработке приложений разграничениями мандатного доступа? С какими проблемами при этом сталкивались?

Обсудить в телеграм!