это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
4203454
Ознакомительный фрагмент работы:
Содержание
Задание 3
1. Запрос на создание таблицы меток и таблицы соответствия имени пользователя и метки 4
2. Запрос на создание таблицы соответствия имени пользователя и метки 5
3. Запрос на создание пользователей 7
4. Запрос, создания представления прав доступа. 8
5. Встроенная защита на уровне строк. 10
6. 5 фактов по тематике. 12
Задание №12.Избирательный доступ к данным, RLS
Задание
В этой работе должен быть реализован принцип защиты данных на уровне строк. Каждая строке и каждому пользователю назначается метка. Пользователь может получить строку таблицы только если его метка и метка строки соответствуют.Создайте:Таблицу метокТаблицу соответствия имени пользователя и меткиДополнительной столбец в защищаемой таблице, содержащий метку строкиПредставление, выбирающее для пользователя только принадлежащих ему данных. Для этого необходимо использовать ключевое слово USER (оно содержит имя ткущего подключенного пользователя).Триггер INSERT для представления, заполняющий дополнительный столбец в защищаемой таблице в зависимости от метки текущего пользователя.А потом сделайте то же самое с использованием встроенной в PostgreSQL9.5+ защиту на уровне строк.В работе приведите:Запросы на создание необходимых объектовПроверочные запросы от имени двух разных пользователейПять новых фактов по тематике работы.1. Запрос на создание таблицы меток и таблицы соответствия имени пользователя и меткиSQL-скрипт создания таблицы:create table metka(metka_id int PRIMARY KEY)Результат запроса смотрите на рис.1.Рисунок SEQ Рисунок \* ARABIC 1. Содержимое таблицы metkaЗапрос заполнение данными таблиц:INSERT INTO hr.metka(metka_id)VALUES(1),(32),(4),(77);2. Запрос на создание таблицы соответствия имени пользователя и меткиSQL-скрипт создания таблицы:create table metka_user(metka_id int not null,user_name varchar(63) not null,PRIMARY key (metka_id,user_name))Результат запроса смотрите на рис.2.Рисунок SEQ Рисунок \* ARABIC 2. Содержимое таблицы metka_userЗапрос заполнение данными таблиц:INSERT INTO hr.metka_user(metka_id, user_name)VALUES(1, 'postgres'),(5, 'new_user1'),(32, 'adminuser');3. Запрос на создание пользователейЗапрос заполнение данными таблиц:CREATE USER adminuser with PASSWORD 'devadmin123' CREATEDB CREATEROLE;GRANT all ON metka TO adminuser;GRANT all ON metka_user TO adminuser;CREATE USER new_user1 with PASSWORD '123user';GRANT select ON metka_user TO new_user1;Запрос проверку созданных пользователей:select * from pg_catalog.pg_rolesРезультат запроса смотрите на рис.3.Рисунок SEQ Рисунок \* ARABIC 3. Права доступа пользователей4. Запрос, создания представления прав доступа.Запрос, создания представления:create view view_user_metkaasselect pgr.rolname , pgr.rolsuper, pgr.rolinherit, pgr.rolcreaterole , pgr.rolcreatedb , pgr.rolcanlogin , pgr.rolconnlimit, mku.metka_idfrom pg_roles pgr,metka_user mkuwhere pgr.rolname = mku.user_name and mku.user_name = user Результат запроса смотрите на рис.4.Рисунок SEQ Рисунок \* ARABIC 4.Вывод данных для текущего пользователяЗапрос, создающий триггер INSERT для представления, заполняющий дополнительный столбец в защищаемой таблице в зависимости от метки текущего пользователя.:CREATE TRIGGER bi_view_user_metka BEFORE INSERT ON view_user_metka FOR EACH ROW update view_user_metka set metka_id = 32 where rolname - USER;5. Встроенная защита на уровне строк.Запрос, включение уровня защиты строк для таблицы:-- Необходимо включить для этой таблицы защиту на уровне строкALTER TABLE metka_user ENABLE ROW LEVEL SECURITY;-- Необходимо включить для этой таблицы защиту на уровне строкALTER TABLE metka_user ENABLE ROW LEVEL SECURITY;-- Создание политик-- Администратор может видеть и добавлять любые строкиCREATE POLICY admin_all ON metka_user TO adminuser USING (true) WITH CHECK (true);-- Обычные пользователи могут видеть все строкиCREATE POLICY all_view ON metka_user FOR SELECT USING (true);-- Обычные пользователи могут изменять собственные данные, но-- не могут задать произвольную оболочку входаCREATE POLICY user_mod ON metka_user FOR UPDATE USING (current_user = user_name) WITH CHECK ( current_user = user_name);Запрос, проверки предоставленных привилегий:set role adminuser;select * from hr.metka_user mu;set role new_user1;select * from hr.metka_user mu;6. 5 фактов по тематике.В СУБД PostgreSQL есть возможность создать защиту на уровне строк с помощью таблиц. В СУБД PostgreSQL есть возможность создать защиту на уровне строк с помощью встроенных команд. В СУБД PostgreSQL можно создать возможность просмотра данных в таблице только для текущего пользователя.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!