SQL Server Интегрированная безопасность без студии управления SQL Server

StackOverflow https://stackoverflow.com//questions/11662676

Вопрос

Я использую интегрированную безопасность в приложении 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 для доступа к базе данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top