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

Откуда:
Сообщений: 63
Все операции с базой данных производятся через хранимые процедуры, изменение структуры БД через клиент не намечается. Как лучше всего (в плане безопасности и быстродействия) распределить роли? Я совсем недавно начал работать с MsSQL и поэтому не совсем представляю как вообще распределять доступ между хранимыми процедурами. Создать различных юзеров (как разделить роли?) и создавать процедуры указывая для какого пользователя? По какому принципу создавать роли?
Очень бы хотелось чтобы вы поподробнее осветили этот вопрос
Заранее благодобря
25 фев 05, 01:31    [1343402]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про безопасность и процедуры  [new]
Диченка
Member

Откуда: ИТ-Олимп, 58.1-летний супермен
Сообщений: 3989
Раздача прав на выполнение хранимых процедур должна зависить от бизнес-логики, заложенной в вашу систему. Вам нужно выделить основные группы пользователей, например "менеджер отдела сбыта", "менеджер отдела снабжения", "оператор", "бухгалтер". Для каждой группы необходимо создать роль, внутри которой раздать права на выполнение определенных процедур, в зависимости от бизнес-процессов, которые разрешено выполнять члену группы (роли). Потом при заведении пользователей просто добавляете пользователя к роли. Менеджеров - в роль "менеджер", бухгалтеров - в роль "бухгалтер".
25 фев 05, 07:50    [1343512]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про безопасность и процедуры  [new]
злой программер
Member

Откуда:
Сообщений: 226
Диченко
Раздача прав на выполнение хранимых процедур должна зависить от бизнес-логики, заложенной в вашу систему. Вам нужно выделить основные группы пользователей, например "менеджер отдела сбыта", "менеджер отдела снабжения", "оператор", "бухгалтер". Для каждой группы необходимо создать роль, внутри которой раздать права на выполнение определенных процедур, в зависимости от бизнес-процессов, которые разрешено выполнять члену группы (роли). Потом при заведении пользователей просто добавляете пользователя к роли. Менеджеров - в роль "менеджер", бухгалтеров - в роль "бухгалтер".


Кроме того, для тонкой настройки, помимо включения пользователя в роль, выдавайте разрешения и запреты на выполнение ХП. (запреты имеют высший приоритет)
25 фев 05, 10:54    [1343937]     Ответить | Цитировать Сообщить модератору
 Вопрос про безопасность и процедуры  [new]
valenches
Member

Откуда:
Сообщений: 63
Серверная часть пишется на C#.
Бизнесс-логика весьма проста: есть масса пользователей с одинаковыми правами. Все запросы выполняются по следующей схеме:

получен запрос от пользователя >> конект к базе >> выполняем процедуру соответствующую запросу (это может быть изменение, добавление, просмотр) >> дисконнект от базы >> передаем пользователю результат

Т.е. нет постоянно открытого подключения.
25 фев 05, 16:54    [1345926]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про безопасность и процедуры  [new]
valenches
Member

Откуда:
Сообщений: 63
Короче говоря разный доступ имеют процедуры, а не юзеры. Имеет ли смысл вообще распределять доступ между процедурами? Может ли это увеличить производительность?
26 фев 05, 15:15    [1347026]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про безопасность и процедуры  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
автор
Т.е. нет постоянно открытого подключения.

И?
автор
Короче говоря разный доступ имеют процедуры, а не юзеры.

Что-то я не пойму, у Вас, для каждого юзера свои процедуры? Если не будете рулить права, то ничего не помешает юзеру А выполнить процедуры юзера Б.
автор
Имеет ли смысл вообще распределять доступ между процедурами

Чего-то неясно, что Вы имеете ввиду.
автор
Может ли это увеличить производительность?

Не думаю, что бы Вы когда либо заметили разницу. Не думаю, что кто-либо вообще способен ее заметить.
26 фев 05, 20:07    [1347272]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить