Имя: Пароль:
IT
 
Ограничение на выборку данных SQL
0 Случайный прохожий
 
21.03.14
14:53
Добрый день.
Есть сервер. На нем стоит SQL server 2012.
Пользователи получают с него данные посредством SQL-запросов. Запросы могут быть любые, поскольку клиентское ПО с открытым кодом. Пользователи к базе подключаются каждый под своим логином и паролем. Вопрос: можно ли пользователю ограничить доступ к данным на уровне записей? Например, если он обращается с выборкой ко всей таблице, а вернуть ему не всю таблицу, а только строки, отобранные по некоему условию?
1 Speshuric
 
21.03.14
15:06
(0) Таблицы заменить на представления с instead триггерами. Таблицы скрыть от всех, кроме владельца БД, права на DDL отобрать.
2 Случайный прохожий
 
21.03.14
15:12
(1) Как я понял штатных средств нет?) У клиентов ПО с открытым кодом, а там SQL-запросы. Не dll.
3 ДенисЧ
 
21.03.14
15:14
(2) Штатное средство - это как раз представления
4 ShoGUN
 
21.03.14
15:14
(2) В (1) описаны штатные средства.
5 Speshuric
 
21.03.14
17:03
(2) Пусть хоть открытый код, хоть закрытый. Если пользователь не видит таблицу, а видит представление, которое ведёт себя как таблица, но возвращает ограниченные данные, то этот пользователь может придумывать любые запросы - они не помогут ему получить недоступные данные.
Но, конечно, если пользователь обладает неограниченными полномочиями на сервере, то "от админа защиты нет".
6 Господин ПЖ
 
21.03.14
17:24
(0) доступ сторонних программ на выборку непосредственно к таблицам не есть хорошо... в лучших домах Парижу делают нужные view