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

Страницы работы

Содержание работы

Управление доступом к базе данных

Пользователи базы данных

Пользователи базы данных Oracle и схемы

Администратор базы данных Oracle

Пользователи SQL Server

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

Аутентификация в СУБД Oracle

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

Авторизация пользователей

Авторизация в СУБД Oracle

Авторизация в SQL Server

Привилегии и роли

Предоставление привилегий

Отмена привилегий

Управление привилегиями через роли

Домен безопасности Oracle

Параметры хранения и квоты

Профили и ограничение использования ресурсов

Создание профиля

Назначение профиля

Удаление профиля

Домен безопасности

Аудит действий пользователей

Аудит в СУБД Oracle

Аудит в SQL Server

Шифрование объектов

Многопользовательские системы управления базами данных, такие, как Oracle и SQL Server, должны обеспечивать защиту баз данных. Защита базы данных предполагает:

§  предотвращение несанкционированного доступа к базе данных;

§  предотвращение неавторизованного доступа к объектам базы данных;

§  аудит действий пользователей в базе данных;

§  защита содержимого программных единиц.

Сервер баз данных управляет секретностью базы данных, используя различные средства:

§  управление пользователями базы данных;

§  управление привилегиями и ролями;

§  аудит базы данных;

§  шифрование хранимых программных единиц.

Пользователи базы данных

Каждая база данных имеет список допустимых пользователей базы данных, идентифицируемых именами пользователей. Чтобы предотвратить несанкционированный и неавторизованный доступ пользователей к базе данных и ее объектам, доступ к базе данных обычно проходит в два этапа:

·  аутентификация (authentication), заключающаяся в проверке прав пользователя на подключение к экземпляру сервера баз данных;

·  авторизация (authorization), заключающаяся в проверке привилегий на доступ к базам данных и их объектам на сервере.

Пользователи базы данных Oracle и схемы

Каждая база данных 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

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

Администратор базы данных Oracle

При создании базы данных автоматически создается пользователь с правами администратора базы данных. Администратор базы данных имеет самый высокий уровень системных привилегий.

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

Административные привилегии, которые позволяют администратору выполнять специальные задачи, предоставляются через специальные роли SYSDBA и SYSOPER. Только пользователь с такими привилегиями может соединиться с базой данных, как администратор базы данных.

Роли SYSDBA и SYSOPER позволяют, например, выполнять следующие задачи:

Роль

Разрешенные операции

SYSDBA

  • STARTUP
  • SHUTDOWN
  • ALTER DATABASE OPEN/MOUNT/BACKUP/CHARACTER SET
  • CREATE DATABASE

SYSOPER

  • STARTUP
  • SHUTDOWN
  • ALTER DATABASE OPEN/MOUNT/BACKUP

Если Вы соединяетесь с базой данных, как 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

SQL Server поддерживает четыре типа пользователей:

Похожие материалы

Информация о работе