Оператор GRANT використовується для призначення дозволів на виконання операцій з об'єктом бази даних певного користувача або групи користувачів. Кілька спрощений синтаксис цього оператора виглядає наступним чином:
GRANT {дозволу}
[ON {} таблиця]
TO {користувач}
як дозволу можна вказувати як оператори мови визначення даних, так і мови маніпулювання даними. Якщо потрібно надати всі допустимі дозволу, слід скористатися дозволом ALL. Можна визначити дозволу як для всієї таблиці, так і для її окремих полів (тільки дозволу SELECT та UPDATE). Для вказівки дозволів для окремих полів використовується наступний синтаксис:
GRANT SELECT({поле1}, {поле2},...), UPDATE({поле1}, {поле2},...)
ON {} таблиця
TO {користувач}
Управління дозволами значно спрощується з використанням ролей. Переваги використання ролей полягає в наступному:
- спрощується робота з надання дозволів;
- спрощується механізм зміни дозволів;
- підвищується продуктивність системи за рахунок скорочення кількості перевірок окремих дозволів.
Рекомендується на етапі формування політики безпеки розподілити всіх користувачів по групах з однаковими правами доступу до даних і для кожної групи визначити свою роль.