Управление именами входа
Имя входа – это субъект безопасности, с помощью которого система
безопасности может проверить подлинность лица или сущности. Имя входа
необходимо пользователю для соединения с SQL Server. Вы можете создать
имя входа на основе участника Windows (например, пользователя или группы
домена Windows), либо на основе пользователя, не являющегося участником
Windows (например, имени входа SQL Server).
Можно создавать имена входа в среде SSMS или с помощью кода T-SQL.
Использование сценария Transact-SQL намного быстрее и удобнее.
Создание имен входа с помощью инструкции CREATE LOGIN.
В этом примере создается имя входа ADVENTUREWORKS\SalesReps для
группы Windows с таким же именем. База данных по умолчанию для
пользователя будет salesdb. Если этот параметр не задан, база данных по
умолчанию устанавливается master.
CREATE LOGIN [ADVENTUREWORKS\SalesReps]
FROM WINDOWS
WITH DEFAULT_DATABASE = [salesdb];
Имена пользователей и групп Windows должны заключаться в квадратные
скобки, поскольку они содержат символ обратной косой черты.
Имена входа SQL Server создаются таким же образом. Однако, есть
дополнительные аргументы, которые относятся только к именам входа SQL
Server (например, аргумент PASSWORD).
В следующем примере показано, как создать логин с именем DanDrayton и
паролем Pa$$w0rd:
CREATE LOGIN DanDrayton
WITH PASSWORD = 'Pa$$w0rd',
DEFAULT_DATABASE = [salesdb];
Политика безопасности имени входа SQL Server
Администраторы Windows могут включить политики для пользователей
Windows, которые обеспечивают требования сложности паролей и истечения
срока действия. SQL Server может применять аналогичные ограничения.
При создании логина SQL Server можно указать следующие параметры:
70
MUST_CHANGE: при следующем входе в систему SQL Server
предложит пользователю изменить пароль. Вы должны убедиться, что
это сработает независимо от клиентского приложения, которое
пользователь использует для подключения к SQL Server. Значение по
умолчанию для этого параметра при использовании среды SSMS «ON»,
но при выполнении инструкции CREATE LOGIN значение «OFF».
CHECK_POLICY = {ON | OFF}: Значение по умолчанию для этого
параметра имеет значение ON, что усиливает политику сложности
паролей для этого пользователя.
CHECK_EXPIRATION = {ON | OFF}: Установка этого значения в «ON»
заставляет пользователя изменять свой пароль через регулярные
промежутки времени Значение по умолчанию для этого параметра при
использовании среды SSMS «ON», но при выполнении инструкции
CREATE LOGIN значение «OFF».
Можно настроить параметры политики для имени входа SQL Server в среде
SSMS, в инструкции CREATE LOGIN или ALTER LOGIN.
Полное применение политики учетных записей не всегда является
желательным. Например, некоторые приложения используют фиксированные
учетные данные для подключения к серверу. Часто эти приложения не
поддерживают регулярное изменение паролей входа. В этих случаях надо
отключить истечение срока действия пароля для этих имен входа.
В следующем примере кода изменяем имя входа DanDrayton, созданное
ранее, чтобы явно отключить проверку политики:
ALTER LOGIN DanDrayton
WITH CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF;
Пароли можно изменять, например, с помощью инструкции ALTER LOGIN:
ALTER LOGIN DanDrayton
WITH OLD_PASSWORD = 'Pa$$w0rd',
PASSWORD = 'NewPa$$w0rd';
Если имена входа не используются, их можно удалить с сервера.
DROP LOGIN DanDrayton;
Если имена входа не используются только определенный период времени,
следует их не удалять, а отключить и затем повторно включить:
ALTER LOGIN DanDrayton DISABLE;
...
ALTER LOGIN DanDrayton ENABLE;
Нельзя удалить текущее имя входа. Также нельзя удалить имя входа,
владеющее любым защищаемым объектом уровня сервера или заданием
агента SQL Server. Можно удалить имена входа, сопоставленные
пользователям базы данных; однако это приведет к появлению
пользователей, утративших связь с учетными записями.
71
Do'stlaringiz bilan baham: |