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

Создание логинов в sql Server 2005, create login, парольные политики, свойства логинов

Логины любого типа создаются одинаково:

-      при помощи графического интерфейса — из окна Login — New (Новый логин). Это окно открывается с помощью команды New Loginконтекстного меню контейнера Security | Logins (Безопасность | Логины) в Object Explorer в SQL Server Management Studio;

-      из скрипта — при помощи команды CREATE LOGIN. Хранимая процедура sp_addlogin, которая использовалась для этой цели в предыдущих версияхSQL Server, оставлена только для обеспечения обратной совместимости и к использованию не рекомендуется.

Например, команда на создание логина SQL Server с именем User1 и паролем P@ssw0rd (для всех остальных параметров будут приняты значения по умолчанию) может выглядеть так:

CREATE LOGIN User1 WITH PASSWORD = 'P@ssw0rd';

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

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

Конечно, кроме имени и пароля для логинов можно определить множество других параметров. Некоторые из них появились только в SQLServer 2005. Далее эти параметры перечислены с комментариями.

Enforce password policy (Использовать парольную политику) — эта новая возможность (ее можно использовать, только если SQL Server работает под управлением Windows 2003 Server) позволяет определить требования к паролям для логинов SQL Server. Однако настроить эти требования на уровне SQL Server вы не можете: если флажок Enforce password policy будет установлен, то на пароль для данного логина просто будут распространены те требования, которые применяются к локальным учетным записям на данном компьютере. Проще всего просмотреть параметры парольной политики из редактора групповой политики, подключив его к локальному компьютеру. Последовательность действий при этом может выглядеть так:

1.     Установить необходимую консоль на компьютер. Для этого в командной строке Windows 2000 Server или Windows 2003 достаточно выполнить команду Adminpak.msi. В Windows XP потребуется предварительно скопировать этот файл с компьютера, на котором установлен WindowsServer 2003 (или с дистрибутива Windows 2003 Server).

2.     Открыть эту консоль. Проще всего это сделать так:

·                в командной строке выполнить команду MMC;

·                в меню Консоль выбрать команду Добавить или удалить оснастку;

·                в открывшемся окне нажать кнопку Добавить;

·                в списке оснасток выбрать Редактор объектов групповой политики;

·                на экране Выбор объекта групповой политики выбрать Локальный компьютер.

3.     Раскрыть узел Политика "Локальный компьютер" | Конфигурация компьютера | Конфигурация Windows | Параметры безопасности | Политики учетных записей | Политика паролей и посмотреть, что ожидает пользователей SQL Server.

Если компьютер, на котором установлен SQL Server 2005, не входит в домен, то к логинам SQL Server 2005 по умолчанию будут применяться требования, представленные на рис. 5.1.

Рис. 5.1. Требования к паролям, применяемые по умолчанию для логинов SQL Server 2005

Если компьютер находится в домене, то все зависит от администратора домена.

Обратите внимание, что при установленном флажке Enforce password history (Использовать парольную политику) на логин распространяются не только требования к паролям, но и политики блокировки учетных записей, принятые на этом компьютере. Они настраиваются из той же консоли при помощи контейнера Политика блокировки учетной записи. Те параметры, которые можно настроить, и их значения по умолчанию представлены на рис. 5.2.

Рис. 5.2. Параметры блокировки паролей для логинов SQL Server 2005 по умолчанию

Enforce password expiration (Включить устаревание пароля) — этот параметр определяет, будут ли на логин SQL Server распространяться те же требования по смене пароля через определенный промежуток времени, что и для учетных записей Windows. Этот флажок можно установить только при установленном флажке Enforce password history.

С точки зрения автора, флажок Enforce password expiration лучше не устанавливать, поскольку тогда по умолчанию через 42 дня при входе пользователя в сеть потребуется смена пароля. В большинстве случаев клиентское приложение не обеспечивает необходимый интерфейс, и пользователь просто перестанет входить в SQL Server.

User must change password at next logon (Пользователь должен поменять пароль при следующем входе) — с этим флажком нужно быть исключительно осторожным. Окно для смены пароля появляется только в SQL Server Management Studio. Большинство других приложений при попытке подключиться от имени такого пользователя просто вернут ошибку. Работать этот флажок будет, только если возможность смены пароля предусмотрел разработчик клиентского приложения, что бывает далеко не всегда.

