MS Sql Server на основе таблицы авторизации пользователей - PullRequest
1 голос
/ 12 октября 2010

Я хочу ограничить некоторых пользователей MS Sql Server.Например, один пользователь должен иметь возможность видеть 2 столбца таблицы «Клиенты» и никого другого.И этот пользователь не должен иметь возможности создавать какие-либо манипуляционные запросы.Но один пользователь должен иметь возможность делать все для всех таблиц и всех столбцов.Как мне это сделать?

BR,

Çağın

Ответы [ 3 ]

3 голосов
/ 12 октября 2010

Создайте представление, которое выбирает только два столбца, о которых идет речь. Затем удалите гранты select, update и insert из исходной таблицы и предоставьте пользователю select только в новом представлении.

2 голосов
/ 12 октября 2010

Я нахожу способ, подобный этому:

  • Перейдите на вкладку защищаемых данных от имени пользователя в безопасности базы данных.
  • Нажмите кнопку поиска и выберите тип объекта.(Мне нужны только таблицы)
  • Нажмите кнопку «Обзор», выберите таблицы и нажмите «ОК»
  • Выберите «Явный» и нажмите «Разрешения столбцов»
  • Выберите «Столбцы» и нажмите кнопку «ОК»

это работает для моей ситуации.

0 голосов
/ 12 октября 2010

Используйте роль для чтения данных , чтобы ограничить доступ для записи, и используйте представление, чтобы скрыть столбцы. Удалите право выбора на таблице, чтобы запретить запрос непосредственно к ней.

...