GRANT Словник по FireBird
Інструменти користувача
Інструменти сайту
Бічна панель
Статті та питання, що часто ставляться
Встановлення та налаштування
Обробка помилок
Корисні запити SQL
Тематичні групи
Зміст
Версії сервера
Firebird v0.9 Firebird v1.0 Firebird v1.5 Firebird v2.0
Оператор GRANT надає один або кілька привілеїв для об'єктів бази даних користувачам, ролям, процедурам, тригерам і уявленням, що зберігаються.
Авторизований користувач не має жодних привілеїв доти, доки якісь права не будуть надані йому явно. При створенні об'єкта тільки його творець та SYSDBA має привілеї на нього і може призначати привілеї іншим користувачам, ролям чи об'єктам.
Для таблиць існують такі привілеї:
Для виконання процедур, що зберігаються, існує окремий привілей EXECUTE. Вона дозволяє виконувати процедури, що зберігаються, і робити вибірку даних з процедур вибору (за допомогою оператора SELECT).
У пропозиції TO вказується список користувачів, ролей та об'єктів бази даних (процедур, тригерів та уявлень) для яких будуть видані перелічені привілеї. Необов'язкові пропозиції USER та ROLE дозволяють уточнити, кому саме видається привілей. Якщо ключове слово USER або ROLE не вказано, сервер перевіряє, чи існує роль з даним ім'ям, якщо такої не існує, то привілеї призначаються користувачеві. Існування користувача, якому видаються права, не перевіряються під час виконання оператора GRANT. Якщо привілей видається об'єкту бази даних, необхідно обов'язково вказувати тип об'єкта.
Примітка: Незважаючи на те, що ключові слова USER та ROLE не є обов'язковими, бажановикористовувати їх, щоб уникнути плутанини.
У SQL існує спеціальний користувач PUBLIC, який представляє всіх користувачів. Якщо якась операція дозволена користувачеві PUBLIC, то будь-який автентифікований користувач може виконати цю операцію над вказаним об'єктом.
Зауваження: Якщо привілеї призначені користувачеві PUBLIC, то вони мають бути відкликані у користувача PUBLIC.
Необов'язкова пропозиція WITH GRANT OPTION дозволяє користувачам, зазначеним у списку користувачів, передавати іншим користувачам привілеї, зазначені у списку привілеїв.
Інше призначення оператора GRANT полягає у призначенні ролей для групи перерахованих користувачів. У цьому випадку після пропозиції GRANT слідує список ролей, які будуть призначені списку користувачів, вказаному після пропозиції TO.
Необов'язкова пропозиція WITH ADMIN OPTION дозволяє користувачам, зазначеним у списку користувачів, призначати ролі зі списку ролей, вказаних у списку ролей іншим користувачам.
При наданні прав у базі даних як особа, яка надала ці права, зазвичай записується поточний користувач. Використовуючи пропозицію GRANTED BY, можна надавати права від імені іншого користувача. При використанні оператора REVOKE після GRANTED BY права будуть видалені лише в тому випадку, якщо вони були зареєстровані від користувача, що видаляє. Для полегшення міграції з інших реляційних СУБД нестандартна пропозиція AS підтримується як синонім оператора GRANTED BY.
Пропозиція GRANTED BY може використовувати:
Навіть власник ролі не може використовувати GRANTED BY, якщо він не знаходиться у вищезгаданому списку.