В чем разница между аутентификацией сервера sql и проверкой подлинности Windows.?

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

Ответ 1

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

Существует ряд особенностей каждого подхода -

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

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

Ответ 4

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

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

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

Ответ 5

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

Проверка подлинности СУБД означает наличие отдельного набора пользователей и/или паролей, которые необходимо сохранить.

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

Ответ 6

При предоставлении пользователю доступа к базе данных есть несколько соображений, которые необходимо сделать с преимуществами и недостатками с точки зрения удобства использования и безопасности. Здесь у нас есть два варианта аутентификации и предоставления прав пользователям. Первый заключается в том, чтобы предоставить каждому пользователю доступ к учетной записи sa (system admin), а затем ограничить права доступа вручную, сохранив список пользователей, в которых вы можете предоставить или запретить разрешения при необходимости. Это также известно как метод проверки подлинности 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 для шифрования паролей при использовании системы смены пароля и блокировки после неудачных попыток.

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

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

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

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

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

Ответ 7

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

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

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

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

Ответ 8

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

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

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

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

Ответ 9

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

Ответ 10

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

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

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

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