Создание схемы для операционистов
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

CREATE SCHEMA OPER;

‘Для включения пользователя в схему используется команда:

ALTER SCHEMA OPER OWNER TO SALMIN;

ALTER SCHEMA OPER OWNER TO DJAVR;

ALTER SCHEMA OPER OWNER TO KIRICH;

‘выполнении запросов к схеме:

SELECT FROM OPER. SALMIN;

SELECT FROM OPER. DJAVR;

SELECT FROM OPER. KIRICH;

‘установления порядка доступа к схемe

SET SEARCH_PATH TO public;

SET SEARCH_PATH TO oper, public;

 

Создание схемы для работников филиала

CREATE SCHEMA WORKER;

‘Для включения пользователя в схему используется команда:

ALTER SCHEMA WORKER OWNER TO MANKO;

ALTER SCHEMA WORKER OWNER TOYANOVSKIY;

‘выполнении запросов к схеме:

SELECT FROM WORKER. MANKO;

SELECT FROM WORKER. YANOVSKIY;

‘установления порядка доступа к схемe

SET SEARCH_PATH TO public;

SET SEARCH_PATH TO worker, public;


3. Реализация требований стандарта по критерию "Политика безопасности"

 

Политика безопасности - набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию.

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

С точки зрения работы СУБД рассмотрим три элемента:

произвольное управление доступом;

метки безопасности;

принудительное управление доступом.

Описание концепции использования меток безопасности

Полномочное (принудительное) управление доступом в промышленных СУБД не реализовано на уровне ядра управления. Но в СУБД присутствуют программные средства для программирования такого управления.

Для реализации полномочного управления доступом с субъектами и объектами ассоциируются метки безопасности. Метка субъекта описывает его благонадежность, метка объекта - степень закрытости содержащейся в нем информации.

Метки безопасности состоят из двух частей - уровня секретности и списка категорий. Уровни секретности, поддерживаемые системой, образуют упорядоченное множество, которое может выглядеть, например, так: совершенно секретно, секретно, конфиденциально, несекретно.

Категории образуют неупорядоченный набор. Их назначение - описать предметную область, к которой относятся данные. В военном окружении каждая категория может соответствовать, например, определенному виду вооружений.

Главная проблема, которую необходимо решать в связи с метками, это обеспечение их целостности:

не должно быть непомеченных субъектов и объектов, иначе в меточной безопасности появятся легко используемые бреши;

при любых операциях с данными метки должны оставаться правильными.

Управление метками безопасности в СУБД

Для реализации полномочного управления доступом необходимо разрабатывать

дополнительный механизм, включающий:

дополнительные структуры данных, хранящие значение меток конфиденциальности обьектов БД (записей таблиц или их отдельных атрибутов);

дополнительные структуры данных, хранящие значение уровней доступа субьектов БД (пользователей или их групп);

В СУБД PostgreSQL вышеописанные пункты механизма можно создать через:

добавление поля таблицы, содержащего значения метки конфиденциальности

создание таблицы уровней доступа с двумя полями: имя группы или пользователя, уровень доступа.

 


Создания механизма по управлению метками в СУБД

 

Таблица с информацией о клиентах

CREATE SEQUENCE KLIENTS_ID;

CREATE TABLE KLIENTS (KLIENTS_ID INTEGER NOT NULL PRIMARY KEY DEFAULT NEXTVAL ('KLIENTS_ID'),

NAME VARCHAR (30),

SEX CHAR (1),

BIRTHDAY DATE,

CONSTRAINT VALID_SEX CHECK (SEX IN ('Ж','М',’ФИРМА’)));

COMMENT ON TABLE PERSONS IS

'ТАБЛИЦА ИНФОРМАЦИИ О КЛИЕНТАХ;

Для создания механизма управления метками при доступе пользователей и групп пользователей к таблице persons выполним следующую последовательность шагов.

Шаг 1. Создать справочник уровней доступа с помощью команды, пример которой представлен ниже.

CREATE TABLE ACCESS_LEVELS (ACCESS_LEVEL_ID INTEGER PRIMARY KEY,

ACCESS_LEVELVARCHAR UNIQUE) ;

INSERT INTO ACCESS_LEVELS VALUES (1,' для общего доступа ');

INSERT INTO ACCESS_LEVELS VALUES (2,'для внутреннего использования');

INSERT INTO ACCESS_LEVELS VALUES (3,' секретно ');

