PracticU

שימוש ב-View לשיפור Security

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › שימוש ב-View לשיפור Security
מילון מושגים:
View - רכיב שאחראי על הצגת המידע למשתמש (התצוגה) בדפוס MVC. גם טבלה וירטואלית מבוססת שאילתה במסד נתונים.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.

שימוש ב-View לשיפור Security
בהרצאה זו מוסבר איך view יכול לשמש ככלי אבטחה: משתמש רואה רק את החלק של המידע שמותר לו, בלי לחשוף את הטבלה המקורית.
יצירת View מצומצם
1. הטבלה המקורית: employees כוללת עמודת משכורת ועמודה שמראה מי מדווח למי.
2. הסתרת עמודות: ה-view מציג את כל העמודות חוץ מהמשכורת, ומסנן את עובד מספר 2, שהוא המנכ"ל, בעזרת תנאי WHERE.
3. בדיקה: שאילתה מתוך ה-view מחזירה רק את העמודות המותרות ואת העובדים שלא הוסתרו.
הרשאות למשתמש
1. משתמש חדש: יוצרים login בשם WebSecretary עם תפקיד public בלבד, בלי הרשאות sysadmin.
2. הרשאה: מעניקים לו SELECT על ה-view בלבד, בלי הרשאות מחיקה או שינוי, ובלי אפשרות להעניק את ההרשאה הלאה.
3. מצב אימות: כדי להתחבר עם שם משתמש וסיסמה של SQL, צריך לאפשר SQL Server and Windows authentication ולאתחל את השירות.
שימו לב
1. הטבלה המקורית: המשתמש לא יכול לגשת אליה. לכן גם אם מישהו יגנוב את שם המשתמש והסיסמה, הוא לא יגיע למידע הסודי.
2. המנהל: משתמש מערכת מלא עדיין רואה את כל הטבלאות.
השיעור הבא בקורס: יצירת אוביקט VIEW

פרקי ההרצאה: שימוש ב-View לשיפור Security

  1. 00:00

    מבוא: View וקשר לאבטחת מידע

  2. 00:38

    הצגת נתונים בלי עמודת השכר

  3. 01:48

    שמירת ה-View עבור מזכירות

  4. 02:28

    יצירת משתמש SQL עם הרשאות מוגבלות

  5. 03:20

    הרשאות SELECT בלבד על ה-View

  6. 03:55

    מניעת חלוקת ההרשאה לאחרים

  7. 04:34

    אימות מעורב והפעלה מחדש של השירות

תמלול ההרצאה: שימוש ב-View לשיפור Security

