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

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

            | DEFAULT_LANGUAGE = язык

            | CHECK_ POLICY = {ON | OFF}

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

            [CREDENTIAL = объект_credential]

В секции PASSWORD задается пароль внутренней учетной записи. Собственно, в простейшем случае достаточно бывает указать в команде CREATE LOGIN только имя учетной записи и пароль, например:

CREATE LOGIN Login1 WITH PASSWORD = ‘P@ssw0rd’

Однако нередко пригождаются и дополнительные опции.

Опция HASHED указывает на то, что после ключевого слова PASSWORD следует не пароль, а его готовый хеш и, следовательно, SQL Server не должен хешировать указанное значение, а сохранять его сразу. Если слово HASHED в вызове команды опущено, SQL Server считает, что указанное значение – это пароль, и выполняет хеширование перед сохранением.

Опция MUST_CHANGE указывает на то, что конечный пользователь обязан менять пароль при следующем входе. Данную опцию можно указывать, если опции CHECK_EXPIRATION и CHECK_OPTIONS (см. далее) установлены в ON.

Опция SID назначает учетной записи глобальный уникальный идентификатор безопасности. Если его не указать, он будет сгенерирован автоматически.

Опция DEFAULT_DATABASE задает «БД по умолчанию», к которой будет автоматически подключаться конечный пользователь при входе в СУБД.

Опция DEFAULT_LANGUAGE задает язык, который будет использоваться по умолчанию данным пользователем во время сеансов. Данный параметр в основном влияет на формат даты и времени, возвращаемых сервером. Если опция не указана, то в качестве «языка по умолчанию» берется язык, установленный на уровне СУБД.

Опция CHECK_POLICY позволяет применить по отношению к создаваемой учетной записи парольную политику Windows, установленную для локальных учетных записей на данном компьютере. Как известно, на уровне Windows можно задать минимальный и максимальный сроки действия паролей, минимальную длину пароля, некоторые требования сложности, неповторяемости, шифрования. Чтобы связать парольную политику Windows с создаваемой учетной записью, необходимо установить опцию CHECK_POLICY в ON. Значение OFF принимается по умолчанию. Необходимо отметить, что данную опцию (как и все опции, связанные с нею), можно использовать, только если SQL Server работает под управлением Windows 2003 Server.

Опция CHECK_EXPIRATION позволяет настроить контроль устаревания пароля. По умолчанию принимается значение OFF (отключена). Включение данной опции означает, что для создаваемой учетной записи определяется период устаревания пароля, который соответствует промежутку времени, определяемому локальной политикой безопасности Windows. По истечении периода устаревания пароль нужно будет менять. Установка данной опции возможна только в том случае, если установлена опция CHECK_POLICY.

Опция CREDENTIAL назначает учетной записи объект Credential. Он используется в ситуациях, когда пользователю необходимо выполнить какие-либо действия в операционной системе или на другом SQL-сервере из кода Transact-SQL. Эти действия он сможет выполнить от имени учетной записи Windows, определенной при помощи объекта Credential; сам по себе объект Credential содержит пару «имя учетной записи Windows/пароль” и создается при помощи команды CREATE CREDENTIAL.

Секция FROM команды CREATE LOGIN используется для регистрации на SQL Server учетной записи Windows, а также для привязки учетной записи к цифровому сертификату или асимметричному криптографическому ключу. Ее синтаксис имеет следующий вид:

FROM WINDOWS

            [WITH {DEFAULT_DATABASE = база_данных

                                   | DEFAULT_LANGUAGE = язык} [, …n]]

            | CERTIFICATE сертификат

            | ASYMMETRIC KEY асимметричный_ключ

Опция WINDOWS указывает на то, что создаваемая учетная запись будет отображена на учетную запись Windows. Параметры DEFAULT_DATABASE и DEFAULT_LANGUAGE полностью аналогичным описанным ранее одноименным параметрам, используемым при создании внутренних учетных записей SQL Server.