אבטחת מידע בדוחות בדיקה: מה זה Row-Level Security ולמה לכם
אבטחה ברמת השורה (Row-Level Security) היא מנגנון שבו מסד הנתונים עצמו אוכף מי רשאי לראות כל רשומה, ולא רק ממשק המשתמש מסתיר אותה. ההבדל מעשי: בלי המנגנון הזה, בקשה ישירה למסד עלולה להחזיר נתונים של משתמש אחר גם אם המסך לא מציג אותם. באינספקטרה כל משתמש רואה רק את הפרויקטים שלו ואת אלה ששותפו איתו.
דוח בדיקה הוא מסמך רגיש: כתובות, ליקויים בנכסים, אומדני עלויות, ולפעמים פרטי סכסוך משפטי מתגלגל. כשהנתונים האלה עוברים לענן, מותר וצריך לשאול איך הם מוגנים.
הרשאות רגילות מול Row-Level Security
ברוב המערכות, ההרשאות נבדקות בקוד האפליקציה: "אם המשתמש מורשה, הצג". החולשה: באג אחד בקוד, ומשתמש רואה פרויקטים של אחרים. ב‑Row-Level Security (RLS) ההגנה יורדת לשכבת מסד הנתונים עצמו: כל שורת נתונים נושאת כלל מי רשאי לראותה, ומסד הנתונים מסרב להחזיר אותה לכל אחד אחר - גם אם האפליקציה טעתה ושאלה.
מה זה אומר בעולם הבדיקות
- בין לקוחות: בודק לא יכול לראות פרויקטים של בודק אחר, נקודה. לא בגלל נימוס - בגלל שהשאילתה לא מחזירה אותם.
- בין תפקידים: קבלן שהצטרף בקוד רואה את הליקויים שלו בפרויקט הזה בלבד, לא את שאר העסק שלכם.
- שקט מול לקוחות: כשלקוח שואל "מי עוד רואה את הדוח שלי", יש תשובה טכנית אמיתית.
שאלות ששווה לשאול כל ספק
איפה הנתונים מאוחסנים ומה מוצפן? האם ההפרדה בין לקוחות היא ברמת מסד הנתונים או רק בקוד? מה קורה לנתונים אם עוזבים? ב‑Inspectra ההפרדה מובנית ב‑RLS מהיסוד: רק יוצר הפרויקט והקבלן עם הקוד רואים אותו, כל אחד את שלו.