Приложение. Синтаксис команд для работы с комплексом средств защиты данных
Уровень доступа
Создание:
CREATE LEVEL <имя уровня>
= <номер уровня>
;
Изменение имени уровня:
ALTER LEVEL <имя уровня>
SET <новое имя уровня>
;
Группы доступа
Создание:
CREATE GROUP <имя группы>
[=<числовой идентификатор группы>
];
Изменение имени группы:
ALTER GROUP <имя группы>
SET <новое имя группы>
;
Уровни доверия между группами:
GRANT ACCESS ON <группа-доверитель>
TO {<группа-получатель>
| ALL};
REVOKE ACCESS ON <группа-доверитель>
FROM {<группа-получатель>
| ALL};
Модификация пользователя
Создание пользователя с категорией CONNECT
по умолчанию:
CREATE USER <имя пользователя>
IDENTIFIED BY <пароль>
;
Назначение пользователю категории доступа:
GRANT <категория>
TO <имя пользователя>
[IDENTIFIED BY <пароль>
];
Удаление пользователя:
DROP USER <имя пользователя>
[CASCADE];
Изменение категории пользователя:
GRANT <категория>
TO <имя пользователя>
[IDENTIFIED BY <пароль>
];
Изменение пароля пользователя:
ALTER USER <имя пользователя>
[IDENTIFIED BY <новый пароль>
];
Назначение группы доступа пользователю:
CREATE USER <имя пользователя>
IDENTIFIED BY <пароль>
GROUP <имя группы>
;
ALTER USER <имя пользователя>
GROUP <имя группы>
;
Назначение уровня доступа пользователю:
CREATE USER <имя пользователя>
IDENTIFIED BY <пароль>
LEVEL(<RAL>
,<WAL>
);
ALTER USER <имя пользователя>
LEVEL(<RAL>
,<WAL>
);
Назначение привилегий пользователю:
GRANT <привилегия>
ON <имя объекта>
TO <имя пользователя>
;
REVOKE <привилегия>
ON <имя объекта>
FROM <имя пользователя>
;
Роли
Создание:
CREATE ROLE <имя роли>
;
Удаление:
DROP ROLE <имя роли>
;
Назначение/отмена привилегии на объект:
GRANT <привилегия>
ON <имя объекта>
TO <имя роли>
;
REVOKE <привилегия>
ON <имя объекта>
FROM <имя роли>
;
Назначение/отмена роли пользователю:
GRANT ROLE <имя роли>
TO <имя пользователя>
;
REVOKE ROLE <имя роли>
FROM <имя пользователя>
;
Уровни доступа
Определение уровня доступа для таблиц:
CREATE TABLE [<имя схемы>
.]<имя таблицы>
(<имя столбца>
<тип столбца>
, […]) LEVEL(<RAL>
,<WAL>
);
ALTER TABLE <имя таблицы>
SET LEVEL(<RAL>
,<WAL>
);
Определение уровня доступа для столбца:
CREATE TABLE [<имя схемы>
.] <имя таблицы>
(<имя столбца>
<тип столбца>
LEVEL(<RAL>
,<WAL>
) [,…]);
ALTER TABLE [<имя схемы>
.] <имя таблицы>
SET COLUMN <имя столбца>
LEVEL(<RAL>
,<WAL>
);
Использование групп и уровней в SQL-выражении:
INSERT INTO [<имя схемы>
.] <имя таблицы>
[AS <псевдоним>
] [#[<группа>
]#[<RAL>
]#[<WAL>
]]
(<имя столбца>
[#[<группа>
]#[<RAL>
]#[<WAL>
]]) VALUES (<значение>
);
UPDATE [<имя схемы>
.] <имя таблицы>
[AS <псевдоним>
] [#[<группа>
]#[<RAL>
]#[<WAL>
]]
SET <имя столбца>
[#[<группа>
]#[<RAL>
]#[<WAL>
]]=<значение>
[,…];
Чтение меток доступа:
SELECT SECURITY({*|<имя столбца>
},{'R' |'W' |'G'})
FROM <имя таблицы>
;
Сетевая станция
Создание:
CREATE STATION <имя станции>
PROTOCOL <сетевой протокол>
{ADDRESS <адрес станции>
}
[LEVEL (<RAL>
,<WAL>
)]
[<рабочее время>
];
<имя станции>
::=<идентификатор>
<сетевой протокол>
::=<символьный литерал>
<адрес станции>
::=<символьный литерал>
<RAL>
::=<идентификатор>
<WAL>
::=<идентификатор>
<рабочее время>
::= {ENABLE |DISABLE} LOGIN
{ALWAYS |<график по времени>
|<график по дням>
}
<график по времени>
::=
FROM <время начала работы>
TO <время окончания работы>
[FOR <дни работы>
]
<график по дням>
::=
{SINCE <дата начала>
}|{UNTIL <дата окончания>
}
<время начала работы>
::='HH:MM'
<время окончания работы>
::='HH:MM'
<дни работы>
::=<день недели>
{[,<день недели>
] …}
<день недели>
::='MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN'
<дата начала>
::='DD.MM.YYYY'
<дата окончания>
::='DD.MM.YYYY'
Изменение параметров:
ALTER STATION <имя станции>
[SET <новое имя станции>
]
[LEVEL(<RAL>
,<WAL>
)] [<рабочее время>
];
Удаление:
DROP STATION <имя станции>
;
Регулирование доступа:
GRANT ACCESS ON UNLISTED STATION TO {<имя группы>
| ALL};
REVOKE ACCESS ON UNLISTED STATION FROM {<имя группы>
| ALL};
GRANT ACCESS ON STATION <имя станции>
TO {<имя группы>
|ALL};
REVOKE ACCESS ON STATION <имя станции>
FROM {<имя группы>
|ALL};
Устройства
Создание:
CREATE DEVICE <имя устройства>
DIRECTORY <каталог>
[COMMENT <комментарий>
]
[LEVEL (<RAL-устройства>
,<WAL-устройства>
)];
Изменение параметров:
ALTER DEVICE <имя устройства>
[DIRECTORY <каталог>
]
[LEVEL (<RAL-устройства>
,<WAL-устройства>
)];
Удаление:
DROP DEVICE <имя устройства>
;
Регулирование доступа:
GRANT ACCESS ON UNLISTED DEVICE TO {<имя группы>
| ALL};
REVOKE ACCESS ON UNLISTED DEVICE FROM {<имя группы>
| ALL};
GRANT ACCESS ON DEVICE <имя устройства>
TO {<имя группы>
| ALL};
REVOKE ACCESS ON DEVICE <имя устройства>
FROM {<имя группы>
| ALL};
Мониторинг КСЗ
Запуск протоколирования:
AUDIT START;
Останов протоколирования:
AUDIT STOP;
Управление протоколированием:
AUDIT {ENABLE|DISABLE|CLEAR} [<имя события>
[ON <объект аудита>
]]
[FOR <имя пользователя>
] [BY {SESSION|STATEMENT|ACCESS}]
[WHEN [NOT] SUCCESS];
Параметры протоколирования:
AUDIT {SET |CANCEL} <параметры протоколирования>
;
<параметры протоколирования>
::=
RECORDS LIMIT <количество записей>
| DAYS LIMIT <срок хранения>
;
Протоколирование пользовательского сообщения:
AUDIT MESSAGE <сообщение>
;
Начать комментирование протоколируемых событий:
AUDIT SET MESSAGE <комментарий>
;
Отменить комментирование протоколируемых событий:
AUDIT CANCEL MESSAGE;