Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы АД.docx
Скачиваний:
16
Добавлен:
19.12.2018
Размер:
516.23 Кб
Скачать

8 Логины sql Server 2005 Выбор типа логина

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

В SQL Server 2005 придется выбирать из тех же двух главных типов, которые встречались в предыдущих версиях:

-      логин Windows (разновидности: логин для локальной учетной записи Windows, логин для доменной учетной записи Windows, логин для группы Windows);

-      логин SQL Server.

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

При использовании логина SQL Server пароль для этого логина (точнее, его хэшированное значение) хранится вместе с идентификатором логина в базе данных master. При подключении пользователя к серверу ему придется указать имя логина и пароль. Фактически, в этом случае пользователю придется помнить два набора логин/пароль: один — для входа на компьютер, а второй — для подключения к SQL Server.

Какой из двух главных типов логинов следует выбирать? Обычно перед администратором такой вопрос не стоит: механизм подключения клиентского приложения и тип учетных записей выбираются разработчиком приложения. Если вы сами разработчик и имеете возможность принимать решения самостоятельно, то идеальный вариант логина для пользователя — это логин Windows, при этом не для учетной записи, а для группы (лучше всего для локальной доменной группы). Преимуществ у такого решения множество:

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

-      повышается уровень защищенности SQL Server. Это происходит, по крайней мере, за счет того, что пароль не будет передаваться по сети открытым текстом, как это происходит по умолчанию при использовании команд CREATE LOGIN и ALTER LOGIN. Кроме того, хэши Windows (в версииNTLMv2, которая используется с Windows 2000) намного более защищены, чем хэши логинов SQL Server, которые можно вскрыть достаточно быстро (пример свободно доступной в Интернете программы, которая перехватывает хэши SQL Server и подбирает пароли, — Cain&Abel);

-      проверка при входе пользователя производится быстрее.

Эти преимущества справедливы для любых логинов Windows: как для обычных учетных записей, так и для групп. Но идеальный вариант все-таки — использование учетной записи группы. Причины просты:

-      снижается размер системных таблиц базы данных master, в результате чего аутентификация производится быстрее. На одном сервере SQLServer вполне может быть несколько тысяч логинов для пользователей Windows или, что значительно удобнее, всего пара десятков логинов для групп;

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

Однако мы живем не в идеальном мире. Поэтому, по наблюдениям автора, примерно 80% реальных задач на предприятиях используют логины SQL Server, жертвуя при этом и удобством пользователей, и безопасностью, и производительностью. Аргумент в пользу этого решения очень простой и весомый: очень часто на предприятиях администрированием SQL Server и домена Windows занимаются разные люди, которым сложно согласовывать свои действия. Логины SQL Server позволяют администратору SQL Server быть независимым от администратора домена. Кроме того, у логинов SQL Server есть и другие преимущества, которые принимаются во внимание разработчиками:

-      на предприятии вполне может не оказаться домена Windows (если, например, сеть построена на основе NetWare или Unix);

-      пользователи SQL Server могут не входить в домен (например, если они подключаются к SQL Server из филиалов или через Web-интерфейс с домашнего компьютера).

Так что решение остается за вами. Логины Windows — это удобство и защищенность, логины SQL Server — это бóльшая гибкость и независимость от администратора сети.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]