|
|
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
На сервере (SQL 2k) есть рабочая БД, для разработчиков же есть тестовая БД (копия рабочей). Разработчики имеют доступ к рабочей базе - роль public, а в тестовой, где пишут и отлаживают SP & View, - db_owner. Проблема в том что если в тестовой базе в тексте SP написать что-то типа DELETE FROM сославшись на таблицу рабочей базы, то удаление/добавление/изменение проходит успешно. Это нормальная ситуация? И как ее разрулить? Держать отдельный сервер для разработчиков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2002, 09:36:03 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Попробуйте в РАБОЧЕЙ базе (EM,раздел USERS\Properties), для данной группы разработчиков, установить (кроме роли Public) дополнительно роль db_datareader. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2002, 10:18:19 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
С нее и начинали, сначало был датаридер, потом поставили паблик. Помогает только полное исключение разработчиков из рабочей базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2002, 10:39:09 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
А что разработчики должны иметь возможность делать в рабочей БД? Если надо запретить им делать какие-либо изменения данных, просто внесите их всех в группу db_denydatawriter. Ну а если что то можно, а что то нельзя - создайте новую группу, запихните в нее всех разработчиков и выставьте ей нужные разрешения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2002, 11:05:16 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Добавление в роль разработчиков db_denydatawriter - так же не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 10:49:23 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Дело в том, что SQL Server смотрит сначала контекст безопасности у данных с более высоким приоритетом view-sp-table если контекст безопасности дал добро, то SQL Server не проверяет на безопасность объекты с более низким приоритетом Скорее всего вот отсюда такая ерунда и рождается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 12:18:37 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 15:25:54 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Аутентификация используется 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) ВОТ ТАК! Погибаем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 07:12:28 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Право на выполнение SP у пользователя или ЕСТЬ или НЕТ, а обращение к обьектам из нутра SP ( к table, view ...) зависят только от прав ВЛАДЕЛЬЦА SP. У Вас наверно владелец SP - DBO, тогда бесполезно манипулировать правами программистов. А вооще лучще совсем не допускать программистов к боевым серверам, а тем более к базам данных. Только, когда аварийная ситуация может крупно повредить бизнес или процесс производства... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 08:26:31 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
..."Аутентификация используется WinNT, но там ничего лишнего - админ проверил"... Не верте сисадминам... сами посмотрите, да заодно проследите, не делегируются ли эти права через цепочку вложенных NT групп... А заодно поясните, как Вы это делаете: "Запускаю из соседней БД SP типа:"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 11:23:05 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
--------- А заодно поясните, как Вы это делаете: "Запускаю из соседней БД SP типа:"? ---------- Да чего тут не понятного? В тестовой (девелоперской) БД создаю новую SP, а обращается она к таблицам рабочей БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 13:37:36 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Уже и сказали, что если SP создана dbo, то все права внутри процедуры ему же и принадлежат. Поэтому все и удаляется :) Либо запрещайте доступ к SP, либо никак. Ну можно конечно много процедур с разными владельцами сделать, но как бы потом не запутаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 13:45:42 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
А помоему держать сервер для разработчиков не такая уж и плохая идея. у меня 2 сервака с 6.5 и 2 сервака с 2000 1 рабочий, второй резервный и отладочный. за 4 года работы (с 6.5 ) и 1 год с 2000, проблемм никаких. сначала опкатываем на резервном, потом перегоняем на рабочий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 13:50:23 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Не являются ли ваши разработчики членами серверной роли sysadmin ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 15:43:52 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Нет, они (и я в т.ч.) не входим в sysadmin. Чтож...., будем завтра отладочный сервер поднимать..... Всем спасибо за участие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 19:00:54 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Можно просто второй инстанс для разработчиков поднять, на том же железе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 21:23:21 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
У нас тоже используется 2 физических сервера: один боевой, другой для разработки. Изменения на боевом сервере происходят исключительно через скрипты. Разработчики не имеют доступа к боевому серверу или имеют очень ограниченный. ЗЫ Думаю, что идея 2-х SQL-серверов (боевой + разработки) в рамках одного физического - не ахти... Сервер разработки - это полигон. А на полигоне всякое случится может... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2002, 12:36:53 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Подняли на другом железе сервер для разработчиков. На сервере подняли копию рабочей базы. Пробую ту же фичу, что и на рабочем серваке, т.е. из одной базы (где я db_owner) через SP удалить/изменить данные в базе, где я datareader - И ЭТО НЕ СРАБОТАЛО!!! А разница между серваками в том что на рабочем -смешанная авторизация, а на игровом - встроенная, виндовая. Во как! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2002, 13:08:17 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
AlexanderVS! Записывай: для разработчиков: public - это понятно db_ddladmin* - работа с объектами - создание и тд db_datereader - читание db_datewriter - писание * все созданные объекты будут его и потому для перевода их к овнеру dbo нужно делать так : Код: plaintext 1. Все это дает гарантию того что чел. будет трудится плодотворно и под контролем и не снесет лишнего Фсем МЯФ PS А делать любого овнером ... признак сам знаешь чего :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2002, 07:25:59 |
|
||
|
Вопрос по безопастности SQL
|
|||
|---|---|---|---|
|
#18+
Отлично сказано! А если хранимых процедур и таблиц много, позаботиться о скриптах, переводящем права "туда-сюда" при переводе БД из ранга тестовой в ранг рабочей и обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2002, 15:54:14 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32031902&tid=1822105]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 343ms |

| 0 / 0 |
