Какой смысл создавать пользователя для доступа к БД, расположенной в SQL Server 2008 - PullRequest
0 голосов
/ 17 февраля 2010

До сих пор, после создания БД со всей схемой, все, что я сделал для этого, это доступ к ним (таблицам) по ссылке через ConnectionStrings .

Теперь, дважды, я прочитал, что лучше создать пользователя БД и получить доступ к БД через него, включив его в c onnectionString .

Я хотел бы знать, почему так?

Спасибо за помощь

Ответы [ 2 ]

1 голос
/ 17 февраля 2010

Ваш вопрос не так ясен. Похоже, вы спрашиваете, лучше ли использовать безопасность Windows («Integrated Security = SSPI» в строке подключения) или имя пользователя / пароль («ID пользователя = myUsername; Password = myPassword;»).

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

Лучше ли "создать пользователя БД и получить доступ к БД через него, включив его в строку подключения?" Нет. Лучше создать учетную запись сервера sql для идентификаторов Windows пользователя и позволить им использовать эти учетные данные для доступа к серверу.

0 голосов
/ 17 февраля 2010

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

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

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

...