Введение в дисциплину «Безопасность систем баз данных». Теоретические основы построения реляционных баз данных. Верификация баз данных и проведение аудита в СБД. Распределенные базы данных, страница 49

Опции CERTIFICATE и ASYMMETRIC KEY служат для привязки учетной записи к сертификату или асимметричному ключу соответственно. Сертификат (асимметричный ключ) должен быть заранее создан в системной БД Master.

Конечный пользователь имеет право выполнять данную команду, если его учетная запись включена в роль System Administrator или Security Administrator, или для нее установлено разрешение ALTER ANY LOGIN. Для использования опции CREDENTIAL необходимо разрешение ALTER ANY CREDENTIAL.

Модификация учетной записи

Изменение пароля и прочих параметров учетной записи, ранее зарегистрированной на сервере, выполняется с помощью команды ALTER LOGIN. Синтаксис команды в целом напоминает синтаксис CREATE LOGIN, но имеются и некоторые отличия:

ALTER LOGIN имя_учетной_записи

            WITH {PASSWORD = ‘пароль’

                                   [OLD_PASSWORD = ‘старый_пароль’

                                               | [MUST_CHANGE] [UNLOCK]]

| DEFAULT_DATABASE = база_данных

                       | DEFAULT_LANGUAGE = язык

                       | NAME = новое_имя

                       | CHECK_ POLICY = {ON | OFF}

                       | CHECK_EXPIRATION = {ON | OFF}] [, …n]

                       | CREDENTIAL = объект_credential

                       | NO CREDENTIAL}

Опция UNLOCK указывается при смене пароля, если учетная запись была ранее заблокирована сервером. Дело в том, что в SQL Server существует возможность автоматического блокирования учетных записей при неправильном наборе паролей несколько раз подряд. Разблокировать учетную запись может только системный администратор или администратор безопасности.

Как видно из описания синтаксиса, команда ALTER LOGIN может быть использована для смены имени учетной записи, умалчиваемой БД и языка, настроек парольной политики и объекта Credential.

Существует и другой вариант команды ALTER LOGIN, позволяющий отключать (DISABLE) и включать (ENABLE) учетную записи. В этом случае синтаксис команды таков:

ALTER LOGIN имя_учетной_записи {ENABLE | DISABLE}

Типичный случай, при которым стоит временно отключить учетную запись, - увольнение сотрудника или при переходе на другую работу. Учетная запись уволенного сотрудника сохраняется на сервере, но отключается, и в результате никто не сможет входить в систему от имени данной учетной записи. В дальнейшем, когда на освободившееся место приходит новый сотрудник, и ему требуется учетная запись со схожими параметрами, администратор включает ранее выключенную учетную запись, меняя имя и пароль. Подобные манипуляции занимают меньше времени, чем удаление и повторное создание учетной записи под другим именем.

Конечный пользователь имеет право выполнять команду ALTER LOGIN, если его учетная запись включена в роль System Administrator или Security Administrator, или для нее установлено разрешение ALTER ANY LOGIN. Для использования опции CREDENTIAL необходимо разрешение ALTER ANY CREDENTIAL.

Удаление учетной записи

Команда удаления учетной записи DROP LOGIN имеет всего один параметр – имя удаляемой учетной записи, поэтому описание ее синтаксиса примитивно простое:

DROP LOGIN имя_учетной_записи

Конечный пользователь имеет право выполнять данную команду, если его учетная запись включена в роль System Administrator или Security Administrator, или для нее установлено разрешение ALTER ANY LOGIN.

6.1.2.2. Серверные роли

Набор серверных ролей в SQL Server строго фиксирован. Не существует никаких способов добавить новую серверную роль, удалить существующую или перезадать разрешения доступа для имеющейся серверной роли. Набор фиксированных ролей сервера Microsoft SQL описан в табл. 6.1. Каждой роли соответствует свои административные права.

Таблица 6.1 – Серверные роли Microsoft SQL Server

Имя роли

Права

public

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

sysadmin

(System Administrators)

Полные права на администрирование СУБД с возможностью передачи административных полномочий другим учетным записям.