В чем разница между аутентификацией сервера sql и аутентификацией Windows ..? - PullRequest
41 голосов
/ 15 апреля 2009

В чем разница между аутентификацией SQL Server и Windows-аутентификацией ... Существует ли конкретная ситуация использования каждой аутентификации?

Ответы [ 10 ]

24 голосов
/ 15 апреля 2009

SQL Server имеет собственную встроенную систему безопасности, которая охватывает имена входа и роли. Это отдельно и параллельно пользователям и группам Windows. Вы можете использовать только безопасность SQL, и тогда все администрирование будет происходить на сервере SQL, и между этими именами входа и пользователями Windows не будет никакой связи. Если вы используете смешанный режим, то к пользователям Windows относятся так же, как к логинам SQL.

У каждого подхода есть ряд особенностей -

1) Если вы хотите использовать пул соединений, вы должны использовать логины SQL или все пользователи одного и того же пользователя Windows - не очень хорошая идея.

2) Если вы хотите отслеживать, что делает конкретный пользователь, тогда имеет смысл использовать аутентификацию Windows.

3) Использование инструментов Windows для администрирования пользователей гораздо более мощно, чем SQL, но связь между ними является ненадежной, например, если вы удаляете пользователя Windows, соответствующие данные в SQL не обновляются.

16 голосов
/ 27 августа 2010

Аутентификация SQL

Аутентификация SQL - это типичная аутентификация, используемая для различных систем баз данных, состоящая из имени пользователя и пароля. Очевидно, что экземпляр SQL Server может иметь несколько таких учетных записей пользователей (с использованием аутентификации SQL) с разными именами пользователей и паролями. На общих серверах, где разные пользователи должны иметь доступ к разным базам данных, следует использовать аутентификацию SQL. Кроме того, когда клиент (удаленный компьютер) подключается к экземпляру SQL Server на другом компьютере, отличном от того, на котором работает клиент, необходима проверка подлинности SQL Server. Даже если вы не определите учетные записи пользователей SQL Server, во время установки будет добавлена ​​корневая учетная запись - sa - с указанным вами паролем. Как и любая учетная запись SQL Server, ее можно использовать для локального или удаленного входа в систему, однако, если приложение является тем, которое выполняет вход, и оно должно иметь доступ только к одной базе данных, настоятельно рекомендуется не делать этого. используйте учетную запись sa, но создайте новую с ограниченным доступом. В целом, аутентификация SQL - это основной метод аутентификации, который мы будем использовать, в то время как тот, который мы рассмотрим ниже - аутентификация Windows - для удобства.

Аутентификация Windows

Когда вы обращаетесь к SQL Server с того же компьютера, на котором он установлен, вам не нужно вводить имя пользователя и пароль. И нет, если вы используете проверку подлинности Windows. Благодаря проверке подлинности Windows служба SQL Server уже знает, что кто-то вошел в операционную систему с правильными учетными данными, и использует эти учетные данные, чтобы пользователь мог войти в свои базы данных. Конечно, это работает до тех пор, пока клиент находится на том же компьютере, что и SQL Server, или до тех пор, пока подключающийся клиент совпадает с учетными данными Windows сервера. Аутентификация Windows часто используется в качестве более удобного способа входа в экземпляр SQL Server без ввода имени пользователя и пароля, однако, когда подключается больше пользователей или устанавливаются удаленные соединения с SQL Server, следует использовать аутентификацию SQL ,

4 голосов
/ 15 апреля 2009

В идеале аутентификация Windows должна использоваться при работе в среде типа Интранет.

Принимая во внимание, что аутентификация SQL Server может использоваться во всех других случаях.

Вот ссылка, которая может помочь.

Аутентификация Windows против аутентификации SQL Server

3 голосов
/ 15 апреля 2009

Если вы хотите аутентифицировать пользователей в отношении пользователей системы Windows [созданных администратором], то в этом случае вы будете использовать аутентификацию Windows в своем приложении.

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

Точно, если ваше приложение является веб-приложением ASP.NET, вы можете использовать стандартные элементы управления Login, которые зависят от провайдеров, таких как SqlMembershipProvider, SqlProfileProvider. Вы можете настроить элементы управления входом в систему и свое приложение, должно ли оно проходить аутентификацию в отношении пользователей Windows или пользователей базы данных приложения. В первом случае он будет называться аутентификацией Windows, а второй будет называться аутентификацией Sql.

2 голосов
/ 15 июня 2016

При предоставлении пользователю доступа к базе данных необходимо учитывать несколько соображений, касающихся преимуществ и недостатков с точки зрения удобства использования и безопасности. Здесь у нас есть два варианта аутентификации и предоставления прав пользователям. Первый - предоставить всем доступ к учетной записи sa (системный администратор), а затем вручную ограничить разрешения, сохранив список пользователей, которым вы можете предоставлять или отклонять разрешения по мере необходимости. Это также известно как метод аутентификации SQL. В этом методе есть серьезные недостатки безопасности, перечисленные ниже. Второй и лучший вариант - Active Directory (AD) обрабатывать все необходимые проверки подлинности и авторизации, также известные как проверка подлинности Windows. Как только пользователь войдет в систему на своем компьютере, приложение подключится к базе данных, используя эти учетные данные Windows для входа в операционную систему.

