SQL Server Интегрированная безопасность без студии управления SQL Server
-
11-12-2019 - |
Вопрос
Я использую интегрированную безопасность в приложении ASP.NET, IIS и SQL Server размещаются на одном и том же устройстве серверов, работающих на Windows Server 2008 R2.
Можно ли позволить пользователям получать доступ к приложению по всей сети и войти в систему пользователей, но не позволяйте им получить доступ к базе данных или через SQL Server Management Studio?
Я пытаюсь защитить доступ к базе данных, потому что мое приложение будет развернуто на сервере клиента в помещении клиента.
Вот моя строка подключения, которую я в настоящее время использую
<add connectionString="Server=.\sqlexpress;Database=DB89akwA;Integrated Security=true" name="LocalSqlServer" providerName="System.Data.SqlClient" />
<add connectionString="Server=.\sqlexpress;Database=DB89akwA;Integrated Security=true" name="MainAppConnectionString" providerName="System.Data.SqlClient" />
.
Это две соединительные строки, которые я использую в настоящее время, один для аутентификации ASP.NET и второй используется моим приложением.Эти оба строки одинаковы и одной базы данных.
Любые предложения?
Решение
Невозможно «безопасить» базу данных, работающую на помещениях клиента.Сотрудники клиента могут получить пароль из строки подключения ASP.NET.Администратор домена может
всегда получить доступ к базе данных (существует фактическая статья MSDN, описывающая процесс: Подключитесь к SQL Server, когда системные администраторы заблокированы ).
Если вы хотите скрыть свойство InteLectual, вы чувствуете, что ваша база данных имеет, то ваше единственное решение - не развернуть базу данных в помещении клиента (используйте размещенную базу данных, такую как SQL Azure).
Если вы просто хотите предотвратить вмешательство клиента с базой данных, вы можете предусматривать так в договоре.Аудит и обнаружение вмешательства
Другие советы
Да, это полностью возможно.Человек, вошел в систему в ASP.NET, использующий встроенную безопасность, не может войти в SQL Server с теми же учетными данными.Оба полностью отключены.Возможно только если SQL Server был установлен, чтобы позволить им доступ.
Мой совет будет создать логин и пользователей SQL, и дайте им доступ к SQL Server.В вашем приложении, когда вы создаете строку подключения, не устанавливайте интегрированную безопасность в True, и просто позволяйте пользователю ввести свое имя пользователя и пароль SQL для доступа к базе данных.