SlideShare a Scribd company logo
1 of 16
Захист даних
Причини можливого пошкодження
або втрати даних:
• Псування або зміна даних анонімним
користувачем;
• Завершення роботи програм при системному
збої, коли база даних залишається в
непередбачуваному стані;
• Виникнення конфлікту при виконанні двох і
більше програм, що конкурують за одні й ті ж
дані;
• Зміна бази даних неприпустимим способом
оновлення тощо.
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

Viewers also liked

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

Viewers also liked (10)

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

More from Halyna Melnyk (17)

Lect ai 3 ga
Lect ai 3  gaLect ai 3  ga
Lect ai 3 ga
 
Lect аі 2 n net p2
Lect аі 2 n net p2Lect аі 2 n net p2
Lect аі 2 n net p2
 
Lect ai 2 nn
Lect ai 2 nnLect ai 2 nn
Lect ai 2 nn
 
Lect 6 prolog
Lect 6 prologLect 6 prolog
Lect 6 prolog
 
Lect 5 prolog
Lect 5 prologLect 5 prolog
Lect 5 prolog
 
Lect 3 4 prolog
Lect 3 4 prologLect 3 4 prolog
Lect 3 4 prolog
 
Lect 2 prolog
Lect 2 prologLect 2 prolog
Lect 2 prolog
 
Lect 1 intro
Lect 1 introLect 1 intro
Lect 1 intro
 
Sql global
Sql globalSql global
Sql global
 
Sql pl
Sql plSql pl
Sql pl
 
Sql view
Sql viewSql view
Sql view
 
Sql select 3
Sql select 3Sql select 3
Sql select 3
 
Sql select 2
Sql select 2Sql select 2
Sql select 2
 
Sql select 1
Sql select 1Sql select 1
Sql select 1
 
Sql dml
Sql dmlSql dml
Sql dml
 
Sql ddl
Sql ddlSql ddl
Sql ddl
 
Sql db
Sql dbSql db
Sql db
 

Recently uploaded

Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"tetiana1958
 
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаБалади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаAdriana Himinets
 
Спектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищСпектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищOleksii Voronkin
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxOlgaDidenko6
 
Роль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніРоль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніestet13
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxOlgaDidenko6
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptOlgaDidenko6
 

Recently uploaded (10)

Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
 
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаБалади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
 
Спектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищСпектроскоп. Спостереження оптичних явищ
Спектроскоп. Спостереження оптичних явищ
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptx
 
Роль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніРоль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війні
 
Габон
ГабонГабон
Габон
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptx
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.ppt
 

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. • Властивість довговічності означає, що якщо транзакція завершена успішно, то зміни в даних, що виконуються в ній, не можуть бути втрачені ні за яких обставин (навіть у випадку подальших помилок або збою системи).