C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Защита MS SQL 2000, Как закрыть базу
Konstantine
Отправлено: 27.09.2004, 11:34


Мастер участка

Группа: Модератор
Сообщений: 545



Как закрыть базу от доступа к ней в т.ч. и из оболочек MS SQL? база должна находиться на том компе, где и использующая её прога. и чтоб юзеры не могли даже считать содержимое!
AVC
Отправлено: 27.09.2004, 12:19


Ветеран

Группа: Модератор
Сообщений: 1583



Неужели у MS Sql нет разграничения доступа по правам пользователя? Или вопрос cтоиn как-то иначе?
Konstantine
Отправлено: 27.09.2004, 13:09


Мастер участка

Группа: Модератор
Сообщений: 545



Какие-то есть, но Я не разобрался как:
- дать пользователю пароль
- поставить пароль на открытие базы из консоли
AVC
Отправлено: 27.09.2004, 14:05


Ветеран

Группа: Модератор
Сообщений: 1583



По собственному опыту могу посоветовать разобраться с сервером и работать через него. Конкретное воплощение команд может подскажет кто-то, работающий с MS SQL (например Gedeon).
olegenty
Отправлено: 27.09.2004, 15:55


Ветеран

Группа: Модератор
Сообщений: 2412



а вообще — это нереально, да и не правильно.
пользователь = администратор БД??? а не слабо???
отсюда, минимум двое будут пароль знать. это админ и пользователь. при этом админ — админский, а пользователь — пользовательский (лоховской), и пользователь всё равно сможет лезть в базу отовсюду, откуда ему не лень (про админа я вообще молчу — может он из дома администрнуть хочет).
MSSQL — не "плоская" СУБД, и такой жесткач вообще для него не норма.

кроме того, пользователь sa ВСЕГА И ПО ЛБОМУ БУДЕТ ИМЕТЬ ДОСТУП. рискни удалить его из пользователей БД, и поимеешь кучу граблей — системные хранимые процедуры MSSQL, хранящиеся в БД master и tempdb в основном запускаются от его имени... (самим MSSQL)...
AVC
Отправлено: 27.09.2004, 16:21


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

кроме того, пользователь sa ВСЕГА И ПО ЛБОМУ БУДЕТ ИМЕТЬ ДОСТУП. рискни удалить его из пользователей БД, и поимеешь кучу граблей — системные хранимые процедуры MSSQL, хранящиеся в БД master и tempdb в основном запускаются от его имени


Обычная (по крайне мере для меня) практика состоит в следующем: разработка базы (таблицы, представления, процедуры и т.д.) ведется в схеме абстрактного пользователя с правами админа. Все запросы используют либо синонимы, либо явно указывают эту схему. При передачи в эксплуатацию доступ этому пользователю запрещается и раздаются права на его схему другим пользователям.
Konstantine
  Отправлено: 27.09.2004, 16:43


Мастер участка

Группа: Модератор
Сообщений: 545



QUOTE (olegenty @ 27/09/2004, 16:57)
а вообще — это нереально, да и не правильно.

не, ну пользователю пароль можно поставить и ему не сказать... но там есть типа доступ по учётной записи... как это отключить? и ещё есть в MSSQL server консоль (менеджер вроде какой-то) и вот когда я захожу в него, то могу лазить везде что хочу удаляю-записываю, а у меня даже пароль не спрашивает...

в общем мне нада:
1) чтоб стояла на компе база и моя прога.
2) чтоб токо админ (типа Я) и прога могли юзать данные в базе
3) никто другой (в т.ч. и пользователь за компом) не мог заглянуть в базу.

Логины-Пароли — это понятно, но как их поставить, чтоб всё было закрыто (см. п.3)?
olegenty
Отправлено: 28.09.2004, 06:27


Ветеран

Группа: Модератор
Сообщений: 2412



ну почитай о секьюрности MSSQL. то, что ты Enterprise Manager'ом что-то можешь говорит лишь о том, либо знаешь пароль, либо по умолчанию оставляешь Windows Authentification, в то время как в твоём случае это не катит.
Konstantine
Отправлено: 28.09.2004, 08:14


Мастер участка

Группа: Модератор
Сообщений: 545



QUOTE (olegenty @ 28/09/2004, 07:29)
...либо знаешь пароль, либо по умолчанию оставляешь Windows Authentification...

ну пароль если б Я вводил, то Я бы знал это...
а Windows Authentification — это наверно оно... а как отключить её?
Gedeon
Отправлено: 28.09.2004, 18:48


Ветеран

Группа: Модератор
Сообщений: 1742



Да Enterprise Manager пускает во все т.к. стоит тип Windows Authentification. Убрать такой тип авторизации нельзя, можно удалить из security\logins учетную запись админа и встроенную администраторов компа, оставить юзера. В этом случае ЕМ не пустит лазить по серверу. Где-то есть в SQL Server фишка с помощью которой вообще можна доступ давать именно программе, а не пользователю, не помню сейчас где про это читал, пороюсь, если найду напишу.
Konstantine
Отправлено: 29.09.2004, 09:27


Мастер участка

Группа: Модератор
Сообщений: 545



Я отключил виндуз аутент. у учетки админа и пассворд свой  — всё вроде ок стало... так как хотел, и с менеджера тоже пассворд просит всё ОК, спасибо всем.

Вернуться в Работа с базами данных в C++Builder