Пользователи базы данных
Пользователи базы данных Oracle и схемы
Администратор базы данных Oracle
Пользователи SQL Server
Аутентификация пользователей
Аутентификация в СУБД Oracle
Аутентификация в SQL Server
Авторизация пользователей
Авторизация в СУБД Oracle
Авторизация в SQL Server
Привилегии и роли
Предоставление привилегий
Отмена привилегий
Управление привилегиями через роли
Домен безопасности Oracle
Параметры хранения и квоты
Профили и ограничение использования ресурсов
Создание профиля
Назначение профиля
Удаление профиля
Домен безопасности
Аудит действий пользователей
Аудит в СУБД Oracle
Аудит в SQL Server
Шифрование объектов
Многопользовательские системы управления базами данных, такие, как Oracle и SQL Server, должны обеспечивать защиту баз данных. Защита базы данных предполагает:
§ предотвращение несанкционированного доступа к базе данных;
§ предотвращение неавторизованного доступа к объектам базы данных;
§ аудит действий пользователей в базе данных;
§ защита содержимого программных единиц.
Сервер баз данных управляет секретностью базы данных, используя различные средства:
§ управление пользователями базы данных;
§ управление привилегиями и ролями;
§ аудит базы данных;
§ шифрование хранимых программных единиц.
Каждая база данных имеет список допустимых пользователей базы данных, идентифицируемых именами пользователей. Чтобы предотвратить несанкционированный и неавторизованный доступ пользователей к базе данных и ее объектам, доступ к базе данных обычно проходит в два этапа:
· аутентификация (authentication), заключающаяся в проверке прав пользователя на подключение к экземпляру сервера баз данных;
· авторизация (authorization), заключающаяся в проверке привилегий на доступ к базам данных и их объектам на сервере.
Каждая база данных Oracle имеет список допустимых пользователей базы данных, идентифицируемых именами пользователей. Когда создается пользователь базы данных, для него создается соответствующая схема с таким же именем.
Схема – это набор логических структур данных (объектов схемы). Схема является собственностью пользователя базы данных и имеет то же самое имя, что и пользователь базы данных. Каждый пользователь имеет свою собственную схему. Объекты схемы создаются и управляются с помощью языка SQL. Объектами схемы являются, например, следующие логические структуры:
§ таблицы;
§ представления;
§ синонимы;
§ индексы;
§ хранимые процедуры и т.д.
Объект схемы – это логическая структурная единица в иерархии хранения (сегменты данных, индексные сегменты). Объект схемы логически хранится внутри табличного пространства, в котором он был создан.
Между объектами схемы и файлами операционной системы не существует взаимно однозначного соответствия:
§ один файл ОС может содержать объекты разных схем
§ ;
§ данные каждого объекта схемы физически хранятся в одном или более файлов операционной системы, из которых состоит это табличное пространство.
Между табличными пространствами и схемами, также, не существует взаимно однозначного соответствия:
§ одно табличное пространство может содержать объекты разных схем;
§ объекты одной схемы могут содержаться в разных табличных пространствах.
Когда пользователь создает объекты в базе данных, он создает их в определенной схеме (по умолчанию в своей). Схема содержит набор объектов конкретного пользователя, причем объекты другого пользователя в ней не содержатся. По умолчанию пользователь имеет доступ только к объектам собственной схемы. Чтобы обращаться к объектам, содержащимся в другой схеме, необходимо:
§ указать имя схемы перед именем объекта, который в ней находится;
§ иметь привилегию на этот объект. Привилегию должен дать владелец объекта.
Рассмотрим пример. Пользователь system создал таблицу sample и дал пользователю student привилегию на чтение этой таблицы. Пользователь student должен указать имя схемы при обращении к таблице sample, т.к. таблица sample находится в схеме пользователя system.
SQL> CONNECT student/tbd
Connected.
SQL> SELECT * FROM sample;
SELECT * FROM sample
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> SELECT * FROM system.sample;
ENAME COMM
---------- ----------
ALLEN 660
WARD 880
MARTIN 1870
TURNER 330
Когда пользователь соединяется с базой данных, он всегда подключается к собственной схеме, если только он не соединяется с базой данных как администратор.
При создании базы данных автоматически создается пользователь с правами администратора базы данных. Администратор базы данных имеет самый высокий уровень системных привилегий.
Администратор базы данных часто выполняет специальные операции такие, как закрытие и открытие базы данных. В связи с тем, что эти операции может выполнять только администратор базы данных, аутентификация администратора базы данных должна происходить по специальной защищенной схеме.
Административные привилегии, которые позволяют администратору выполнять специальные задачи, предоставляются через специальные роли SYSDBA и SYSOPER. Только пользователь с такими привилегиями может соединиться с базой данных, как администратор базы данных.
Роли SYSDBA и SYSOPER позволяют, например, выполнять следующие задачи:
Роль |
Разрешенные операции |
SYSDBA |
|
SYSOPER |
|
Если Вы соединяетесь с базой данных, как SYSDBA или SYSOPER, Вы получаете схему по умолчанию (SYS или PUBLIC соответственно), а не собственную схему.
Например, соединяясь, как обычный пользователь system, Вы получите схему system и сможете манипулировать объектами этой схемы:
SQL> CONNECT system/manager
Connected.
SQL> SELECT * FROM sample;
ENAME COMM
---------- ----------
ALLEN 660
WARD 880
MARTIN 1870
TURNER 330
Однако если пользователь system соединится с базой данных, как привилегированный пользователь, схемой пользователя будет являться схема SYS, и к объектам собственной схемы пользователь system доступа иметь не будет.
SQL> CONNECT system/manager AS SYSDBA
Connected.
SQL> SELECT * FROM sample;
SELECT * FROM sample
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL Server поддерживает четыре типа пользователей:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.