powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по безопастности SQL
21 сообщений из 21, страница 1 из 1
Вопрос по безопастности SQL
    #32031889
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сервере (SQL 2k) есть рабочая БД, для разработчиков же есть тестовая БД (копия рабочей). Разработчики имеют доступ к рабочей базе - роль public, а в тестовой, где пишут и отлаживают SP & View, - db_owner. Проблема в том что если в тестовой базе в тексте SP написать что-то типа DELETE FROM сославшись на таблицу рабочей базы, то удаление/добавление/изменение проходит успешно.
Это нормальная ситуация? И как ее разрулить? Держать отдельный сервер для разработчиков?
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32031895
Олег Яговкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте в РАБОЧЕЙ базе (EM,раздел USERS\Properties), для данной группы разработчиков, установить (кроме роли Public)
дополнительно роль db_datareader.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32031899
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С нее и начинали, сначало был датаридер, потом поставили паблик. Помогает только полное исключение разработчиков из рабочей базы.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32031902
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что разработчики должны иметь возможность делать в рабочей БД? Если надо запретить им делать какие-либо изменения данных, просто внесите их всех в группу db_denydatawriter.
Ну а если что то можно, а что то нельзя - создайте новую группу, запихните в нее всех разработчиков и выставьте ей нужные разрешения.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032016
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавление в роль разработчиков db_denydatawriter - так же не помогает.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032040
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что SQL Server смотрит сначала контекст безопасности у данных с более высоким приоритетом
view-sp-table
если контекст безопасности дал добро, то SQL Server не проверяет на безопасность объекты с более низким приоритетом
Скорее всего вот отсюда такая ерунда и рождается
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032090
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Чудес не бывает - раз есть возможность удалять, значит есть право удалять

2. "If a user has not been specifically granted permissions on an object, they use the permissions assigned to public." Какими правами у вас обладает public ?

3. Неясно, какую аутентикацию вы используете для разработчиков - SQL или WinNT ? Если WinNT, то не получают ли разработчики какие-либо права через группы WinNT? Например, BUILTIN\Administrators, которая добавляется при инсталяции в роль sysadmin
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032204
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аутентификация используется WinNT, но там ничего лишнего - админ проверил.
А по поводу Public - проводим эксперементы на уровне одной таблицы: У паблика явно выставили для этой таблицы запрет на INSERT,UPDATE,DELETE (красные крестики). Запускаю из соседней БД SP типа:
INSERT INTO Res(Name) VALUES ('12345')
DELETE FROM Res WHERE ResID=scope_identity()
Получаю в ответ:
(1 row(s) affected)
(1 row(s) affected)

ВОТ ТАК! Погибаем!
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032207
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Право на выполнение SP у пользователя или ЕСТЬ или НЕТ,
а обращение к обьектам из нутра SP ( к table, view ...) зависят только от прав ВЛАДЕЛЬЦА SP. У Вас наверно владелец SP - DBO, тогда бесполезно манипулировать правами программистов.
А вооще лучще совсем не допускать программистов к боевым серверам, а тем более к базам данных. Только, когда аварийная ситуация может крупно повредить бизнес или процесс производства...
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032232
Кенгуру
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
..."Аутентификация используется WinNT, но там ничего лишнего - админ проверил"...
Не верте сисадминам... сами посмотрите, да заодно проследите, не делегируются ли эти права через цепочку вложенных NT групп...
А заодно поясните, как Вы это делаете: "Запускаю из соседней БД SP типа:"?
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032263
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
---------
А заодно поясните, как Вы это делаете: "Запускаю из соседней БД SP типа:"?
----------
Да чего тут не понятного? В тестовой (девелоперской) БД создаю новую SP, а обращается она к таблицам рабочей БД.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032264
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже и сказали, что если SP создана dbo, то все права внутри процедуры ему же и принадлежат. Поэтому все и удаляется :)

Либо запрещайте доступ к SP, либо никак. Ну можно конечно много процедур с разными владельцами сделать, но как бы потом не запутаться.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032267
Фотография Hermitap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А помоему держать сервер для разработчиков не такая уж и плохая идея.

у меня 2 сервака с 6.5
и 2 сервака с 2000

1 рабочий, второй резервный и отладочный.

за 4 года работы (с 6.5 ) и 1 год с 2000, проблемм никаких.
сначала опкатываем на резервном, потом перегоняем на рабочий.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032304
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не являются ли ваши разработчики членами серверной роли sysadmin ?
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032351
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, они (и я в т.ч.) не входим в sysadmin.
Чтож...., будем завтра отладочный сервер поднимать.....
Всем спасибо за участие.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32032389
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно просто второй инстанс для разработчиков поднять, на том же железе.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32033053
Фотография Сергей Тихонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас тоже используется 2 физических сервера: один боевой, другой для разработки. Изменения на боевом сервере происходят исключительно через скрипты. Разработчики не имеют доступа к боевому серверу или имеют очень ограниченный.

ЗЫ
Думаю, что идея 2-х SQL-серверов (боевой + разработки) в рамках одного физического - не ахти... Сервер разработки - это полигон. А на полигоне всякое случится может... ;-)
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32033059
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подняли на другом железе сервер для разработчиков. На сервере подняли копию рабочей базы. Пробую ту же фичу, что и на рабочем серваке, т.е. из одной базы (где я db_owner) через SP удалить/изменить данные в базе, где я datareader - И ЭТО НЕ СРАБОТАЛО!!!
А разница между серваками в том что на рабочем -смешанная авторизация, а на игровом - встроенная, виндовая. Во как!
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32033725
Фотография MarchCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexanderVS! Записывай:
для разработчиков:
public - это понятно

db_ddladmin* - работа с объектами - создание и тд

db_datereader - читание

db_datewriter - писание

* все созданные объекты будут его и потому для перевода их к овнеру dbo нужно делать так :
Код: plaintext
1.
exec sp_changeobjectowner 'pubs.pupkin.nameproc', 'dbo'


Все это дает гарантию того что чел. будет трудится плодотворно и под контролем и не снесет лишнего
Фсем МЯФ
PS А делать любого овнером ... признак сам знаешь чего :)
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32033829
Dominic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отлично сказано! А если хранимых процедур и таблиц много, позаботиться о скриптах, переводящем права "туда-сюда" при переводе БД из ранга тестовой в ранг рабочей и обратно.
...
Рейтинг: 0 / 0
Вопрос по безопастности SQL
    #32034398
Фотография MarchCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Dominic

А ты как думал .... зря мы что ли свой хлеб едим ....
это что ....
нужно еще проверить что он там написал .... вот это да ...
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по безопастности SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]