Теория утверждает, что для обеспечения безопасности "выдайте пользователям базы данных минимальный набор прав, необходимый для штатной работы".
На практике же зачастую разработчики и администраторы заказчика не хотят заниматься этой кропотливой работой и я, например, встречал промышленные системы, в которых обычные пользователи имеют права DBA.
И проблема тут не столько в легальных пользователях (их-то иногда можно считать доверенными или под тотальным контролем), а в том, что в случае утечки учётных данных эти избыточные права достанутся злоумышленнику.
В редакции Oracle Database 12с Enterprise Edition с дополнительной опцией Oracle Database Vault с помощью пакета DBMS_PRIVILEGE_CAPTURE есть возможность в автоматическом режиме собрать статистику о том какие права доступа реально используются при штатной работе, а какие избыточны.
На основании этой статистики легко написать скрипт для модификации существующих прав доступа для пользователей.
SQL> SELECT 'revoke '||OBJ_PRIV||' on'||OBJECT_OWNER||'.'||OBJECT_NAME||' from'||USERNAME||';' FROM DBA_UNUSED_PRIVS;
Комментариев нет:
Отправить комментарий