Защита доступа к данным SQL Server - PullRequest
4 голосов
/ 09 марта 2011

Я создаю приложение для Windows, которое будет работать с базой данных SQL 2008. Некоторые из данных таблиц очень чувствительны, но некоторым из наших пользователей все равно потребуется, по крайней мере, чтение, если не доступ на чтение / запись к этим таблицам. Мы собираемся использовать Windows Security для контроля их доступа к базе данных.

Я хочу знать, могут ли те же пользователи получить доступ к данным в этих таблицах через что-то вроде Excel или MS Access? Речь идет о блокировке плохого яблока от попыток украсть данные внутри и уйти с ним. Если у них есть доступ для чтения к данным, есть ли реальный способ остановить их?

Извините, если это вопрос SQL Server 101, но я не могу найти хорошие ответы на вопрос.

Спасибо за помощь!

Ответы [ 4 ]

6 голосов
/ 09 марта 2011

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

С учетом сказанного я бы создал учетную запись службы, у которой есть разрешения для доступа к SQL Server изваше приложение.Контролируйте доступ в вашем приложении с помощью ролей.Не предоставляйте пользователям доступ к вашей базе данных напрямую - им нужно пройти через ваше приложение.

Если вы попытаетесь открыть Access или Excel и указать его на базу данных SQL Server, у них не будет разрешения на это.что-нибудь.

4 голосов
/ 09 марта 2011

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

Если вы предоставите своим пользователям полный доступ на чтение, то да, будет трудно помешать им понять, о чем вы говорите.

2 голосов
/ 10 марта 2011

Как уже упоминалось, вы можете создать учетную запись SQL для своего приложения.Это запретит любой внешний доступ от чего-либо, кроме самого вашего приложения.Конечно, это будет означать, что доступ к вашему приложению должен быть ограничен.Это также легко достигается путем ограничения доступа для чтения к исполняемому файлу активной группой каталогов, которая содержит пользователей, которые получают доступ.В дополнение к этому, ваше приложение может также использовать активные каталоги, чтобы определить, разрешить ли доступ на запись для тех пользователей, которые в этом нуждаются.Если только один пользователь в проверенной группе не заслуживает доверия, то должна быть определенная приемлемая политика использования, проверка сотрудников отдела кадров, а также проверки и балансировки среды пользователя.Здесь также подойдет правильная политика развертывания рабочей станции, позволяющая ограничивать использование съемных дисков, регистрировать все данные о доступе, сведениях о подключении и т. Д.пользователь.

0 голосов
/ 09 марта 2011

Пользователи могут получить доступ к таблицам SQL, используя связанную таблицу в Access или запрос внешних данных в Excel, однако разрешения контролируются сервером SQL, что означает, что у пользователей есть доступ для чтения, они смогут получать доступ к данным только для чтения. режим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...