Основы Oracle 18c - 19c часть 8 - права доступа, роли, учетные записи
Основы Oracle 18c - 19c часть 8 - права доступа, роли, учетные записи
В данной статье рассмотрим права доступа, роли, учетные записи в Oracle
В некоторых примерах используется ранее созданная таблица test_regexp
Права в Oracle назначаются командой GRANT, отнимаются командой REVOKE
Изначально существуют аккаунты администраторов SYS и SYSTEM
Системные права
Часть из них влияет на действия c данными (создание таблиц, пользователей и т.п.)
Часть из них влияет на БД (табличные пространства, параметры БД, создание сессий)
Приведем наиболее часто используемые:
CREATE SESSION – право подключения к БД
ALTER DATABASE – право изменения БД
CREATE TABLESPACE – право создавать табличное пространтсво
ALTER TABLESPACE – право изменять табличное пространтсво
DROP TABLESPACE – право удалять табличное пространтсво
CREATE TABLE – право создавать, изменять, удалять таблицы в своей схеме
INSERT ANYTABLE – право добавлять данные в таблиц, которые не принадлежат учетной записи
UPDATE ANYTABLE – право изменять данные в таблиц, которые не принадлежат учетной записи
DELETE ANYTABLE – право удалять данные в таблиц, которые не принадлежат учетной записи
SELECT ANYTABLE – право выборки данных из таблиц, которые не принадлежат учетной записи
Синтаксис назначения прав: GRANT privilege [,privilege…] TO User_Name;
Пример создания учетной записи (схемы) User_Name
С паролем User_Pass
Разрешаем занимаемое пространство в 10мб. от пространства по умолчанию USERS
CREATE USER User_Name IDENTIFIED BY User_Pass DEFAULT TABLESPACE USERS QUOTA 10M ON USERS;
Пример, назначение всех основных привилегий для учетной записи: GRANT CREATE SESSION, ALTER SESSION, CREATE TABLE, CREATE VIEW, CREATE TRIGGER, CREATE PROCEDURE, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SYNONYM, CREATE SEQUENCE, CREATE TYPE, CREATE OPERATOR TO User_Name ;
В примере выше разрешено подключаться, настраивать сессию, создавать объекты в БД
Создавать объекты разрешено только в схеме аккаунта
Отсутствуют права к схемам других аккаунтов
Пример предоставления табличного пространства USERS по умолчанию для учетной записи User_Name: ALTER USER User_Name DEFAULT TABLESPACE USERS
Создание ролей, учетных записей, пароля, связь ролей и учетных записей
Предоставление привилегий
Синтаксис: GRANT privilege ON [schema.]object TO username [WITH GRANT OPTION];