Контролировать доступ к определенным столбцам таблицы? - PullRequest
1 голос
/ 13 сентября 2011

Можно ли контролировать доступ к определенному столбцу таблицы и разрешать доступ только к определенному столбцу на сервере MS-SQL?Если да, то как?Если нет Есть ли альтернатива?

Ответы [ 3 ]

2 голосов
/ 13 сентября 2011

IMO, правильный способ сделать это - использовать представления и защищать вид для людей, которые могут получить к нему доступ.

См. Здесь Ода Код для лучшего примера.

скажем, у вас есть таблица (the_table) с тремя столбцами (a, b и c), вы можете создать представление, содержащее только столбцы, которые вам нужны

create view show_colc_view 
as 
  select c from  the_table

Затем вы можете защитить людей, имеющих привилегию CRUD, как для таблицы, так и для представления.

чтобы заинтересованные люди могли сделать это:

select * from  show_colc_view

но не

select * from  the_table
1 голос
/ 13 сентября 2011

SQL Server фактически поддерживает разрешения на уровне столбцов.

См. эту статью , чтобы узнать, как их применять через пользовательский интерфейс SSMS.

0 голосов
/ 13 сентября 2011

Создайте представление с разрешенными столбцами и предоставьте пользователю доступ только к представлению.

table columns: a, b, c, d, e, f

CREATE VIEW allowed as SELECT a,b,c FROM table;
GRANT SELECT ON allowed to <user>;

, тогда пользователь должен запросить представление, а не таблицу:

SELECT * from allowed;

и они будут видеть только столбцы a, b и c (не d, e или f)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...