Продолжаем ранее начатое рассмотрение Securich.
Я думаю, что повседневная работа любого администратора БД очень плотно связана с настройкой и выделением прав/привилегий пользователям и системным объектам самой БД. С другой стороны — это один из самых ответственных участков работы, ошибки в котором, особенно в условиях интенсивного совместного использования сервера между множеством пользователей и в открытой сетевой среде, может приводить к его компрометации и утечке хранимых на нем данных.
В связи с этим, концепции групп и ролей могут значительно упростить и стандартизировать раздачу привилегий. Первоначально реализацию ролей разработчики MySQL обещали в
Что же делать в ситуации, когда эти возможности остро нужны уже здесь и сейчас?
Расширенное управление аккаунтами MySQL — только один аспект возможностей Securich, сейчас мы рассмотрим его возможности по созданию ролей и контролю над правами пользователей БД, для чего сначала приведем список всех команд, ответственных за это:
securich
и mysql
;grant_privileges_reverse_reconciliation
() для принудительной синхронизации всех данных по привилегиям между таблицами mysql
и securich
(вторая команда — выполняет такую же синхронизацию, но в обратном направлении);sec_cоnfig
:Показать исчерпывающие примеры использования всех упомянутых команд в короткой обзорной статье просто нереально, поэтому приведу типичный сеанс работы с использованием некоторых упомянутых выше команд, чтобы составить общее впечатление о Securich:
<code>$ mysql -u savgor -p -h 127.0.0.1 -P 3306 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | securich | +--------------------+ mysql> use securich; Database changed mysql> call my_privileges('test'); +-----------+ | PRIVILEGE | +-----------+ | DELETE | | INSERT | | SELECT | | UPDATE | +-----------+ mysql> call create_update_role('add','role1','insert'); mysql> call revoke_privileges('peter' , 'localhost' , 'test' , '' , '' , 'role1' , 'Y'); mysql> call sеt_pаssword('paul' , '10.0.0.2' , '2f791928c4ef44ddd7c', 'password123');
Для получения оперативной справки по Securich, прямо в консоли mysql нужно вызвать команду help
, в качестве аргумента передав ей имя процедуры из арсенала Securich. Их общий список и примеры использования доступны в подробной online-документации, как дополнение в файле securich.pdf
(включаемый в комплект поставки Securich) предоставляется схема отношений всех служебных таблиц комплекса.
В заключении приведу ещё одну приятную особенность Securich — наличие собственного графического фронтенда — SAM-My. Его web-интерфейс позволяет управлять политиками MySQL, даже не вникая в особенности богатого командного арсенала Securich, что также придется по душе определенной категории администраторов БД.
~
Читать этот материал дальше. Оглавление и начало этой серии статей — здесь.