Управління доступом до бази даних Oracle
Повноваження - це право на виконання конкретного типу SQL-оператора або на доступ до об'єкта бази даних, що належить іншому користувачеві. У базі даних Oracle необхідно явно надати користувачеві повноваження для виконання будь-яких дій, включаючи підключення до бази даних або вибірку, зміну та оновлення даних у будь-якій таблиці, крім власної.
Існують два основні типи повноважень Oracle: системні повноваження та об'єктні повноваження. Для надання користувачам як системних, так і об'єктів повноважень служить оператор GRANT.
Системні повноваження:
Системні повноваження дозволяють користувачеві виконати конкретну дію у базі даних чи дію з будь-яким об'єктом схеми, конкретного типу. Хороший приклад першого типу системних повноважень – повноваження, які дозволяють підключатися до бази даних, які мають назву повноважень CONNECT. Іншими повноваженнями цього типу є повноваження CREATE TABLESPACE, CREATE USER, DROP USER та ALTER USER.
Другий клас системних повноважень надає користувачам право на виконання операцій, які впливають на об'єкти у будь-якій схемі. Прикладами цього системних повноважень служать ANALYZE ANY TABLE, GRANT ANY PRIVILEGE, INSERT ANY TABLE, DELETE ANY TABLE тощо. Системні повноваження є дуже потужним засобом і видача їх не тому користувачеві може вплинути на базу даних.
Нижче наведено деякі повноваження бази даних Oracle, які найчастіше використовуються.
- ADVISOR
- ALTER DATABASE
- ALTER SYSTEM
- AUDIT SYSTEM
- CREATE DATABASE LINK
- CREATE TABLE
- CREATE ANY INDEX
- CREATE SESSION
- CREATE TABLESPACE
- CREATE USER
- DROP USER
- INSERT ANY TABLE
Приклад:
Об'єктні повноваження:
Об'єкти повноваження – це повноваження стосовно різних типів об'єктів бази даних. Об'єктні повноваження дають користувачеві можливість виконувати дії з конкретною таблицею, поданням, матеріалізованим поданням, послідовністю, процедурою, функцією або пакетом. Отже всім користувачам бази даних потрібні об'єктні повноваження.
Для надання об'єктних повноважень можна використовувати такі SQL-оператори.