Типы привилегий

Объектная и системная привилегии

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

Объектная привилегия

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

Следует помнить, что пользователь, создавший таблицу, является ее владельцем. Это означает, что пользователь имеет все привилегии на таблицу и может назначать привилегии для работы с ней для других пользователей. Пользователь может назначить следующие объектные привилегии:

Объектная привилегияОписание
SELECT пользователь с этой привилегией может выполнять запросы для таблицы
INSERT пользователь с этой привилегией имеет право добавлять строки в таблицу
UPDATE пользователь с этой привилегией может изменять существующие значения в строках таблицы. Привилегия ограничивается множеством столбцов таблицы
DELETE пользователь с этой привилегией может удалить строки из таблицы
ALTER Позволяет изменять структуру только таблицы или последовательности, привилегии Alter на все другие объекты базы данных считаются системными
INDEX Позволяет создавать индекс для ранее описанной таблицы
EXECUTE Позволяет выполнять хранимую процедуру или функцию
REFERENCES Пользователь с этой привилегией может определить внешний ключ, который использует один или несколько столбцов таблицы в качестве родительского ключа. Можно ограничить привилегию указанием столбцов. (Внешний ключ, родительский ключ – когда поле таблицы ссылается на другое поле в другой таблице, оно называется внешним ключом (foreign key). Поле, на которое он ссылается, называется его родительским ключом (parent key). Поле ссылается на (refers to) или является ссылкой (references))

Системные привилегии

Привилегии, которые не определяются в терминах отдельных объектов, называют системными привилегиями (system privileges) или авторским правом на базу данных (database authorities). Системные привилегии включают в себя право создавать объекты базы данных.

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

Тип привилегииОписание
CONNECT Предусматривает право входить в систему и создавать представления и синонимы (синоним – альтернативное имя таблицы), если речь идет об объектных привилегиях. Пользователь может работать с объектами, к которым он имеет привилегии по доступу
RESOURCE Предоставляет право создавать таблицы и индексы
DBA (Database Administrator) – разрешает пользователю выполнять действия администратора базы данных, т.е. распоряжаться ею как своей собственной.

Имея привилегию DBA, пользователь может выполнять команду Select для любой таблицы и представления, создавать объекты для других пользователей, предоставлять другим пользователям различные привилегии, выполнять экспорт/импорт БД. Эту привилегию имеет пользователь (один или несколько) с функцией администрирования базы данных. Кроме этого, существует также специальный пользователь, называемый системным администратором, который обладает высшим авторским правом.

Оставить комментарий к «Типы привилегий»