Управління доступом до бази даних 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-оператори.