Функции администратора. Управление памятью. Управление многопользовательским доступом. Экспорт и импорт данных, страница 11

Любая модель управления доступом предполагает, что все субъекты, выполняющие доступ (пользователи) зарегистрированы в системе. Все промышленные СУБД имеют средства регистрации пользователей и работают только с зарегистрированными пользователями. Каждый вход любого пользователя в систему начинается с его авторизации - поиска его имени в списке зарегистрированных пользователей и проверки правильности введенного им пароля. Современные многопользовательские ОС имеют аналогичные средства регистрации и авторизации пользователей, поэтому соответствующие средства СУБД и ОС могут быть связаны в той или иной степени.

Регистрация пользователей (а также исключение, изменение пароля и класса привилегий) выполняется отдельными компонентами в составе СУБД или специальными командами. Доступ к средствам регистрации имеет только системный администратор.

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

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

Во всех СУБД предусматривается также объединение пользователей в группы. Группа состоит из нескольких пользователей, которые имеют одинаковые привилегии доступа к объектам. Группа имеет имя, которое используется в операторах GRANT и REVOKE. Если привилегии предоставляются группе, то тем самым они предоставляются каждому члену группы. Пользователь может одновременно быть членом любого числа групп.   Группы являются удобным средством как внешнего администрирования, так и внутреннего управления правами, так как позволяют сократить общий объем информации о правах доступа. На каждую группу заводится такая же регистрационная информация, как и на отдельного пользователя. Включение пользователя в одну или несколько групп не отменяет его индивидуальных привилегий, более того, индивидуальные привилегии имеют приоритет над групповыми. При каждом запросе возможность предоставления доступа проверяется СУБД сначала по индивидуальному списку привилегий пользователя и лишь при неуспешности такой проверки - по спискам привилегий тех групп, в которых данный пользователь участвует.

6.3. Объекты доступа и виды привилегий

Объекты данных, к которым производится доступ могут быть выстроены в следующую иерархию: СУБД - БД - таблица - строка - столбец. Также объектами являются вспомогательные структуры БД - индексы, пакеты, записанные процедуры и т.д.

Доступ к СУБД контролируется механизмом авторизации пользователя. Доступ к БД контролируется при подключении к БД и также может включать в себя авторизацию. Доступ к объектам внутри БД контролируется при каждом акте доступа. Объекты БД, к которым пользователь имеет доступ – это объекты, принадлежащие ему на правах владельца, объекты, права на которые получены им от владельца, объекты, доступ к которым предопределен классом привилегий пользователя, и PUBLIC-объекты.

Объекты владения - те, которые создаются явным образом той или иной модификацией оператора CREATE (CREATE TABLE, CREATE VIEW, CREATE INDEX и т.д.). Отметим, что право владения связывается только с уже существующим объектом, для того, чтобы создать объект и стать его владельцем, пользователь должен иметь право создания в объекте более высокого уровня, например, чтобы создать таблицу, он должен иметь право создавать таблицы для данной БД.