4урок по oracle sql, пользователи, роли, привилегии
Продолжаем знакомство с возможностями запросов в ORACLE, это четвертый урок.
--Работа с пользователями, ролями и привилегиями
--Создание пользователей с аутентификацией по паролю
CREATE USER CU_1 IDENTIFIED BY cupass;
--Изменение пароля
ALTER USER CU_1 IDENTIFIED BY new_cupass;
--Предоставление привилегий
--Создавать сессию с сервером
GRANT CREATE SESSION TO CU_1;
--Можно так
grant connect to CU_1;
--Создание основных лбъектов базы данных
GRANT
CREATE TABLE,
CREATE PROCEDURE,
CREATE TRIGGER,
CREATE VIEW,
CREATE SEQUENCE
TO CU_1;
--Предоставление права создавать базовые таблицы
grant resource to CU_1;
--Предоставление табличного пространства по умолчанию
alter user CU_1 default tablespace users;
--Права на ALTER(изменение объектов)
GRANT ALTER ANY TABLE TO CU_1;
GRANT ALTER ANY PROCEDURE TO CU_1;
GRANT ALTER ANY TRIGGER TO CU_1;
GRANT ALTER PROFILE TO CU_1; --Права на удаление объектов и записей
GRANT DELETE ANY TABLE TO CU_1;
GRANT DROP ANY TABLE TO CU_1;
GRANT DROP ANY PROCEDURE TO CU_1;
GRANT DROP ANY TRIGGER TO CU_1;
GRANT DROP ANY VIEW TO CU_1;
GRANT DROP PROFILE TO CU_1;
--Создание ролей
CREATE ROLE cu_role; --ПРедоставление привилегий роли
GRANT
CREATE TABLE,
CREATE PROCEDURE,
CREATE TRIGGER,
CREATE VIEW,
CREATE SEQUENCE
TO cu_role; --Связь роли с пользователем
GRANT cu_role TO CU_1;
--Предоставление объектных привилегий
--На оператор SELECT для пользователя и роли
GRANT SELECT ON HR.EMPLOYEES TO CU_1, cu_role; --На оператор UPDATE к определенным столбцам
GRANT UPDATE(FIRST_NAME, LAST_NAME) ON HR.EMPLOYEES TO CU_1, cu_role; --На INSERT с возможностью пользователя передавать другим эту привилегию
GRANT INSERT ON HR.EMPLOYEES TO CU_1 WITH GRANT OPTION; --Для всех пользователей на чтение
GRANT SELECT ON HR.EMPLOYEES TO PUBLIC;
--Системные привилегии для ролей
SELECT * FROM ROLE_SYS_PRIVS; --Привилегии на таблицы для ролей
SELECT * FROM ROLE_TAB_PRIVS; --Роли, доступные пользователю
SELECT * FROM USER_ROLE_PRIVS; --Объектные привилегии доступные пользователю
SELECT * FROM USER_TAB_PRIVS_RECD;
--Отмена привилегий
REVOKE CREATE VIEW FROM CU_1;
REVOKE INSERT ON HR.EMPLOYEES FROM CU_1;
--Удаление роли
DROP ROLE cu_role;
--Удаление пользователя
DROP USER CU_1;
--Роли, доступные определенному пользователю
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'CU_1';
--Отнять роль у пользователя
REVOKE CU_ROLE FROM CU_1;
На этом - все, видео можно посмотреть на моем канале в YouTube
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!