Ще публикуваме информация за потребителския достъп и сигурността в базата данни на oracle. Тази публикация ще даде добра информация за Създаване на потребител в Oracle, системни привилегии и права на Oracle Object, как да предоставим привилегиите на потребителите, как да покажа всички привилегии от потребител в oracle
Изявление CREATE USER
Използва се за създаване на потребител (схема).
Удостоверяването по подразбиране за нов потребител е базата данни. На потребителя се задава парола и паролата се съхранява криптирана в базата данни. Възможни са два други типа удостоверяване, първият е външно удостоверяване с използване на ниво операционна система. Външното удостоверяване проверява паролата на ниво операционна система.
Другият е глобално удостоверяване, което проверява потребителската парола в услугата за сигурност на Oracle или друга услуга за директории на трета страна.
Присвояване на атрибути –
Можем да променим потребителските атрибути с помощта на ALTER USER. Можем да ги променим или да ги присвоим
Създаване на потребителско изявление с определени атрибути ще бъде
CREATE USER SCOTT IDENTIFIED BY TTOC DEFAULT TABLESPACE USERS QUOTA 10M ON USERS TEMPORARY TABLESPACE temp QUOTA 5M ON system PROFILE application_user PASSWORD EXPIRE
Системни права на Oracle
Тя позволява на грантополучателя да създава, променя, пуска и управлява обекти от база данни. Например, привилегиите за създаване на пространства за таблици и за изтриване на редовете на която и да е таблица в база данни са системни привилегии.
Oracle има повече от 100 системни привилегии (намерени в таблицата SYSTEM_PRIVILEGE_MAP).
Има 2 специални привилегии в база данни на Oracle, наречена SYSDBA и SYSOPER. И двете привилегии позволяват операции с база данни като STARTUP, SHUTDOWN, OPEN, MOUNT, BACKUP, ARCHIVELOG и RECOVER. SYSDBA позволява командата CREATE DATABASE и опциите CHANGE CHARACTER SET.
Системните привилегии се предоставят от администратора на базата данни на потребителите чрез командата grant и се отменят чрез командата revoke
Ако DBA трябва да предостави системни привилегии на някого, така че друг човек също може да го предостави, тогава трябва да се даде с опция за администратор
GRANT create session TO user; GRANT create session TO user with admin option; Revoke create session from user;
Системни права на потребителя
Когато потребителят е създаден, обикновено предоставяме следните системни привилегии
- СЪЗДАВАНЕ НА СЕСИЯ
- СЪЗДАВАНЕ НА ТАБЛИЦА
- СЪЗДАВАНЕ НА ИЗГЛЕД
- СЪЗДАВАНЕ НА ПОСЛЕДОВАТЕЛНОСТ
- СЪЗДАВАНЕ НА ПРОЦЕДУРА
С този потребител може да започне да създава таблицата и други обекти.
Sample
CREATE USER "TEST" IDENTIFIED BY TEST
DEFAULT TABLESPACE "TOOLS"
TEMPORARY TABLESPACE "TEMP";
grant CREATE TRIGGER to TEST;
grant CREATE PROCEDURE to TEST;
grant CREATE SESSION to TEST;
grant CREATE TYPE to TEST;
grant CREATE TABLE to TEST;
grant CREATE VIEW to TEST;
grant ALTER SESSION to TEST;
grant CREATE SEQUENCE to TEST;
grant CREATE SYNONYM to TEST;
grant CREATE ANY SYNONYM to TEST;
grant UNLIMITED TABLESPACE to TEST;
Привилегии на Oracle Object
Те се предоставят на обекти на база данни (като таблица, изглед, процедура и т.н....)
Собственикът има всички привилегии и собственикът може да даде конкретни привилегии върху обектите
Собственикът може да предостави привилегиите, като използва командата по-долу
GRANT privileges ON object TO user;
Привилегиите могат да бъдат избиране, вмъкване, актуализиране, изтриване или ВСИЧКИ
Ако собственикът иска да предостави привилегия на всички потребители
GRANT privileges ON object TO public;
Ако собственикът иска да предостави привилегия на потребителя с опция за предоставяне. По принцип това означава, че получателят може допълнително да възлага тази привилегия на други
GRANT privileges ON object TO user with grant option;
По същия начин имаме командата revoke за премахване на привилегиите от обектите
Какво е ролята на оракул?
Ролята е обект на база данни, използван за налагане на привилегии. На потребител може да бъде присвоена роля, за да зададе привилегии върху обекти на база данни:
GRANT EBS_ADMIN TO SCOTT;
Той ще предостави ролята EBS_ADMIN с всичките й привилегии на потребителя SCOTT.
Създаване и използване на роли
Командата CREATE ROLE [IDENTIFIED BY
Каква е разликата между системните и обектните привилегии?
Таблици и изгледи на речника с данни
Oracle предостави изгледи на речник с данни, за да получите информация за привилегиите
Има три категории изгледи
Проверка на изгледи за привилегии
Полезни заявки за привилегиите
как да проверите привилегиите на потребителя в oracle
col role for a16 col pv for a75 hea 'PRIVILEGE OR ROLE' break on role on type skip 1 define usercheck = 'SH' select grantee, 'ROL' type, granted_role pv from dba_role_privs where grantee = '&usercheck' union select grantee, 'PRV' type, privilege pv from dba_sys_privs where grantee = '&usercheck' union select grantee, 'OBJ' type, max(decode(privilege,'WRITE','WRITE,'))||max(decode(privilege,'READ','READ'))|| max(decode(privilege,'EXECUTE','EXECUTE'))||max(decode (privilege,'SELECT','SELECT'))|| max(decode(privilege,'DELETE',',DELETE'))||max(decode (privilege,'UPDATE',',UPDATE'))|| max(decode(privilege,'INSERT',',INSERT'))||' ON '||object_type||' "'||a.owner||'.'||table_name||'"' pv from dba_tab_privs a, dba_objects b where a.owner=b.owner and a.table_name = b.object_name and a.grantee='&usercheck' group by a.owner,table_name,object_type,grantee union select username grantee, '---' type, 'empty user ---' pv from dba_users where not username in (select distinct grantee from dba_role_privs) and not username in (select distinct grantee from dba_sys_privs) and not username in (select distinct grantee from dba_tab_privs) and username like '%&usercheck%' group by username order by grantee, type, pv;
Определете системните привилегии, дадени на потребителя
SELECT GRANTEE, PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'USER';
Проверка кои привилегии за таблица са предоставени от вас на други потребители.
SELECT * FROM USER_TAB_PRIVS_MADE
Проверка кои привилегии за таблица са ви предоставени от други потребители
SELECT * FROM USER_TAB_PRIVS_RECD;
Проверка кои привилегии на ниво колона са предоставени от вас на други потребители.
SELECT * FROM USER_COL_PRIVS_MADE;
Проверка кои привилегии на ниво колона са ви предоставени от други потребители
SELECT * FROM USER_COL_PRIVS_RECD;
Проверка кои привилегии са предоставени на ролите
SELECT * FROM USER_ROLE_PRIVS;
Как да предоставяте и отменяте привилегии в Oracle
Objects grant/revoke from user grant select on dept to public; revoke select on dept from public; Objects grant/revoke from Role grant delete on dept to dept_role; revoke update on dept from dept_role;
Сродни връзки
Управление на потребителски привилегии и роли:Документация на Oracle за допълнителна справка
Изгледи на Oracle:Пълно ръководство за това как да създадете изглед на oracle, да премахнете изгледите на oracle, да промените изгледите на oracle, как да определите заявката на вече създадения изглед
създайте таблица в Oracle :Таблиците са основната единица за съхранение на данни в базата данни на Oracle. ние разглеждаме как да използваме командата за създаване на таблица на Oracle за създаване на таблица с външен ключ /първичен ключ
Последователности в oracle :Какво е последователност в oracle, описание на всички опции, как да ги създадете, Oracle 12c нова функция на последователности , Как да ги премахнете и промените
създайте потребител в oracle 12c :Разберете как да създадете общ потребител в oracle 12c, да създадете общи и локални потребители, да създадете обща роля и локална роля и как да ги управлявате
Надяваме се да ви хареса публикацията. Моля, предоставете обратната връзка
Препоръчани курсове
Ето хубавия курс на Udemy за Oracle SQL
Oracle-Sql-Step-by-step :Този курс обхваща основния sql, присъединяването, Създаването на таблици и промяната на структурата им, Създаване на изглед, Обединение, Обединение - всичко и много други неща . Страхотен курс и задължителен курс за SQL начинаещи
Пълният курс за сертифициране на Oracle SQL :Това е добър курс за всеки, който иска да бъде готов за работа за SQL разработчици. Приятно обяснен курс
Oracle SQL Developer:Основни неща, съвети и трикове :Инструментът за разработчици на Oracle Sql се използва от много разработчици. Този курс ни дава трикове и уроци как да го използваме ефективно и да станем продуктивен sql разработчик
Мастърклас за настройка на производителността на Oracle 2020 г. :Настройката на производителността е едно от критичните и най-търсените умения. Това е добър курс, за да научите за него и да започнете да правите настройка на производителността на sql