Приложение. Синтаксис команд для работы с комплексом средств защиты данных

Уровень доступа

Создание:

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;