הטקסט המלא של הדקות הראשונות בהרצאה «שימוש ב-View לשיפור Security» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום, ברוכים הבאים להרצאה על קשר בין view לאבטחת מידע. למה view משפיע על אבטחת מידע? בואו נעשה משהו פשוט, נניח בטבלת employees, נעשה design, ונראה שיש לנו פה עמודה סלרי, כבר הוספתי עמודת משכורת.

  2. 00:19

    ואנחנו רוצים להראות כמה עמודות, אבל לא סלרי, אבל לא משכורת. להראות את כל המידע חוץ ממשכורת, ונניח יש לנו גם עובד שהוא בוס בכיר, שכולם מדווחים עליו, שזה עובד מספר 2 שזה זה אנחנו לא רוצים שום מידע על העובד הזה כי זה מנכ"ל החברה אנחנו לא רוצים להראות לאף אחד מידע סודי על העובד הזה אז בואו נעשה דבר כזה בוא נעשה פה שאילתה

  3. 00:44

    שמראה את כל העמודות חוץ מסלרי סלרי אנחנו לא רוצים להראות ואנחנו לא רוצים להראות עובד מספר 2 נעשה פה view חדש שזה כמו טבלה וירטואלית על employees ונגיד לו תראה לי את כל העמודות חוץ ממי מדווח למי אז זה עמודות שמותר לך לראות.

  4. 01:04

    ומה עוד אם פלואי איי-די פילטר לא שווה לשתיים? בואו נראה שזה באמת עובד. אנחנו רואים פה את התוצאות, אנחנו רואים פה את השאילתה, ואני רואה שזה באמת באמת עובד. יש לנו פה רשימת עובדים, עובד מספר שתיים לא נמצא, או יש לנו פה סלרי.

  5. 01:23

    מוריד את זה, עושה רפרש. בואו נוריד גם את הפוטו הזה, ואני רואה שהשאילתה שלי מוכנה. ככה נהוג לשמור תמונות ב-Path לאיזשהו מקום אחר, אבל לא בתוך ה-Database, זאת אומרת יש לי נתיב לתמונה, איפה נמצאת התמונה בדיסק.

  6. 01:46

    יופי, שמרנו את זה, אנחנו עושים סייב לשאילתה, קוראים לה Employees View, Employee for Secretary. למזכירות מותר לראות את הדבר הזה, סקרטרי.

  7. 02:00

    ונעשה אוקיי, ויש לנו פה רפרש Employee for Secretary. בואו נסגור את זה. נסגור את זה, ונראה איך זה נראה. נעשה Select Top 1000, כאילו שזו טבלה וירטואלית, כן? View זה כמו טבלה וירטואלית, ואנחנו רואים שזה אכן עובד לנו.

  8. 02:22

    אין לנו סלרים בסוף, אין לנו עובד מספר 2. יפה מאוד. איך כל זה קשור לאבטחת מידע? עכשיו שימו לב מה אני עושה. אני מייצר עכשיו עובד חדש שיהיה לו מותר לראות רק את זה, ואסור לו לראות את הטבלה המקורית.

  9. 02:36

    זאת אומרת, אני הולך ל-Security, ל-Logins, ומייצר פה עובד חדש, נקרא לו WebSecretary, זאת אומרת WebSecretary זה אתר האינטרנט של המזכירות התחבר ככה התוכנה של המזכירות אני אומר להם שהדיפולט שלהם זה Northwind שימו לב בסרבר roles הוא רק

  10. 02:56

    public הוא לא sysadmin sysadmin זה אחד שמותר לו להיכנס לאן שהוא רוצה אני לא נותן לו ביוזר מפינג אני נותן לו רק Northwind רק public עושה אוקיי אז יש לנו פה בעצם עכשיו WebSecretary יפה מאוד הולכים ל-view הזה ועושים על ה-view הזה properties.

  11. 03:18

    מאפיינים על ה-view הזה. אנחנו רואים שאנחנו ב-view properties ויש לנו permissions, הרשאות. אנחנו אומרים שאנחנו רוצים לחלק הרשאות ל-WebSecretary.

  12. 03:30

    יכלנו לעשות גם browse ולראות את כל מי שקיים שלא חילקנו לו הרשאות. עכשיו הוא שואל אותי איזה הרשאות אתה רוצה לתת ל-WebSecretary.

  13. 03:41

    אני אומר שים לב, רק סלקט, רק סלקט, אסור לה לשנות את זה, אסור לה למחוק, אסור לה לראות דפינישן, אסור לה אפילו לראות איך זה נעשה.

  14. 03:55

    וויזגרנד זה אומר לחלק לאחרים את ההרשאה הזאת. זאת אומרת, הבן אדם הזה לא יוכל לחלק לאחרים את אותה הרשאה. הוא יכול להשתמש בסלקט וזהו.

  15. 04:05

    עכשיו שימו לב, אני למעלה פה מחובר כיוני. אני מחובר כיוני, אני עושה עוד פעם קונקט, עובר ל-SQL, עושה פייסט, ושימו לב זה עובד עם sql server authentication אצלי זה עבד אם זה לא עובד לכם אם זה לא עובד לכם תבואו לפה תעשו properties security ותאפשרו sql server and windows authentication תאפשרו את האופציה הזאת

  16. 04:39

    ואחרי שאתם מאפשרים את זה צריך לעשות restart לסרוויס restart לסרוויס עכשיו אנחנו מחוברים כ-web secretary ופה כ-yoni שימו לב מה ההבדל WebSecretary לא יכולה להיכנס לכל מיני מקומות,

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: יצירת טבלה - פקודות

ההרצאה הבאה: יצירת אוביקט VIEW

הרצאות קשורות מקורסים אחרים

  • שימוש ב-View - Entity Framework
  • Security Groups - חלק 1
  • Debug View
  • View Group

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI