SQL аутентификация или аутентификация Windows - PullRequest
0 голосов
/ 05 февраля 2009

Для моего веб-сайта asp.net с аутентификацией форм я буду использовать встроенную безопасность Windows для доступа к базе данных sql. Я дам разрешения БД для ASPNET или NETWORK SERVICE. При каких обстоятельствах я бы вместо этого использовал аутентификацию SQL?

Ответы [ 8 ]

4 голосов
/ 05 февраля 2009

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

3 голосов
/ 05 февраля 2009

Действительно вы используете аутентификацию SQL, когда вы не можете использовать аутентификацию Windows. На мой взгляд, это единственный раз. Проверка подлинности Windows более безопасна и может управляться централизованно в местах, где используется Active Directory. Если у вас есть люди, которые действительно знают, как администрировать Active Directory, и вы находитесь в среде Windows, нет веской причины использовать sql-аутентификацию.

С помощью Sql Authentication вы должны управлять паролями и т. Д. В строках подключения, а это означает, что для изменения учетной записи, обращающейся к базе данных, кто-то должен знать, как работает приложение или, по крайней мере, где хранится информация. При проверке подлинности Windows все, что нужно сделать сетевому администратору, - ввести правильное имя пользователя и пароль в настройках приложения IIS, и вы готовы к работе. Взаимодействие с разработчиком не требуется.

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

3 голосов
/ 05 февраля 2009

Используйте аутентификацию SQL, когда для подключения к БД требуются машины, отличные от Windows.

Имейте в виду, что он добавляет еще один вектор атаки (еще один набор учетных данных для взлома машины), поэтому перед его использованием убедитесь, что он вам действительно нужен.

2 голосов
/ 05 февраля 2009

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

Также, как упоминал Корбин, если клиенты не работают под управлением ОС Windows, вы не можете использовать проверку подлинности Windows (очевидно).

1 голос
/ 06 февраля 2009

Помимо всего вышеперечисленного, рассмотрим случай, подобный этому:

Учетная запись, которую вам нужно использовать, находится в Домене A. База данных находится в Домене B. Домен A и домен B не имеют доверительных отношений.

Вам понадобится аутентификация SQL, чтобы обойти эту ситуацию. Надеюсь, это поможет.

(для большей ясности): база данных НЕ зарегистрирована в активном каталоге. Тогда нельзя использовать аутентификацию Windows.

1 голос
/ 06 февраля 2009

Если у вас нет контроля над Active Directory (как в размещенной ситуации) или есть пользователи с операционными системами, отличными от Windows, у вас нет выбора.

Есть ли необходимость создавать учетные записи пользователей на лету с помощью какого-либо скрипта? Это должно быть проще сделать для пользователя sql, чем для Active Directory (вероятно, не невозможно).

1 голос
/ 05 февраля 2009

Это зависит. Если вы разрабатываете собственное веб-приложение и сетевые ИТ-специалисты не работают, используйте аутентификацию Windows. Если вы развертываете свое приложение для клиентов и не можете контролировать их сетевую инфраструктуру, я бы использовал проверку подлинности SQL

1 голос
/ 05 февраля 2009

Напоминаем, что проверка подлинности Windows является рекомендуемым режимом проверки подлинности по той простой причине, что она наследует проверку подлинности ОС. Существует множество факторов, по которым вы не можете использовать проверку подлинности Windows, как описано выше.

...