INSERT INTO ACCESS_LEVELS VALUES (4,' совершенно секретно ');

Шаг 2. Создать таблицу, содержащую матрицу уровней доступа групп пользователей, пример которой представлен ниже.

DROP TABLE GROUPS_ACCESS_LEVEL;

CREATE TABLE GROUPS_ACCESS_LEVEL (GROUP_NAME VARCHAR PRIMARY KEY,

ACCESS_LEVEL INTEGER REFERENCES

ACCESS_LEVELS (ACCESS_LEVEL_ID));

Шаг 3. Разграничить права на таблицу groups_access_level:

REVOKE ALL ON GROUPS_ACCESS_LEVEL FROM GROUP USERS;

GRANT SELECT ON GROUPS_ACCESS_LEVEL TO GROUP USERS;

Шаг 4. Присвоить группе users необходимый уровень доступа

INSERT INTO GROUPS_ACCESS_LEVEL VALUES ('users',2);

Шаг 5. Добавить в таблицу БД Klients поле с описанием меток конфиденциальности записей spot_conf:

ALTER TABLE KLIENTS ADD COLUMN SPOT_CONF INTEGER DEFAULT 1

REFERENCES ACCESS_LEVELS (ACCESS_LEVEL_ID);

 

Таблица с информацией о директорах

CREATE SEQUENCE DIRS_ID;

