ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-21, Tuesday
🔐 සයිබර් ආරක්ෂාව · 🕒 කියවීමට විනාඩි 2 · 👁 1

Supabase RLS දෝෂ පරීක්ෂා කිරීමේ නොමිලේ SQL පරීක්ෂකය – ඔබේ දත්ත ආරක්ෂා කරන්න

Supabase RLS දෝෂ පරීක්ෂා කිරීමේ නොමිලේ SQL පරීක්ෂකය – ඔබේ දත්ත ආරක්ෂා කරන්න

Supabase භාවිතා කරන බොහෝ සංවර්ධකයින්ට Row Level Security (RLS) සක්‍රිය කර ඇති බවත්, දත්ත රහසිගතව පවත්වාගෙන යන බවත් විශ්වාසයි. නමුත් RLS නීති වැරදිව සකස් කරන්නේ නම්, අනිවාර්යයෙන්ම දත්ත රහස්‍යතා උල්ලංඝනය වීමට ඉඩ ඇත. මේ ගැන අවධානය යොමු කරමින්, පළමු වරට නොමිලේ SQL පරීක්ෂකයක් හඳුන්වා දෙනවා.

RLS දෝෂ 5 ක් – කුමන ගැටලුවක්ද?

Supabase හි RLS දෝෂ 5ක් බොහෝ ආරක්ෂා උල්ලංඝන සිදුවීම්වල ප්‍රධාන හේතුව වේ. ඒවා පහත පරිදි සාරාංශ කරගත හැක:

  • දෝෂ #1 – RLS සක්‍රිය නොවීම: නව වගුවක් සාදන විට, සමාන්‍යයෙන් schema එකේ RLS සක්‍රිය කර තිබුණද, එම නව වගුවට ඒ සක්‍රිය කිරීම අමතක වීමෙන්, අනාන්‍ය (anon) යතුරින් ඕනෑම කෙනෙකුට කියවීමට සහ ලියීමට හැකියාව ලැබේ.
  • දෝෂ #2 – RLS සක්‍රිය නමුත් නීති නොමැතිවීම: මෙය 42501 දෝෂයක් ("new row violates row-level security policy") උත්පාදනය කරයි. නීති නොමැති නිසා, ක්‍රියාකාරකමට අනුව වගුව සම්පූර්ණයෙන්ම අවහිර වෙයි හෝ සම්පූර්ණයෙන්ම විවෘත වෙයි.
  • දෝෂ #3 – ලියන නීතියේ WITH CHECK නොමැතිවීම: USING කොන්දේසියෙන් කවුද ලියන්න පුළුවන් කියලා පාලනය කළත්, WITH CHECK නොමැති නිසා පරිශීලකයා වෙනත් කෙනෙකුගේ දත්ත ඇතුළත් කිරීමට හෝ වෙනස් කිරීමට ඉඩ ලැබේ.
  • දෝෂ #4 – සෑම කෙනාටම සත්‍ය ලෙස පෙනෙන නීතිය: නාමයක් සහිත නීතියක් තිබුණත්, ඇතුළත් කොන්දේසිය සෑම රෝල් එකකටම true වේ. එවිට "ආරක්ෂා" පෙනේ නමුත් වස්තුවක් ආරක්ෂා නොවේ.
  • දෝෂ #5 – anon රෝලයට සෘජු GRANT ලබා දීම: ඩිබග් කිරීමේදී හෝ අත්හදා බැලීමේදී anon රෝලයට සෘජු GRANT එකක් දෙනවා නම්, RLS නීති සම්පූර්ණයෙන්ම අවලංගු වේ.

මෙම ගැටලු පරීක්ෂා කිරීම සඳහා Supabase හි SQL editor එකෙන් පහත සරල query එකක් ධාවනය කළ හැකිය. මෙම query එක PostgreSQL නාමාවලිය (pg_policies, pg_class, information_schema) භාවිතා කරයි, එබැවින් Supabase විසින් අමුණා ඇති කිසිදු අමතර වගුවක් අවශ්‍ය නොවේ.

select n.nspname as schema, c.relname as table_name, c.relrowsecurity as rls_enabled, count(p.polname) as policy_count
from pg_class c
join pg_namespace n on n.oid = c.relnamespace
left join pg_policies p on p.tablename = c.relname and p.schemaname = n.nspname
where n.nspname = 'public' and c.relkind = 'r'
group by n.nspname, c.relname, c.relrowsecurity
order by rls_enabled asc, policy_count asc;

මෙම query එකෙන් rls_enabled = false නම් දෝෂ #1, rls_enabled = true සහ policy_count = 0 නම් දෝෂ #2 පෙන්වයි. දෝෂ #3‑#5 සඳහා pg_policies.qual, pg_policies.with_check සහ information_schema.role_table_grants වගු පරීක්ෂා කළ යුතුය.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තාක්ෂණික ආරම්භකයන්, විද්‍යාල සිසුන්, සහ ව්‍යාපාරිකයින් Supabase වැනි open‑source backend සේවා භාවිතා කරයි. RLS නීති වල අඩුපාඩු නිසා පාරිභෝගික දත්ත හෝ ආයෝජන තොරතුරු ලෙඩවිය හැකිය. එම නිසා, මෙම නොමිලේ SQL audit file එක භාවිතා කරමින්, ක්‍රමලේඛකයින්ට තම data layer එකේ ආරක්ෂාව වගකීමෙන් පරීක්ෂා කර, වැරදි නිවැරදි කිරීමට අවශ්‍ය පියවර ගත හැකිය. එමඟින් දත්ත උල්ලංඝන වලින් ආර්ථික හා නීතිමය ප්‍රතිඵල වැළැක්විය හැකි අතර, ශ්‍රී ලංකාවේ තාක්ෂණික නිෂ්පාදනවල විශ්වාසය වැඩි දියුණු වේ.

ඉදිරියේදී, Supabase community එක විසින් මෙම audit script එක open‑source ලෙස ලබා දී ඇති නිසා, ඔබේ ව්‍යාපෘතියේ security posture එක තක්සේරු කරගැනීමට එය ඉතාමත් ප්‍රයෝජනවත් වේ.

ඔබේ Supabase දත්ත ආරක්ෂාව පිළිබඳ අවශ්‍ය පරීක්ෂා අදම කරගෙන, අනාගතයේ ඇති විය හැකි data breach වලින් ඔබේ ව්‍යාපාරය ආරක්ෂා කරගන්න.

💡 ඔබේ Supabase දත්ත ආරක්ෂාව අදම පරීක්ෂා කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Supabase #RLS #SQL #Security #Audit