Download presentation
Presentation is loading. Please wait.
Published byFernando Saavedra Herrero Modified over 6 years ago
1
אבטחת נתונים בסביבת SQL Data Security
2
מנגנון להגדרת הרשאות בסיס הנתונים מספק מנגנון להגדרת הרשאות
מגדיר לכל משתמש מה מותר לו מבחינת * הטבלאות * הפעולות בנוסף ניתן להשתמש במנגנון הטבלה המדומה: * מגן על שורות מסוימות בתוך הטבלה * בונה הרשאות על צירופים שונים של טבלאות
3
מנגנון להגדרת הרשאות תפיסת ההרשאות מבוססת על שלושה מרכיבים: * משתמש (User) וזיהויו * אובייקט (Object) עליו מגינים, כגון: טבלה, טבלה מדומה, אינדקס, תוכנית ישום * זכויות (Privileges) - פעולות שמותר למשתמש לבצע על אובייקט כגון: אחזור, עדכון, הוספה, ביטול
4
מנגנון להגדרת הרשאות
5
זיהוי משתמש לכל משתמש מוקצה שם משתמש חד-ערכי (User-Id): * מוקצה ע”י מנהל בסיס הנתונים * במערכת מסחרית DB2 אורך שם המשתמש עד 8 תווים * ב- SQL Server - אורך שם המשתמש עד 30 תווים לכל משתמש מוקצה סיסמא (Password) חלק מהמערכות המסחריות לוקחות את שם המשתמש וסיסמתו ישירות ממערכת ההפעלה
6
שם קבוצה (Group-Id) ניתן להגדיר שם קבוצה (Group-Id)
מתאים למקרים בהם קבוצת משתמשים מקבלות אותן זכויות גישה
7
אובייקטים מוגנים תקן SQL2 מרחיב את מושג האובייקטים גם למרחב הערכים (Domain) במערכת מסחרית Oracle ניתן להגן גם על פרוצדורות ואינדקסים במערכת DB2 ניתן להגן על שטחים פיסיים שבהם מאוחסנות טבלאות ומגדיר לאיזה משתמשים מותר להגדיר טבלאות חדשות ובאיזה שטח פיזי
8
זכויות זכויות : הפעולות שמותר למשתמש מורשה לבצע על אובייקט מוגן * בחירה (Select) מתוך טבלה / טבלה מדומה התקן מאפשר גם להגדיר את העמודות בטבלה שמותר למשתמש לשלוף מהם * הוספה (Insert) של שורות חדשות בטבלה/טבלה מדומה * עדכון (Update) של שורות של טבלה/טבלה מדומה התקן מאפשר להגדיר גם את העמודות בטבלה שמותר למשתמש לעדכן
9
זכויות ביטול (Delete) של שורות בטבלה / טבלה מדומה
ייחוס (Reference) - זכות להתייחס לעמודות של טבלה בבדיקות תקינות או שלמות קשרים למרות שאינו מורשה לגשת לטבלה זו REFERENCE privilege allows you to create referential constraints (such as foreign keys) on a database object.
10
בעל האובייקט (Object Owner)
בהגדרה הראשונה של אובייקט מוצמד לו שם בעל האובייקט לבעלים מוענק מיידית כל הזכויות לאובייקט שהוא הגדיר בעל האובייקט יכול: * להעניק זכויות גישה לאובייקט שלו למשתמשים אחרים (פקודתGrant ) * לסלק זכויות שהוענקו (פקודת Revoke ) אם משתמש מגדיר טבלה מדומה עליו להיות בעל זכויות גישה לכל טבלאות הבסיס שעליהן מושתתת הטבלה המדומה
11
הענקת זכויות גישה (Grant)
12
הענקת זכויות גישה (Grant) - דוגמא
13
הענקת זכויות גישה (Grant)
,UPDATE
14
הענקת זכויות גישה (Grant)
15
תרשים זכויות גישה (Grant Diagram)
משמש להבנת מצב ההרשאות ומי העניק למי אילו זכויות
16
תרשים זכויות גישה (Grant Diagram)
נניח עכשיו שדן מעניק זכות מחיקה לאבי אזי עכשיו אבי הוא בעל זכויות שליפה והוספה אותן קבל מזאב וזכות מחיקה אותה קבל מדן
17
ביטול זכויות גישה (Revoke)
הפרמטר RESTRICT מונע את ביטול זכות הגישה אם קיימת היררכיה של זכויות (ברירת מחדל) הפרמטר CASCADE מבטל את כל היררכית הזכויות שהוענקו ע”י המשתמש שממנו נלקחו זכויות
18
ביטול זכויות גישה - דוגמאות
19
ביטול זכויות גישה - דוגמאות
20
ביטול זכויות גישה - דוגמאות
21
ביטול זכויות גישה (Revoke)
נניח שדן וזאב העניקו זכות גישה למשתמש אבי כעת נבטל את זכות הגישה של זאב ע”י הפקודה: REVOKE SELECT, INSERT ON STUDENTS FROM ZEEV CASCADE המשתמש אבי עדיין יהיה בעל זכויות שליפה אותן קבל גם מדן נציין שמערכות מסחריות מטפלות בצורה שונה בביטול זכויות בהיררכיה חלקן מבטלות את כל ההיררכיה וחלקן - לא
22
הענקת זכויות גישה ברמת ערכים בתוך עמודה
דוגמא: מתן אפשרות למשתמש בטבלת קורסים לשלוף שורות של קורסים מסוג מעבדה בלבד ?
23
הענקת זכויות גישה ברמת ערכים בתוך עמודה
דוגמא: מתן אפשרות למשתמש בטבלת קורסים לשלוף שורות של קורסים מסוג מעבדה בלבד
24
טבלאות מדומות ואבטחת נתונים
עכשיו נעניק למשתמש זאב זכות גישה לטבלה מדומה זו GRANT SELECT ON LAB_COURSES TO ZEEV מכיוון וטבלה מדומה יכולה להיות מבוססת גם על צירוף בין טבלאות שונות ניתן לתת הרשאות גישה למשתמשים דרך טבלה מדומה שמאחוריה מסתתרות מספר טבלאות בסיס
25
טבלאות מדומות ואבטחת נתונים
דרך הטבלה המדומה (אם נתנה זכות הוספה) ניתן לדוגמא להוסיף שורות לטבלאות הבסיס זאת במגבלות ההגדרה של הטבלה המדומה ((WITH CHECK OPTION
26
טבלאות מדומות ואבטחת נתונים
לדוגמא: נציג את הטבלה המדומה של ציוני הסטודנטים למדעי המחשב
27
טבלאות מדומות ואבטחת נתונים
עכשיו נעניק זכות גישה לטבלה המדומה למשתמש דן ואבי GRANT SELECT ON CS_GRADES TO DAN, AVI WITH GRANT OPTION
28
שאלות 1. נתונה הטבלה הבאה: עובדים (מס’ עובד, שם עובד, עיר מגורים, כתובת, טלפון) כתוב פקודות SQL המבצעות: א. הענקת זכות שליפה בלבד למשתמש רונן ב. הענקת זכויות: שליפה, יצירת שורות חדשות וביטול למשתמש אייל היכול מצידו להעניק זכויות גישה נוספות ג. הענקת זכות שליפה לכל העמודות וזכות עדכון לעמודות: עיר מגורים, ו- כתובת למשתמשים רותי ותמי
29
שאלות ד. המשתמש אייל מעניק זכויות שליפה וביטול למשתמש יורם היכול להעניק זכויות גישה נוספות ה. המשתמש יורם מעניק זכות שליפה למשתמש אריה. לאריה אסור להעניק זכויות גישה למשתמשים אחרים ו. בטל את כל זכויות הגישה של אייל צייר את תרשים זכויות הגישה המתקבל מסעיפים א-ה כתוב פקודות SQL להענקת זכויות SELECT ו- UPDATE לאריה לגבי עובדים שעיר מגוריהם “הרצליה” בלבד
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.