Основная проблема безопасности при использовании параметра SQL заключается в том, что он нарушает принцип наименьших привилегий (POLP), который заключается в предоставлении пользователю только абсолютно необходимых разрешений, которые ему необходимы, и не более. Используя учетную запись sa, вы обнаруживаете серьезные недостатки безопасности. POLP нарушается, потому что, когда приложение использует учетную запись sa, они получают доступ ко всему серверу базы данных. Аутентификация Windows, с другой стороны, следует политике POLP, предоставляя доступ только к одной базе данных на сервере.

Вторая проблема заключается в том, что нет необходимости для каждого экземпляра приложения иметь пароль администратора. Это означает, что любое приложение является потенциальной точкой атаки для всего сервера. Windows использует учетные данные Windows только для входа на SQL Server. Пароли Windows хранятся в репозитории, в отличие от самого экземпляра базы данных SQL, и аутентификация выполняется внутри Windows без необходимости сохранять пароли sa в приложении.

Третья проблема безопасности возникает при использовании метода SQL, связанного с паролями. Как представлено на веб-сайте Microsoft и на различных форумах по безопасности, метод SQL не требует смены пароля или шифрования, а отправляется в виде открытого текста по сети. И метод SQL не блокируется после неудачных попыток, что позволяет длительную попытку взлома. Однако Active Directory использует протокол Kerberos для шифрования паролей, а также использует систему смены паролей и блокировку после неудачных попыток.

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

Если пользователь удаляется, вам придется удалять его учетные данные из каждого экземпляра приложения. Если вам нужно обновить пароль администратора sa, вам придется обновить каждый экземпляр SQL-сервера. Это отнимает много времени и небезопасно, оставляя открытой возможность для уволенного пользователя сохранить доступ к SQL Server. При использовании метода Windows ни одна из этих проблем не возникает. Все централизовано и обрабатывается нашей эры.

Единственные преимущества использования метода SQL заключаются в его гибкости. Вы можете получить к нему доступ из любой операционной системы и сети, даже удаленно. Некоторые старые унаследованные системы, а также некоторые веб-приложения могут поддерживать только доступ sa.

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

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

2 голосов
/ 15 апреля 2009

Я не знаю SQLServer так же хорошо, как другие СУБД, но я полагаю, что преимущество такое же, как в DB2 и Oracle. Если вы используете проверку подлинности Windows, вам нужно будет поддерживать только один набор пользователей и / или паролей - Windows, что уже сделано для вас.

Аутентификация СУБД означает наличие отдельного набора пользователей и / или паролей, которые должны поддерживаться.

Кроме того, пароли Windows позволяют централизованно настраивать их для предприятия (Active Directory), тогда как SQLServer должен поддерживать один набор для каждого экземпляра СУБД.

1 голос
/ 30 апреля 2013

Аутентификация - это процесс подтверждения личности пользователя или компьютера. Процесс обычно состоит из четырех этапов: Пользователь предъявляет личность, обычно предоставляя имя пользователя. Например, я мог бы заявить об этом, сказав базе данных, что мое имя пользователя - «mchapple». Система бросает вызов пользователю, чтобы подтвердить свою личность. Самым распространенным вызовом является запрос пароля. Пользователь отвечает на вызов, предоставляя запрошенное доказательство. В этом примере я бы предоставил базу данных с моим паролем Система проверяет, что пользователь предоставил приемлемое подтверждение, например, проверяя пароль по локальной базе паролей или используя централизованный сервер аутентификации

1 голос
/ 30 апреля 2013

Режимы аутентификации SQL Server

SQL Server 2008 предлагает две опции режима аутентификации :

Аутентификация Windows * В режиме 1008 * пользователи должны предоставить действительное имя пользователя и пароль Windows для доступа к серверу базы данных. В корпоративных средах эти учетные данные обычно являются учетными данными домена Active Directory.

Смешанная аутентификация * Режим 1012 * позволяет использовать учетные данные Windows, но дополняет их локальными учетными записями пользователей SQL Server, которые администратор может создавать и поддерживать в SQL Server.

1 голос
/ 15 апреля 2009

Я думаю, что основным отличием является безопасность.

Аутентификация Windows означает, что идентификационная информация обрабатывается как часть ручной установки Windows, и теперь пароль всегда «там» для перехвата.

Аутентификация SQL означает, что вы должны сами хранить (или предоставлять) имя пользователя и пароль, что значительно облегчает взлом. Мы приложили немало усилий, чтобы сделать проверку подлинности Windows очень надежной и безопасной.

Могу ли я предложить, что если вы внедряете проверку подлинности Windows, используйте группы и роли для этого. Группы в Windows и роли в SQL. Необходимость настройки большого количества пользователей в SQL - большая боль, когда вы можете просто настроить группу, а затем добавить каждого пользователя в группу. (Я думаю, что так или иначе большая часть безопасности должна быть обеспечена).

0 голосов
/ 21 июля 2016

Аутентификация Mssql очень предпочтительна, где это возможно. Это позволяет вам соответствовать существующему домену Windows, уже используемому на вашем рабочем месте, и вам не нужно знать пароли вашего пользователя.

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

Если вы используете аутентификацию sql, безопасность будет зависеть от вас.

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

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