CREATE TABLE DIRS (DIRS_ID INTEGER NOT NULL PRIMARY KEY DEFAULT NEXTVAL ('KLIENTS_ID'),

NAME VARCHAR (30),

SEX CHAR (1),

BIRTHDAY DATE,

CONSTRAINT VALID_SEX CHECK (SEX IN ('Ж','М ’)));

COMMENT ON TABLE PERSONS IS

'ТАБЛИЦА ИНФОРМАЦИИ О ДИРЕКТОРАХ;

Для создания механизма управления метками при доступе пользователей и групп пользователей к таблице persons выполним следующую последовательность шагов.

Шаг 1. Создать справочник уровней доступа с помощью команды, пример которой представлен ниже.

CREATE TABLE ACCESS_LEVELS (ACCESS_LEVEL_ID INTEGER PRIMARY KEY,

ACCESS_LEVELVARCHAR UNIQUE) ;

INSERT INTO ACCESS_LEVELS VALUES (1,' для общего доступа ');

INSERT INTO ACCESS_LEVELS VALUES (2,'для внутреннего использования');

INSERT INTO ACCESS_LEVELS VALUES (3,' секретно ');

INSERT INTO ACCESS_LEVELS VALUES (4,' совершенно секретно ');

Шаг 2. Создать таблицу, содержащую матрицу уровней доступа групп пользователей, пример которой представлен ниже.

DROP TABLE GROUPS_ACCESS_LEVEL;

CREATE TABLE GROUPS_ACCESS_LEVEL (GROUP_NAME VARCHAR PRIMARY KEY,

ACCESS_LEVEL INTEGER REFERENCES

ACCESS_LEVELS (ACCESS_LEVEL_ID));

Шаг 3. Разграничить права на таблицу groups_access_level:

REVOKE ALL ON GROUPS_ACCESS_LEVEL FROM GROUP USERS;

GRANT SELECT ON GROUPS_ACCESS_LEVEL TO GROUP USERS;

Шаг 4. Присвоить группе users необходимый уровень доступа

INSERT INTO GROUPS_ACCESS_LEVEL VALUES ('users',2);

Шаг 5. Добавить в таблицу БД Klients поле с описанием меток конфиденциальности записей spot_conf:

ALTER TABLE DIRS ADD COLUMN SPOT_CONF INTEGER DEFAULT 1

REFERENCES ACCESS_LEVELS (ACCESS_LEVEL_ID);

Таблица с информацией об операционистах

CREATE SEQUENCE OPERS_ID;

CREATE TABLE OPERS (OPERS_ID INTEGER NOT NULL PRIMARY KEY DEFAULT NEXTVAL ('KLIENTS_ID'),

NAME VARCHAR (30),

SEX CHAR (1),

BIRTHDAY DATE,

CONSTRAINT VALID_SEX CHECK (SEX IN ('Ж','М ’)));

COMMENT ON TABLE PERSONS IS

'ТАБЛИЦА ИНФОРМАЦИИ ОБ ОПЕРАЦИОНИСТАХ;

Для создания механизма управления метками при доступе пользователей и групп пользователей к таблице persons выполним следующую последовательность шагов.

Шаг 1. Создать справочник уровней доступа с помощью команды, пример которой представлен ниже.

CREATE TABLE ACCESS_LEVELS (ACCESS_LEVEL_ID INTEGER PRIMARY KEY,

ACCESS_LEVELVARCHAR UNIQUE) ;

INSERT INTO ACCESS_LEVELS VALUES (1,' для общего доступа ');

INSERT INTO ACCESS_LEVELS VALUES (2,'для внутреннего использования');

INSERT INTO ACCESS_LEVELS VALUES (3,' секретно ');

INSERT INTO ACCESS_LEVELS VALUES (4,' совершенно секретно ');

Шаг 2. Создать таблицу, содержащую матрицу уровней доступа групп пользователей, пример которой представлен ниже.

DROP TABLE GROUPS_ACCESS_LEVEL;

CREATE TABLE GROUPS_ACCESS_LEVEL (GROUP_NAME VARCHAR PRIMARY KEY,

ACCESS_LEVEL INTEGER REFERENCES

ACCESS_LEVELS (ACCESS_LEVEL_ID));

Шаг 3. Разграничить права на таблицу groups_access_level:

REVOKE ALL ON GROUPS_ACCESS_LEVEL FROM GROUP USERS;

GRANT SELECT ON GROUPS_ACCESS_LEVEL TO GROUP USERS;

Шаг 4. Присвоить группе users необходимый уровень доступа

INSERT INTO GROUPS_ACCESS_LEVEL VALUES ('users',2);

Шаг 5. Добавить в таблицу БД Klients поле с описанием меток конфиденциальности записей spot_conf:

ALTER TABLE OPERS ADD COLUMN SPOT_CONF INTEGER DEFAULT 1

REFERENCES ACCESS_LEVELS (ACCESS_LEVEL_ID);



Таблица с информацией о работниках филиала

CREATE SEQUENCE WORKERS_ID;

CREATE TABLE WORKERS (WORKERS_ID INTEGER NOT NULL PRIMARY KEY DEFAULT NEXTVAL ('KLIENTS_ID'),

NAME VARCHAR (30),

SEX CHAR (1),

BIRTHDAY DATE,

CONSTRAINT VALID_SEX CHECK (SEX IN ('Ж','М ’)));

COMMENT ON TABLE PERSONS IS

'ТАБЛИЦА ИНФОРМАЦИИ О РАБОТНИКАХ ФИЛИАЛА;

Для создания механизма управления метками при доступе пользователей и групп пользователей к таблице persons выполним следующую последовательность шагов.

Шаг 1. Создать справочник уровней доступа с помощью команды, пример которой представлен ниже.

CREATE TABLE ACCESS_LEVELS (ACCESS_LEVEL_ID INTEGER PRIMARY KEY,

ACCESS_LEVELVARCHAR UNIQUE) ;

INSERT INTO ACCESS_LEVELS VALUES (1,' для общего доступа ');

INSERT INTO ACCESS_LEVELS VALUES (2,'для внутреннего использования');

INSERT INTO ACCESS_LEVELS VALUES (3,' секретно ');

INSERT INTO ACCESS_LEVELS VALUES (4,' совершенно секретно ');

Шаг 2. Создать таблицу, содержащую матрицу уровней доступа групп пользователей, пример которой представлен ниже.

DROP TABLE GROUPS_ACCESS_LEVEL;

CREATE TABLE GROUPS_ACCESS_LEVEL (GROUP_NAME VARCHAR PRIMARY KEY,

ACCESS_LEVEL INTEGER REFERENCES

ACCESS_LEVELS (ACCESS_LEVEL_ID));

Шаг 3. Разграничить права на таблицу groups_access_level:

REVOKE ALL ON GROUPS_ACCESS_LEVEL FROM GROUP USERS;

GRANT SELECT ON GROUPS_ACCESS_LEVEL TO GROUP USERS;

Шаг 4. Присвоить группе users необходимый уровень доступа

INSERT INTO GROUPS_ACCESS_LEVEL VALUES ('users',2);

Шаг 5. Добавить в таблицу БД Klients поле с описанием меток конфиденциальности записей spot_conf:

ALTER TABLE WORKERS ADD COLUMN SPOT_CONF INTEGER DEFAULT 1

REFERENCES ACCESS_LEVELS (ACCESS_LEVEL_ID);

 

Дата: 2019-07-30, просмотров: 160.