Отметим еще один момент, связанный с паролями. Как показывает опыт, даже если клиентское приложение предоставляет пользователю возможность поменять свой пароль для логина SQL Server самостоятельно, не стоит надеяться на то, что пользователь сможет сам придумать действительно защищенный пароль, а не простую комбинацию типа "123". По глубокому убеждению автора, пароли для пользователей должен придумывать тот, кто отвечает за безопасность системы, т. е. администратор SQL Server 2005.

Mapped to certificate (Привязан к сертификату) и Mapped to asymmetric key (Привязан к асимметричному ключу) — эти параметры позволяют просмотреть сертификат или асимметричный ключ, который будет применяться для данного пользователя. Назначить сертификат можно только при помощи команды Transact-SQL CREATE LOGIN. Подробнее про использование сертификатов и асимметричных ключей для аутентификации и шифрования данных будет рассказано в разд. 5.6.

Default database (База данных по умолчанию) — база данных, к которой по умолчанию будет подключаться пользователь при входе на SQLServer. По умолчанию используется база данных master. Как правило, менять этот параметр не следует: код для перехода к нужной базе данных при подключении обеспечивает клиентское приложение.

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

На вкладке Status (Состояние) свойств логина можно настроить для этого логина дополнительные параметры:

-      Permissions to connect to database engine (Разрешение на подключение к ядру баз данных) — по умолчанию для всех логинов устанавливается значение Grant, т. е. подключаться к SQL Server разрешено. Значение Deny, как правило, используется только в одном случае — когда вы предоставляете доступ на SQL Server 2005 логину для группы Windows, а одному или нескольким членам этой группы доступ нужно запретить. Поскольку явный запрет всегда имеет приоритет перед разрешением, то достаточно будет создать свои собственные логины Windowsдля этих пользователей и установить для них значение Deny.

-      Login enabled/disabled (Логин включен/отключен) — конечно, все логины по умолчанию включены. Обычно отключать их приходится только в ситуации, когда какой-то пользователь увольняется или переходит на другую работу. Чтобы сэкономить время, достаточно просто отключить данный логин, а при появлении пользователя со схожими рабочими обязанностями переименовать этот логин, поменять пароль и включить. Заниматься предоставлением разрешений заново в этом случае не придется.

-      Login is locked out (Логин заблокирован) — установить этот флажок вы не можете (только снять его). Учетная запись пользователя блокируется автоматически после нескольких попыток неверного ввода пароля для логина SQL Server, если такая блокировка настроена на уровне операционной системы, а для логина установлен флажок Enforce password policy.

Для логина предусмотрено также несколько "секретных" свойств, которые доступны только при использовании команд CREATE LOGIN, ALTER LOGINили специальных функций Transact-SQL. Графического интерфейса для их изменения не предусмотрено. Все эти свойства являются новыми по отношению к предыдущим версиям SQL Server, поэтому далее приведен их перечень с комментариями.

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

-      CREDENTIAL — назначает логину объект Credential (который представляет собой набор "имя учетной записи Windows/пароль"). ОбъектCredential обычно используется в ситуациях, когда пользователь из кода Transact-SQL должен выполнить какие-то действия в операционной системе или на другом сервере SQL Server. Эти действия он сможет выполнить от имени учетной записи, которая определена при помощи объектаCredential. Сам объект можно создать из контейнера Credentials в SQL Server Management Studio или при помощи команды CREATE CREDENTIAL.

-      SID — позволяет явно назначить логину глобально-уникальный идентификатор безопасности (если его не указать, то он будет сгенерирован автоматически). Выглядеть он может, например, так: 0xD3B670F1A11E6C41B8F965EA3C2E189E. Просмотреть его для существующего пользователя можно при помощи функции SUSER_SID. Настраивать его стоит только в том случае, если он будет использоваться в таблицах ваших баз данных или для дополнительных проверок.

-      ID — идентификатор логина в системных таблицах SQL Server. Если SID — это глобально-уникальный идентификатор, то ID — это просто номер, который может выглядеть, например, так: 266. Настроить его нельзя, а просмотреть можно при помощи функции SUSER_ID.

Параметры, которые есть на других вкладках свойств логина (Server RolesUser MappingSecurables), будут рассмотрены в следующих разделах данного модуля.

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