Управление доступом к базе данных. Пользователи базы данных Oracle и схемы. Аутентификация в СУБД Oracle и SQL Server, страница 3

Аутентификация средствами операционной системы

·  Создайте для пользователя учетную запись в операционной системе.

·  Добавьте пользователя к группе OSDBA или OSOPER.

·  Установите параметр инициализации REMOTE_LOGIN_PASSWORDFILE = NONE (значение по умолчанию).

·  Создайте пользователя базы данных, если он еще не создан. Имя пользователя должно состоять из имени пользователя операционной системы и префикса, заданного параметром инициализации OS_AUTHENT_PREFIX (по умолчанию OPS$):

CRREATE USER ops$scott IDENTIFIED EXTERNALLY;

Или, если OS_AUTHENT_PREFIX = ""

CREATE USER scott IDENTIFIED EXTERNALLY;

·  Теперь пользователь может соединиться с базой данных:

CONNECT / AS SYSDBA

Аутентификация администратора с использованием файла паролей

·  Создайте для пользователя учетную запись в операционной системе.

·  Создайте файл пароля, если он еще не существует, с помощью утилиты ORAPWD:

ORAPWD FILE=имя_файла PASSWORD=пароль ENTRIES=максимальное_число_пользователей

·  Установите параметр инициализации REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE

·  Соединитесь с базой данных, как пользователь SYS, или как любой другой  пользователь с административными привилегиями.

·  Создайте пользователя в базе данных, если он еще не существует. Предоставьте ему роль SYSDBA или SYSOPER:

GRANT SYSDBA TO scott;

Это утверждение добавит пользователя в файл паролей.

·  Теперь пользователь может соединиться с базой данных:

CONNECT scott/tiger AS SYSDBA;

Создание пользователя базы данных Oracle

Администратор базы данных создает других пользователей базы данных и предоставляет им необходимые системные привилегии. Для управления пользователями в СУБД Oracle используются SQL команды:

SQL команда

Описание

Пример

CREATE USER пользователь IDENTIFIED
{BY пароль | EXTERNALLY}

Используется, чтобы создать нового пользователя с заданным именем  и паролем.
EXTERNALLY – устанавливает проверку прав доступа пользователя на уровне ОС

CREATE USER student IDENTIFIED BY tbd

ALTER USER пользователь IDENTIFIED
{BY пароль | EXTERNALLY}

Используется, чтобы изменить пароль. Пароль может изменить сам пользователь или администратор базы данных

ALTER USER student IDENTIFIED EXTERNALLY

DROP USER пользователь [CASCADE]

Используется для удаления пользователя.
CASCADE – удаляет, также, объекты пользователя. Если в схеме пользователя есть объекты, и при удалении пользователя не указать CASCADE, сервер вернет ошибку

DROP USER student CASCADE

Аутентификация в SQL Server

SQL Server 2000 поддерживает два режима аутентификации:

·  режим аутентификации средствами Windows (Windows authentication mode) – пользователи соединяются с SQL Server, используя пользовательскую учетную запись Microsoft Windows NT 4.0 или Windows 2000.

·  смешанный режим аутентификации (mixed mode) – пользователи соединяются с SQL Server, используя аутентификацию средствами Windows или аутентификацию средствами SQL Server, используемую для совместимости с более ранними версиями SQL Server.

В режиме аутентификации средствами Windows пользователь может зарегистрироваться на локальном компьютере или на любом компьютере домена, при этом отдельная регистрация в SQL Server не требуется. Когда пользователь соединяется с экземпляром SQL Server, используя пользовательскую учетную запись Windows NT 4.0 или Windows 200, сервер проверяет пользовательское имя и пароль, обращаясь за информацией прямо к операционной системе.

В смешанном режиме аутентификация может происходить как средствами Windows, так и средствами SQL Server. Методом по умолчанию является аутентификация средствами Windows, однако в некоторых случаях аутентификация средствами SQL Server, когда сервер сам проверяет, существует ли такой идентификатор SQL Server, является единственным способом подключения:

·  когда SQL Server работает под управлением Windows 98;

·  если используется более ранняя версия SQL Server;

·  если приложение написано специально для использования аутентификации средствами SQL Server.

Режим аутентификации средствами Windows имеет ряд преимуществ, таких как шифрование паролей, блокировка пароля после заданного числа неудачных попыток соединения с базой данных, время жизни пароля, минимальная длина пароля и т. д.

Чтобы пользователь мог подключиться к SQL Server, для него необходимо создать учетное имя и открыть доступ к SQL Server. Эти задачи можно выполнить с помощью Transact-SQL и Enterprise Manager.

Настройка аутентификации в Enterprise Manager

Раскройте узел Security на левой панели Enterprise Manager, щелкните Logins нерабочей клавишей мыши и выберите New Login из контекстного меню. В диалоговом окне SQL Server Login Properties – New Login выберите метод аутентификации и введите имя учетной записи. Если Вы выбрали аутентификацию средствами Windows, имейте в виду, что доменная учетная запись включает доменное имя, а учетная запись локального пользователя Windows включает имя компьютера. Например, чтобы добавить локального пользователя User1 экземпляра SQL Server с именем SQLSRV, необходимо ввести имя учетной записи SQLSRV\User1.

Настройка аутентификации с помощью Transact-SQL

Для управления аутентификацией в SQL Server предназначены системные хранимые процедуры.

Учетные записи Windows:

Хранимая процедура

Описание

Пример

sp_grantlogin

[@loginame =] 'имя_учетной_записи'

Используется, чтобы добавить учетную запись Windows и предоставить ей доступ к SQL Server

sp_grantlogin

@loginame = 'SQLSRV\User1'

sp_denylogin

[@loginame =] 'имя_учетной_записи'

Используется, чтобы запретить учетной записи доступ к SQL Server, не удаляя саму учетную запись

sp_denylogin

@loginame = 'SQLSRV\User1'

sp_revokelogin

[@loginame =] 'имя_учетной_записи'

Используется, чтобы удалить учетную запись. При удалении записи удаляются, также, привилегии, которые были предоставлены этой записи

sp_revokelogin

@loginame = 'SQLSRV\User1'

Идентификаторы SQL Server: