Управление доступом к данным — различия между версиями
Cuciev (обсуждение | вклад) м (Cosmetics) |
Cuciev (обсуждение | вклад) (Предваритльно: синтаксис для удаления и добавления прав) |
||
Строка 42: | Строка 42: | ||
= Data Control Language = | = Data Control Language = | ||
== Добавление прав == | == Добавление прав == | ||
+ | <font color=blue>grant <font color=red>{<font color=blue>select<font color=grey>|<font color=blue>insert<font color=grey>|<font color=blue>update<font color=grey>|<font color=blue>delete<font color=grey>|<font color=blue>create<font color=grey>|<font color=blue>execute<font color=grey>|<font color=blue>trigger<font color=grey>|<font color=blue>usage<font color=grey>|<font color=red>…<font color=grey>|<font color=blue>all priviledges<font color=red>}</font> | ||
+ | <font color=blue>on <font color=red>{<font color=blue>table<font color=grey>|<font color=blue>database<font color=grey>|<font color=blue>view<font color=grey>|<font color=blue>procedure<font color=grey>|<font color=blue>function<font color=grey>|<font color=red>…} имя</font> | ||
+ | <font color=blue>to <font color=red>{пользователь<font color=grey>|<font color=blue>group <font color=red>группа<font color=grey>|<font color=blue>public<font color=red>}</font> | ||
+ | <font color=red>[<font color=blue>with grant option<font color=red>]<font color=blacj> | ||
+ | |||
+ | === Примеры === | ||
+ | <font color=blue>grant all priviledges on <font color=black>Students</font> | ||
+ | <font color=blue> to group <font color=black>Deans <font color=blue>with grant option<font color=grey>;<font color=black> | ||
+ | |||
+ | <font color=blue>grant select on <font color=black>Students <font color=blue>to public<font color=grey>;<font color=black> | ||
+ | |||
== Удаление прав == | == Удаление прав == | ||
+ | <font color=blue>revoke <font color=red>[<font color=blue>grant option for<font color=red>]</font> | ||
+ | <font color=red>{<font color=blue>select<font color=grey>|<font color=blue>insert<font color=grey>|<font color=blue>update<font color=grey>|<font color=blue>delete<font color=grey>|<font color=blue>create<font color=grey>|<font color=blue>execute<font color=grey>|<font color=blue>trigger<font color=grey>|<font color=blue>usage<font color=grey>|<font color=red>…<font color=grey>|<font color=blue>all priviledges<font color=red>}</font> | ||
+ | <font color=blue>on <font color=red>{<font color=blue>table<font color=grey>|<font color=blue>database<font color=grey>|<font color=blue>view<font color=grey>|<font color=blue>procedure<font color=grey>|<font color=blue>function<font color=grey>|<font color=red>…} имя</font> | ||
+ | <font color=blue>from <font color=red>{пользователь<font color=grey>|<font color=blue>group <font color=red>группа<font color=grey>|<font color=blue>public<font color=red>}</font> | ||
+ | <font color=red>[<font color=blue>cascade<font color=grey>|<font color=blue>restrict<font color=red>]<font color=black> | ||
+ | |||
+ | === Примеры === | ||
+ | <font color=blue>revoke insert on <font color=black>Students</font> | ||
+ | <font color=blue> from group <font color=black>Deans <font color=blue>cascade<font color=grey>;<font color=black> | ||
+ | |||
+ | <font color=blue>revoke update on <font color=black>Students <font color=blue>from public<font color=grey>;<font color=black> | ||
+ | |||
== Владелец объекта == | == Владелец объекта == | ||
+ | text | ||
= Представления и права = | = Представления и права = |
Версия 07:43, 20 декабря 2021
Эта статья находится в разработке!
Содержание
Схемы управления доступом
Дискреционная схема
Определение: |
Дискреционная (или избирательная) схема — политика, в рамках которой поддерживаются списки, содержащие информацию о том, кто и к чему имеет доступ. |
В данной схеме используются следующие понятия:
- Объекты и набор прав для них, не связанных между собой (например, данные и права на добавление, удаление, чтение, обновление и тп);
- Пользователи, обладающие какими-то правами на какие-то объекты;
- Группы пользователей и права, присваиваемые всем членам этих групп в дополнение к их собственным;
Мандатная схема
Определение: |
Мандатная схема — политика, в рамках который к данным и тем, кто имеет к ним доступ, присылаются классификационные уровни. |
Уровни доступа располагаются по возрастанию: от общедоступного
до самого защищенного . Такие уровни присваиваются как пользователям, так и объектам.С учетом уровней, возможность выполнения операций определяется по следующим правилам:
- Чтение: ;
- Изменение: . Разрешение изменения менее защищенных данных может повлечь случайное рассекречивание информации, если, например, изменения на уровне делаются на основе информации с ;
- Добавление: ;
Пользователи и группы
С точки зрения стандарта, существуют пользователи и группы, но не существует стандартных способов управления ими.
Управление пользователями
Наиболее общепринятый синтаксис (не SQL):
create user имя [password 'пароль'] alter user имя [password 'пароль'] drop user имя
Управление группами
Наиболее общепринятый синтаксис (не SQL):
create group имя alter group имя {add|drop} user пользователь drop group имя
Data Control Language
Добавление прав
grant {select|insert|update|delete|create|execute|trigger|usage|…|all priviledges} on {table|database|view|procedure|function|…} имя to {пользователь|group группа|public} [with grant option]
Примеры
grant all priviledges on Students to group Deans with grant option;
grant select on Students to public;
Удаление прав
revoke [grant option for] {select|insert|update|delete|create|execute|trigger|usage|…|all priviledges} on {table|database|view|procedure|function|…} имя from {пользователь|group группа|public} [cascade|restrict]
Примеры
revoke insert on Students from group Deans cascade;
revoke update on Students from public;
Владелец объекта
text
Представления и права
Фильтрованная таблица
Спроецированная таблица
== Агрегированная таблица ==