У нас есть приложение winforms .NET 2.0, которое подключается к базе данных SQL Server 2005 с помощью аутентификации Windows. Все модификации базы данных выполняются с использованием хранимых процедур, которые вызываются из приложения. Это работает нормально, и пользователям разрешено делать только то, что позволяет их роль.
Однако нам пришло в голову, что любой пользователь, имеющий разрешение на использование приложения, теоретически может запустить MS Access и подключиться к базе данных, используя ODBC, и изменить любую запись, которую он пожелает в базе данных.
Мы создали группу безопасности в Active Directory, сделали это именем входа в SQL Server, а затем сделали его пользователем в базе данных с правильными правами, чтобы иметь возможность использовать приложение. Другие пользователи домена блокируются с использованием db_denydatareader и db_denydatawriter.
Как нам заблокировать это, чтобы изменения через Access и т. Д. Были невозможны, в то время как приложение по-прежнему работает правильно из настольного приложения .NET?