SQL Server 2008 защита данных - PullRequest
       8

SQL Server 2008 защита данных

0 голосов
/ 17 сентября 2009

У меня есть клиент-серверное приложение, в котором клиент .NET получает доступ ко всем данным и хранимым процедурам в базе данных SQL Server 2008.

Есть ли способ защитить все эти данные, чтобы только пользователи, которых я создал и авторизовал, могли получить доступ к этой конкретной базе данных? Особенно на ум приходит пользователь 'sa'. Мне не нравится, что он получает доступ ко всем моим данным.

Ответы [ 2 ]

7 голосов
/ 17 сентября 2009

Вы не можете запретить системному администратору доступ к данным.

Однако никто, кроме назначенного dba, не должен иметь пароль для учетной записи sa. Если у sa нет пароля или если у многих есть пароль, измените его сейчас. Если приложение обращается через sa, измените это немедленно.

Кроме того, вы можете наилучшим образом ограничить доступ - удалить доступ ко всем остальным учетным записям из таблиц и представлений (включая выборочный доступ) и разрешить доступ exec только через сохраненные процедуры. Таким образом, любой, кроме назначенного администратора, может делать только то, что делают хранимые процессы, и ничего больше. Однако вы не можете сделать это, если вы использовали какой-либо динамический sql в приложении или в хранимых процессах, что является одной из причин, почему динамический sql плохая идея.

3 голосов
/ 17 сентября 2009

Вы не можете заблокировать sa или другого системного администратора, поскольку доступ к полной системе является неотъемлемой частью их роли. Вы можете попробовать зашифровать данные, чтобы они не имели смысла вне вашего приложения, хотя это может усложнить любые будущие потребности в отчетности.

...