Добрый день.
Есть сервер. На нем стоит SQL server 2012.
Пользователи получают с него данные посредством SQL-запросов. Запросы могут быть любые, поскольку клиентское ПО с открытым кодом. Пользователи к базе подключаются каждый под своим логином и паролем. Вопрос: можно ли пользователю ограничить доступ к данным на уровне записей? Например, если он обращается с выборкой ко всей таблице, а вернуть ему не всю таблицу, а только строки, отобранные по некоему условию?
(2) Пусть хоть открытый код, хоть закрытый. Если пользователь не видит таблицу, а видит представление, которое ведёт себя как таблица, но возвращает ограниченные данные, то этот пользователь может придумывать любые запросы - они не помогут ему получить недоступные данные.
Но, конечно, если пользователь обладает неограниченными полномочиями на сервере, то "от админа защиты нет".
(0) доступ сторонних программ на выборку непосредственно к таблицам не есть хорошо... в лучших домах Парижу делают нужные view
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший