Захист даних
Причини можливого пошкодження
або втрати даних:
• Псування або зміна даних анонімним
користувачем;
• Завершення роботи програм при системному
збої, коли база даних залишається в
непередбачуваному стані;
• Виникнення конфлікту при виконанні двох і
більше програм, що конкурують за одні й ті ж
дані;
• Зміна бази даних неприпустимим способом
оновлення тощо.
1. Управління доступом до даних
• Схема доступу до даних у реляційних СУБД
базується на наступних принципах:
1.Користувачі СУБД
2.Об’єкти доступу
3.Привілеї
Привілеї доступу та передача привілеїв
Привілеї доступу та передача привілеїв
Привілей Рівень доступу
ALL Вибір, вставка, оновлення, знищення даних і посилання
зовнішнього ключа іншої таблиці на первинний ключ даної
таблиці
SELECT Читання даних
INSERT Запис нових даних
UPDATE Зміна існуючих даних
DELETE Видалення даних
EXECUTE Виконання чи виклик збереженої процедури
REFERENCES Посилання зовнішнього ключа іншої таблиці на первинний ключ
даної таблиці
имя_роли Надає всі привілеї, передані даній ролі
Привілеї доступу та передача привілеїв
або
SQL ролі
Роль – це метод забезпечення безпеки на рівні груп привілеїв.
SQL ролі
Реалізація механізму використання ролі для передачі привілеїв
складається з наступних кроків:
1) створити роль, використовуючи наступний запит:
CREATE ROLE имя_роли;
2) передати цій ролі одну або більше привілеїв, використовуючи
наступний запит:
GRANT <привилегии> TO имя_роли;
3) передати право на використання цієї ролі одному або більше
користувачам за допомогою наступного запиту:
GRANT имя_роли TO <список_пользователей>;
При цьому роль може бути передана із зазначенням пропозиції WITH
ADMIN OPTION, яке означає, що користувачі, які мають дану роль,
можуть передавати право на використання цієї ролі іншим
користувачам;
4) при підключенні до БД користувач, що має будь-яку роль (ролі),
повинен вказати ім'я цієї ролі.
SQL ролі
Скасування привілеїв
При скасуванні привілеїв запитом REVOKE необхідно враховувати наступні
обмеження і правила:
• Привілеї можуть бути видалені тільки тим користувачем, який їх надав;
• Привілеї, що присвоєні іншими користувачами, не торкаються;
• Видалення конкретної привілеї для користувача А, якому було дано право
передавати її, автоматично видаляє цей привілей для всіх користувачів,
кому вони були послідовно передані користувачем А;
• Привілеї, передані для загального користування (PUBLIC), можуть бути
відібрані тільки у PUBLIC, а не у конкретного користувача або об'єкта БД.
Скасування привілеїв
Таким чином, в результаті каскадного видалення прав:
• Користувач Slonov не має права передавати привілей SELECT;
• Користувач Ivanov взагалі позбавлений привілеї SELECT, а має
лише привілей DELETE (але з опцією WITH GRANT OPTION);
• У користувача Petrov немає ніяких привілеїв на доступ до таблиці
PaySumma. Це сталося, тому що у користувача Slonov відібрано
право передачі привілеї SELECT іншим користувачам, а значить, і
всі дії, які він виконав, маючи це право, також анульовані
(відібраний привілей SELECT у користувача Petrov, яку передав
йому Ivanov).
Привілеї на представлення
"no permission for SELECT
access to TABLE/VIEW
REQUEST"
"no permission for SELECT
access to TABLE/VIEW
REQUEST"
2. Транзакції
• Транзакція - це група операцій обробки даних,
що виконуються як деяка неподільна дія над
базою даних, осмислена з погляду
користувача.
• Запис даних у БД проводиться тільки при
успішному виконанні всіх операцій групи.
• Якщо хоча б одна з операцій групи
завершується неуспішно, то БД повертається
до того стану, в якому вона була до виконання
першої операції групи.
2. Властивості транзакції
Транзакції характеризуються чотирма класичними властивостями:
• Властивість атомарності виражається в тому, що транзакція
повинна бути виконана в цілому або не виконана зовсім. СУБД
гарантує неможливість фіксації деякої частини дій з транзакції в БД.
• Властивість узгодженості гарантує, що по мірі виконання
транзакцій дані переходять з одного узгодженого стану в інший,
тобто транзакція не руйнує взаємну узгодженість даних.
• Властивість ізольованості означає, що конкуруючі за доступ до
бази даних транзакції фізично обробляються послідовно, ізольовано
одна від одної, але для користувачів це виглядає так, як ніби вони
виконуються паралельно. Наприклад, для будь-яких двох транзакцій
Т1 і Т2 справедливо наступне твердження: Т1 зможе побачити
оновлення Т2 тільки після виконання Т2, а Т2 зможе побачити
оновлення Т1 тільки після виконання Т1.
• Властивість довговічності означає, що якщо транзакція завершена
успішно, то зміни в даних, що виконуються в ній, не можуть бути
втрачені ні за яких обставин (навіть у випадку подальших помилок
або збою системи).
2. Транзакції
2. Паралелізм

More Related Content

PDF
It's Not You, It's Your Anti-Pattern
PDF
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
PDF
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)
PPTX
Побеждаем мейнфрейм / Андрей Николаенко (IBS)
PPTX
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
PPTX
Опыт построения СХД на базе Windows Server для использования в публичном обла...
PDF
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
PDF
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
It's Not You, It's Your Anti-Pattern
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)
Побеждаем мейнфрейм / Андрей Николаенко (IBS)
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Опыт построения СХД на базе Windows Server для использования в публичном обла...
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)

Viewers also liked (10)

PPTX
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...
PDF
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
PPTX
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
PDF
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
PDF
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
PDF
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
PPTX
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
PPTX
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
PDF
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
PDF
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...
Ad

Similar to Sql granting (20)

PDF
Lecture 101 - Intro to databases
PDF
11 in rud_2019
PDF
Informatyka 11-klas-rudenko-2019
PDF
02 informatyka
PPTX
Основи Баз даних та MS SQL Server
PPTX
sql introduction
PPT
Sql global
PDF
Lecture 105 - Relational data model
PPTX
11 клас 17 урок бд
PPTX
11 клас 17 урок. Поняття моделі даних. Бази даних. СУБД.
PPT
Lec10 11 ado-net
PDF
Lecture 205 - Data integrity, transactions, user privileges
DOCX
Lesson22 the concepts of databases and database management systems, their pur...
PPTX
tsql
PPTX
22420 prezentaciya-na-temu-bazy-danyh-subd-osnovni-ponyattya
PPT
ієрархічна, мережева, реляційна модель бази даних
PPTX
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
PPTX
Презентация .pptx
PPTX
05 Database
Lecture 101 - Intro to databases
11 in rud_2019
Informatyka 11-klas-rudenko-2019
02 informatyka
Основи Баз даних та MS SQL Server
sql introduction
Sql global
Lecture 105 - Relational data model
11 клас 17 урок бд
11 клас 17 урок. Поняття моделі даних. Бази даних. СУБД.
Lec10 11 ado-net
Lecture 205 - Data integrity, transactions, user privileges
Lesson22 the concepts of databases and database management systems, their pur...
tsql
22420 prezentaciya-na-temu-bazy-danyh-subd-osnovni-ponyattya
ієрархічна, мережева, реляційна модель бази даних
Презентація 10 клас Урок 18 для учнів 10 класу вааааааааууу ахуєть
Презентация .pptx
05 Database
Ad

More from Halyna Melnyk (16)

PDF
Lect ai 3 ga
PDF
Lect аі 2 n net p2
PDF
Lect ai 2 nn
PDF
Lect 6 prolog
PDF
Lect 5 prolog
PDF
Lect 3 4 prolog
PDF
Lect 2 prolog
PDF
Lect 1 intro
PPT
PPT
Sql view
PPT
Sql select 3
PPT
Sql select 2
PPT
Sql select 1
PPT
Sql dml
PPTX
Sql ddl
PPTX
Lect ai 3 ga
Lect аі 2 n net p2
Lect ai 2 nn
Lect 6 prolog
Lect 5 prolog
Lect 3 4 prolog
Lect 2 prolog
Lect 1 intro
Sql view
Sql select 3
Sql select 2
Sql select 1
Sql dml
Sql ddl

