בודק RLS והרשאות ל-Supabase
מדביקים את קבצי המיגרציה או את הסכמה, ומקבלים רשימה של מה שפתוח מדי, עם SQL לתיקון. הבדיקה רצה בדפדפן שלכם, וה-SQL לא נשלח לשום מקום.
מה הבודק מחפש
- טבלאות בלי RLS טבלה ב-public בלי RLS פתוחה לכל מי שמחזיק במפתח הציבורי, והמפתח הזה נמצא בקוד של כל דפדפן.
- מדיניות using (true) תנאי שמתקיים תמיד. בקריאה זה אולי מכוון, בכתיבה או במחיקה זו דלת פתוחה.
- פעולות בלי מדיניות הוספה, עדכון או מחיקה בלי מדיניות חסומות. הבודק מראה מה חסר ונותן תבנית של בעלים בלבד.
- security definer בלי search_path פונקציה שרצה בהרשאות של היוצר שלה, בלי search_path קבוע ובלי חסימה למי שלא מחובר.
- הרשאות ל-anon grant של כתיבה למי שלא מחובר, ו-grant חסר על טבלה חדשה אחרי השינוי של Supabase מ-30.10.2026.
- דלי אחסון ציבורי ו-views דלי public שכל אחד פותח בו קבצים לפי כתובת, ו-view שעוקף את ה-RLS של הטבלאות שמתחתיו.
כל בדיקה כאן מקבילה לבדיקה בלינטר הרשמי של Supabase (Security Advisor), כדי שתוכלו לאמת אותה גם שם.
שאלות נפוצות
הבודק מריץ את ה-SQL שלי?
לא. הוא קורא את הטקסט בדפדפן שלכם ומחפש תבניות. הוא לא מתחבר לשום מסד נתונים, לא מריץ פקודה, והטקסט לא נשלח לשרת שלנו או לשום מקום אחר.
מה להדביק?
את קבצי המיגרציה מהתיקייה supabase/migrations, או ייצוא של הסכמה. אפשר להדביק כמה קבצים ברצף. מה שבתוך פונקציות ובלוקים של DO לא נבדק.
הבודק לא מצא כלום. האפליקציה מאובטחת?
לא בהכרח. הבודק מזהה תבניות מסוכנות בטקסט, אבל לא יודע מי אמור לראות מה אצלכם. מדיניות שבודקת את העמודה הלא נכונה נראית תקינה לגמרי. את זה בודקים מול האפליקציה עצמה.
מה השתנה ב-Supabase ב-30.10.2026?
לפי Supabase, מ-30 באוקטובר 2026 גם בפרויקטים קיימים טבלה חדשה בסכמה public לא נחשפת ל-API עד שנותנים לה grant מפורש. בלי grant האפליקציה מקבלת שגיאה 42501. טבלאות קיימות לא מושפעות.
מה זה RLS ואיך כותבים מדיניות נכונה: המדריך ל-RLS.
לבדוק את זה על הפרויקט שלכם
20 דקות בוואטסאפ, ללא עלות. מספרים מה בניתם ואיפה זה נתקע, ויוצאים עם הצעד הבא.
- מבית Elya Studio
- 5.0 בגוגל
- 50+ פרויקטים של הצוות בפרודקשן