Мар 072012
 

Роль DBA предоставляет пользователю все системные привилегии с опцией WITH ADMIN OPTION. Давать эту роль кому попало - не очень хорошо с точки зрения безопасности, да и ORACLE грозится в будущих релизах от неё отказаться. В документации к 11-й версии роль DBA описана как устаревшая.
Вместо неё предлагается создавать свои роли, "заточенные" под конкретные задачи.
Пусть нам надо создать пользователя, который будет создавать схемы и больше ничего. Сначала посмотрим, что может делать DBA:

SELECT * 
FROM dba_sys_privs d
	WHERE d.grantee='DBA'
	ORDER BY d.privilege;

Видим, что нужно дать привилегии CREATE USER и CREATE SESSION. Дадим:

CREATE USER schema_mgr IDENTIFIED BY "passwd";
-- Разрешим создавать пользователей
GRANT CREATE USER TO schema_mgr;
-- Разрешим ему подключаться и дадим ему право разрешать
-- подключаться вновь создаваемым пользователям
GRANT CREATE SESSION TO schema_mgr WITH ADMIN OPTION;

Теперь он только и может, что создавать схемы. Ничего лишнего.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(обязательно)

(обязательно)