Завдання тут полягає в тому, що доступ до вашої бази даних управляється абстракцією. Замість того, щоб користувачі з'єднувалися як самі, вони по суті беруть на себе ідентичність якоїсь узагальненої ролі програми. Ви не тільки втрачаєте видимість окремих підключень, але і втрачаєте деталізацію визначення різних типів доступу для всіх ваших окремих користувачів.
Основна причина використання цього підходу - простота. Багато додатків розроблені так, що користувач програми не матиме знання про базу даних. Їм вони справді не потрібні, особливо якщо програма керує власною внутрішньою безпекою. Більшість окремих користувачів ніколи не підключаться безпосередньо до бази даних, тому визначати чіткий логін для них не потрібно.
Єдиний час, коли вам слід подумати про те, щоб дозволити базі даних керувати вашою безпекою, це якщо у вас є користувачі, які підключаться безпосередньо до вашої бази даних. Це означає, що вони обходять вашу заявку, і вона більше не може застосовувати безпеку. Перевага тут полягає в тому, що ви можете бути більш детальними щодо визначення своєї безпеки. Недоліком є більший обсяг витрат на керування користувачами та їх дозволами.
Якщо ви відчуваєте потребу в такому доступі, вам потрібно скористатися контролем доступу на основі ролей . Ви повинні визначити ролі, виходячи з того, які дозволи потрібні у вашій базі даних, а потім групувати окремих користувачів за цими ролями. Це дає вам кращий аудит та контроль над вашою моделлю безпеки, яка може швидко вийти з-під контролю при керуванні прямим доступом.
Для цього існує гібридний підхід. Якщо ви хочете, щоб ваша безпека була частково керованою базою даних, ви можете створити декілька користувачів додатків, кожен визначається їх роллю та надавати доступ явно тим користувачам, виходячи з ролі, яку вони виконують. Це означає, що ви можете використовувати двигун бази даних для деякої моделі безпеки, але все одно потрібно мати деяке управління всередині програми. Це збільшує складність моделі користувача програми, але надає більш точну деталізацію для різних вхідних даних.