Никто не будет спорить с тем, как важно понимать и разграничивать права доступа для обеспечения безопасности в базах данных. И для работы с БД недостаточно просто создать пользователя и дать ему пароль.
Для подключения и работы необходимо предоставить пользователю права, позволяющие выполнять требуемые действия.
В SoQoL реализованы предустановленные:
Предустановленных пока четыре роли, но они позволяют крупными блоками разграничить возможности их обладателей.
Изменять предустановленные привилегии и роли нельзя (кроме PUBLIC). При этом можно:
Например, для разграничения доступа сотрудников разных должностей можно для каждой должности создать отдельную роль, включающую в себя отличный друг от друга набор привилегий:
create role "Младший_менеджер";
create role "Старший_менеджер";
Для должности "Младший_менеджер", например, должно быть допустимо только добавлять данные в таблицу "Продажи" и выполнять выборку данных из неё. Поэтому предоставляем ему эти привилегии:
grant INSERT, SELECT on "Продажи" to " Младший_менеджер";
При необходимости набор привилегий в каждой роли можно изменить: добавить новые привилегии / роли или отозвать ранее предоставленные.
Создавать, удалять, предоставлять привилегии и роли может только пользователь с привилегией администратора. И в каждой базе данных СУБД SoQoL автоматически создаёт пользователя с такой привилегией.
Но текущая реализация ролей и привилегий – это лишь одна из первых ступенек к качественному обеспечению безопасности. В будущем планируется расширение перечня привилегий и ролей, а также реализация мандатного доступа. И эта реализация будет осуществляться в соответствии с регламентирующими документами ФСТЭК в том числе.
Скажите, наличие каких привилегий для вас наиболее важно? Пользовался ли кто-то из вас при разработке приложений разграничениями мандатного доступа? С какими проблемами при этом сталкивались?
Обсудить в телеграм!
Для подключения и работы необходимо предоставить пользователю права, позволяющие выполнять требуемые действия.
В SoQoL реализованы предустановленные:
- Системные привилегии, которые относятся к управлению самой БД. Такие привилегии дают право, например, на подключение к БД, управление пользователями и ролями и т.д.
- Объектные привилегии позволяют проводить манипуляции с данными конкретного объекта.
- Роль PUBLIC, которая изначально пуста и предоставляется всем пользователям БД.
- Системные роли, включающие в себя те или иные системные привилегии.
Предустановленных пока четыре роли, но они позволяют крупными блоками разграничить возможности их обладателей.
Изменять предустановленные привилегии и роли нельзя (кроме PUBLIC). При этом можно:
- создавать новые роли;
- наполнять их нужным набором привилегий;
- представлять роли пользователям БД или другим ролям.
Например, для разграничения доступа сотрудников разных должностей можно для каждой должности создать отдельную роль, включающую в себя отличный друг от друга набор привилегий:
create role "Младший_менеджер";
create role "Старший_менеджер";
Для должности "Младший_менеджер", например, должно быть допустимо только добавлять данные в таблицу "Продажи" и выполнять выборку данных из неё. Поэтому предоставляем ему эти привилегии:
grant INSERT, SELECT on "Продажи" to " Младший_менеджер";
При необходимости набор привилегий в каждой роли можно изменить: добавить новые привилегии / роли или отозвать ранее предоставленные.
Создавать, удалять, предоставлять привилегии и роли может только пользователь с привилегией администратора. И в каждой базе данных СУБД SoQoL автоматически создаёт пользователя с такой привилегией.
Но текущая реализация ролей и привилегий – это лишь одна из первых ступенек к качественному обеспечению безопасности. В будущем планируется расширение перечня привилегий и ролей, а также реализация мандатного доступа. И эта реализация будет осуществляться в соответствии с регламентирующими документами ФСТЭК в том числе.
Скажите, наличие каких привилегий для вас наиболее важно? Пользовался ли кто-то из вас при разработке приложений разграничениями мандатного доступа? С какими проблемами при этом сталкивались?
Обсудить в телеграм!