ສຽງແຄນ
ການຮັບປະກັນໂຄງການ Supabase ຮຽກຮ້ອງໃຫ້ມີວິທີການຫຼາຍຊັ້ນໂດຍສຸມໃສ່ການຄຸ້ມຄອງລະຫັດ API, ຄວາມປອດໄພຂອງຖານຂໍ້ມູນ, ແລະການອະນຸຍາດການເກັບຮັກສາ. [S1] ການຕັ້ງຄ່າຄວາມປອດໄພລະດັບແຖວທີ່ບໍ່ເໝາະສົມ (RLS) ຫຼືກະແຈທີ່ລະອຽດອ່ອນສາມາດນຳໄປສູ່ເຫດການການເປີດເຜີຍຂໍ້ມູນທີ່ສຳຄັນໄດ້. [S2] [S3]
ອັນໃດປ່ຽນແປງ
ການຄົ້ນຄວ້ານີ້ລວມການຄວບຄຸມຄວາມປອດໄພຫຼັກສໍາລັບສະພາບແວດລ້ອມ Supabase ໂດຍອີງໃສ່ຄໍາແນະນໍາດ້ານສະຖາປັດຕະຍະກໍາຢ່າງເປັນທາງການ. [S1] ມັນສຸມໃສ່ການຫັນປ່ຽນຈາກການຕັ້ງຄ່າການພັດທະນາໃນຕອນຕົ້ນໄປສູ່ທ່າທີ່ແຂງກະດ້າງໃນການຜະລິດ, ໂດຍສະເພາະກ່ຽວກັບກົນໄກການຄວບຄຸມການເຂົ້າເຖິງ. [S2] [S3]
ໃຜໄດ້ຮັບຜົນກະທົບ
ແອັບພລິເຄຊັນທີ່ໃຊ້ Supabase ເປັນ Backend-as-a-Service (BaaS) ໄດ້ຮັບຜົນກະທົບ, ໂດຍສະເພາະຜູ້ທີ່ຈັດການກັບຂໍ້ມູນສະເພາະຂອງຜູ້ໃຊ້ຫຼືຊັບສິນສ່ວນຕົວ. [S2] ນັກພັດທະນາທີ່ລວມເອົາກະແຈ service_role ຢູ່ໃນມັດຂ້າງລູກຄ້າຫຼືບໍ່ເປີດໃຊ້ RLS ມີຄວາມສ່ຽງສູງ. [S1]
ບັນຫາເຮັດວຽກແນວໃດ
Supabase ນຳໃຊ້ຄວາມປອດໄພລະດັບແຖວຂອງ PostgreSQL ເພື່ອຈຳກັດການເຂົ້າເຖິງຂໍ້ມູນ. [S2] ໂດຍຄ່າເລີ່ມຕົ້ນ, ຖ້າ RLS ບໍ່ໄດ້ເປີດໃຊ້ຢູ່ໃນຕາຕະລາງ, ຜູ້ໃຊ້ໃດໆທີ່ມີກະແຈ anon—ເຊິ່ງມັກຈະເປັນສາທາລະນະ—ສາມາດເຂົ້າເຖິງບັນທຶກທັງໝົດໄດ້. [S1] ເຊັ່ນດຽວກັນ, Supabase Storage ຕ້ອງການນະໂຍບາຍທີ່ຊັດເຈນເພື່ອກໍານົດວ່າຜູ້ໃຊ້ຫຼືບົດບາດໃດສາມາດດໍາເນີນການກ່ຽວກັບຖັງໄຟລ໌ໄດ້. [S3]
ສິ່ງທີ່ຜູ້ໂຈມຕີໄດ້ຮັບ
ຜູ້ໂຈມຕີທີ່ມີກະແຈ API ສາທາລະນະສາມາດນຳໃຊ້ຕາຕະລາງທີ່ຂາດຫາຍໄປ RLS ເພື່ອອ່ານ, ແກ້ໄຂ ຫຼືລຶບຂໍ້ມູນທີ່ເປັນຂອງຜູ່ໃຊ້ອື່ນ. [S1] [S2] ການເຂົ້າເຖິງຖັງເກັບຂໍ້ມູນໂດຍບໍ່ໄດ້ຮັບອະນຸຍາດສາມາດນໍາໄປສູ່ການເປີດເຜີຍຂອງໄຟລ໌ຜູ້ໃຊ້ສ່ວນຕົວຫຼືການລຶບຊັບສິນຄໍາຮ້ອງສະຫມັກທີ່ສໍາຄັນ. [S3]
ວິທີການ FixVibe ທົດສອບສໍາລັບມັນ
FixVibe ຕອນນີ້ກວມເອົາອັນນີ້ເປັນສ່ວນຫນຶ່ງຂອງການກວດສອບ Supabase ຂອງມັນ. baas.supabase-security-checklist-backfill ທົບທວນຄືນ Supabase ຂໍ້ມູນເມຕາຂອງຖັງເກັບຂໍ້ມູນສາທາລະນະ, ການສະແດງລາຍຊື່ວັດຖຸທີ່ບໍ່ເປີດເຜີຍຊື່, ການຕັ້ງຊື່ຖັງທີ່ລະອຽດອ່ອນ, ແລະສັນຍານການເກັບຮັກສາແບບບໍ່ຜູກມັດຈາກເຂດແດນສາທາລະນະ. ການກວດສອບສົດທີ່ກ່ຽວຂ້ອງກວດກາການເປີດຮັບສ່ວນສຳຄັນຂອງການບໍລິການ, Supabase REST/RLS posture, ແລະການໂອນຍ້າຍ SQL repository ສໍາລັບ RLS ທີ່ຂາດຫາຍໄປ.
##ຕ້ອງແກ້ໄຂຫຍັງ
ເປີດໃຊ້ Row Level Security ໃນຕາຕະລາງຖານຂໍ້ມູນສະເໝີ ແລະປະຕິບັດນະໂຍບາຍ granular ສໍາລັບຜູ້ໃຊ້ທີ່ຜ່ານການຮັບຮອງ. [S2] ໃຫ້ແນ່ໃຈວ່າພຽງແຕ່ໃຊ້ລະຫັດ 'anon' ໃນລະຫັດດ້ານລູກຄ້າ, ໃນຂະນະທີ່ກະແຈ 'service_role' ຍັງຄົງຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ. [S1] ຕັ້ງຄ່າການຄວບຄຸມການເຂົ້າເຖິງບ່ອນເກັບຂໍ້ມູນເພື່ອຮັບປະກັນວ່າຖັງໄຟລ໌ເປັນສ່ວນຕົວໂດຍຄ່າເລີ່ມຕົ້ນ ແລະການເຂົ້າເຖິງແມ່ນອະນຸຍາດຜ່ານນະໂຍບາຍຄວາມປອດໄພທີ່ກຳນົດໄວ້ເທົ່ານັ້ນ. [S3]