Recently uploaded (18)

PPTX
Підсумки атестації випускників 2025 року
PDF
8_t_h_2025 - ядв пдвлаопялво пядлво плдвв
PPTX
Презентація 7 клас Урок 1. Комп'ютерні мережі
PDF
яалво вдлаопядвл опдлыв ояпвояыр пывора в
PDF
ы плоывдлпоявлпо яылпояылв по влполвдпо в
PDF
в пявлапо жлваопвлад опявл аопялвдао плва
PDF
ывла пявдлоп явдла опдвяла опдвла опявлпов
PDF
akjgaksdj lkaыдуко локж оуыпж оывджл апоыв
PDF
Заняття 6. Прийняття рішення командиром взводу на бій на основі APSP (Army Pr...
PPT
Підсумки атестації здобувачів другого (магістерського) рівня вищої освіти 20...
PDF
8_mys_g_2025 - влат пвлтп влт пвлатп лвв
PDF
Заняття 6. Прийняття рішення командиром взводу на бій на основі APSP (Army Pr...
PDF
яво рпядлв опялдыво пялдыв оплядыв оп ояыл
PDF
Інформація щодо фактичного використання бюджетних коштів в липні 2025 році
PDF
КНУ, презентація по вступній кампанії_2025
PDF
8_in_b_2025 - лютв лвотп ячлвт плвт ядвл
PDF
Заняття 5. Методика прийняття рішень на основі APSP (Army Problem Solving Pro...
PDF
"Фах" (аналіз твору) Айзек Азімов (презентація)
Підсумки атестації випускників 2025 року
8_t_h_2025 - ядв пдвлаопялво пядлво плдвв
Презентація 7 клас Урок 1. Комп'ютерні мережі
яалво вдлаопядвл опдлыв ояпвояыр пывора в
ы плоывдлпоявлпо яылпояылв по влполвдпо в
в пявлапо жлваопвлад опявл аопялвдао плва
ывла пявдлоп явдла опдвяла опдвла опявлпов
akjgaksdj lkaыдуко локж оуыпж оывджл апоыв
Заняття 6. Прийняття рішення командиром взводу на бій на основі APSP (Army Pr...
Підсумки атестації здобувачів другого (магістерського) рівня вищої освіти 20...
8_mys_g_2025 - влат пвлтп влт пвлатп лвв
Заняття 6. Прийняття рішення командиром взводу на бій на основі APSP (Army Pr...
яво рпядлв опялдыво пялдыв оплядыв оп ояыл
Інформація щодо фактичного використання бюджетних коштів в липні 2025 році
КНУ, презентація по вступній кампанії_2025
8_in_b_2025 - лютв лвотп ячлвт плвт ядвл
Заняття 5. Методика прийняття рішень на основі APSP (Army Problem Solving Pro...
"Фах" (аналіз твору) Айзек Азімов (презентація)

Sql granting

  • 2. Причини можливого пошкодження або втрати даних: • Псування або зміна даних анонімним користувачем; • Завершення роботи програм при системному збої, коли база даних залишається в непередбачуваному стані; • Виникнення конфлікту при виконанні двох і більше програм, що конкурують за одні й ті ж дані; • Зміна бази даних неприпустимим способом оновлення тощо.
  • 3. 1. Управління доступом до даних • Схема доступу до даних у реляційних СУБД базується на наступних принципах: 1.Користувачі СУБД 2.Об’єкти доступу 3.Привілеї
  • 4. Привілеї доступу та передача привілеїв
  • 5. Привілеї доступу та передача привілеїв Привілей Рівень доступу ALL Вибір, вставка, оновлення, знищення даних і посилання зовнішнього ключа іншої таблиці на первинний ключ даної таблиці SELECT Читання даних INSERT Запис нових даних UPDATE Зміна існуючих даних DELETE Видалення даних EXECUTE Виконання чи виклик збереженої процедури REFERENCES Посилання зовнішнього ключа іншої таблиці на первинний ключ даної таблиці имя_роли Надає всі привілеї, передані даній ролі
  • 6. Привілеї доступу та передача привілеїв або
  • 7. SQL ролі Роль – це метод забезпечення безпеки на рівні груп привілеїв.
  • 8. SQL ролі Реалізація механізму використання ролі для передачі привілеїв складається з наступних кроків: 1) створити роль, використовуючи наступний запит: CREATE ROLE имя_роли; 2) передати цій ролі одну або більше привілеїв, використовуючи наступний запит: GRANT <привилегии> TO имя_роли; 3) передати право на використання цієї ролі одному або більше користувачам за допомогою наступного запиту: GRANT имя_роли TO <список_пользователей>; При цьому роль може бути передана із зазначенням пропозиції WITH ADMIN OPTION, яке означає, що користувачі, які мають дану роль, можуть передавати право на використання цієї ролі іншим користувачам; 4) при підключенні до БД користувач, що має будь-яку роль (ролі), повинен вказати ім'я цієї ролі.
  • 10. Скасування привілеїв При скасуванні привілеїв запитом REVOKE необхідно враховувати наступні обмеження і правила: • Привілеї можуть бути видалені тільки тим користувачем, який їх надав; • Привілеї, що присвоєні іншими користувачами, не торкаються; • Видалення конкретної привілеї для користувача А, якому було дано право передавати її, автоматично видаляє цей привілей для всіх користувачів, кому вони були послідовно передані користувачем А; • Привілеї, передані для загального користування (PUBLIC), можуть бути відібрані тільки у PUBLIC, а не у конкретного користувача або об'єкта БД.
  • 11. Скасування привілеїв Таким чином, в результаті каскадного видалення прав: • Користувач Slonov не має права передавати привілей SELECT; • Користувач Ivanov взагалі позбавлений привілеї SELECT, а має лише привілей DELETE (але з опцією WITH GRANT OPTION); • У користувача Petrov немає ніяких привілеїв на доступ до таблиці PaySumma. Це сталося, тому що у користувача Slonov відібрано право передачі привілеї SELECT іншим користувачам, а значить, і всі дії, які він виконав, маючи це право, також анульовані (відібраний привілей SELECT у користувача Petrov, яку передав йому Ivanov).
  • 12. Привілеї на представлення "no permission for SELECT access to TABLE/VIEW REQUEST" "no permission for SELECT access to TABLE/VIEW REQUEST"
  • 13. 2. Транзакції • Транзакція - це група операцій обробки даних, що виконуються як деяка неподільна дія над базою даних, осмислена з погляду користувача. • Запис даних у БД проводиться тільки при успішному виконанні всіх операцій групи. • Якщо хоча б одна з операцій групи завершується неуспішно, то БД повертається до того стану, в якому вона була до виконання першої операції групи.
  • 14. 2. Властивості транзакції Транзакції характеризуються чотирма класичними властивостями: • Властивість атомарності виражається в тому, що транзакція повинна бути виконана в цілому або не виконана зовсім. СУБД гарантує неможливість фіксації деякої частини дій з транзакції в БД. • Властивість узгодженості гарантує, що по мірі виконання транзакцій дані переходять з одного узгодженого стану в інший, тобто транзакція не руйнує взаємну узгодженість даних. • Властивість ізольованості означає, що конкуруючі за доступ до бази даних транзакції фізично обробляються послідовно, ізольовано одна від одної, але для користувачів це виглядає так, як ніби вони виконуються паралельно. Наприклад, для будь-яких двох транзакцій Т1 і Т2 справедливо наступне твердження: Т1 зможе побачити оновлення Т2 тільки після виконання Т2, а Т2 зможе побачити оновлення Т1 тільки після виконання Т1. • Властивість довговічності означає, що якщо транзакція завершена успішно, то зміни в даних, що виконуються в ній, не можуть бути втрачені ні за яких обставин (навіть у випадку подальших помилок або збою системи).