Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8863
Приветствую!

Подскажите, пожалуйста, как "скрыть" в результате select для определённых пользователей БД строки по определённому условию.
Сделать представления, процедуры, переписать код клиентской части не представляется возможным. Хочется сделать на уровне GRANT|REVOKE|DENY таблиц БД.

Спасибо за любые ответы...

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)

Т.е. это не MS SQL - 2014 и не 2016 ....
--------------------------
No ROM Basic...
25 фев 17, 14:38    [20243050]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
могут ли помочь синонимы?
25 фев 17, 15:03    [20243084]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53473
SIMPLicity_
Сделать представления, процедуры, переписать код клиентской части не представляется возможным.

Использование представлений как раз не требует переписывания клиентской части. Просто переименовываешь исходную таблицу и создаёшь вьюху с её именем и любыми условиями какие в голову взбредут.
25 фев 17, 15:07    [20243091]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5114
SIMPLicity_
"скрыть" в результате select для определённых пользователей БД строки по определённому условию.
строки из одной таблицы или из разных?
25 фев 17, 15:44    [20243142]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8863
Дедушка
SIMPLicity_
"скрыть" в результате select для определённых пользователей БД строки по определённому условию.
строки из одной таблицы или из разных?


Из одной.

PS Вьюхи нельзя так как иногда приложение исторгает что-то типа .... object_id('TramPamPam','U') .... А тут вдруг TramPamPam стала View .... Я там ваще нивдугу как некоторые вещи работают - аффтар (точнее - модификатор) был аццкий чувак, но игромания и алкоголизм его сгубили ... Теперь он, похоже, овощ на диванной грядке
25 фев 17, 16:52    [20243257]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
invm
Member

Откуда: Москва
Сообщений: 9785
SIMPLicity_
Хочется сделать на уровне GRANT|REVOKE|DENY таблиц БД.
Невозможно.
Row Level Security на уровне таблиц можно применять начиная с SQL Server 2016.
25 фев 17, 17:52    [20243324]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
SIMPLicity_
Дедушка
пропущено...
строки из одной таблицы или из разных?


Из одной.

PS Вьюхи нельзя так как иногда приложение исторгает что-то типа .... object_id('TramPamPam','U') .... А тут вдруг TramPamPam стала View .... Я там ваще нивдугу как некоторые вещи работают - аффтар (точнее - модификатор) был аццкий чувак, но игромания и алкоголизм его сгубили ... Теперь он, похоже, овощ на диванной грядке
Рекомендую оплатить лечение от алкоголизма аццкого чувака. Это быстрее и дешевле, чем найти решение задачи при таких ограничениях.
25 фев 17, 18:08    [20243348]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5114
SIMPLicity_
Я там ваще нивдугу как некоторые вещи работают - аффтар (точнее - модификатор) был аццкий чувак
ну, собственно,
а) вы не в курсе что и как работает в вашей системе
б) вместо стандартных решений вы завязались на коленочное поделие некого "модификатора"

- малой кровью решение не возможно (взять за помидоры "модификатора" вам уже посоветовали),
- чисто теоретически можно придумать архитектуру которая будет решать вашу проблему, но это будет не дёшево и из разряда "жрать кактус"
25 фев 17, 18:22    [20243363]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8863
invm
SIMPLicity_
Хочется сделать на уровне GRANT|REVOKE|DENY таблиц БД.
Невозможно.
Row Level Security на уровне таблиц можно применять начиная с SQL Server 2016.


Уже с 2014, по-моему. Но по факту для меня это монопенисуально (сиречь - недоступно - что 2014, что 2016).

Спасибо всем! После отпуска подумаю как решить...
27 фев 17, 01:46    [20245607]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL - 2008 R2 - Безопасность строк без переписвывания кода. Как?  [new]
aleksrov
Member

Откуда:
Сообщений: 948
SIMPLicity_,

В 2016 появилась еще такая штука как Dynamic Data Masking
http://olontsev.ru/2016/04/sql-server-2016-dynamic-data-masking/
27 фев 17, 06:12    [20245648]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить