Управление доступом к данным — различия между версиями
Cuciev (обсуждение | вклад) м (Определение группы по стандарту)  | 
				Cuciev (обсуждение | вклад)  м (Punct)  | 
				||
| Строка 30: | Строка 30: | ||
|definition='''Группа''' (в рамках стандарта) {{---}} набор пользователей; иерархии групп не предполагается.  | |definition='''Группа''' (в рамках стандарта) {{---}} набор пользователей; иерархии групп не предполагается.  | ||
}}  | }}  | ||
| − | В рамках стандарта  | + | В рамках стандарта существуют пользователи и группы, но не существует стандартных способов управления ими.  | 
== Управление пользователями ==  | == Управление пользователями ==  | ||
Версия 07:52, 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
Представления и права
Фильтрованная таблица
Спроецированная таблица
== Агрегированная таблица ==