Firebase የደህንነት ደንቦች በFirestore፣ Realtime Database እና Cloud Storage [S1] ውስጥ ያለውን ውሂብ ለመጠበቅ በአገልጋይ የሚተገበረው በጥራጥሬ የታገዘ ዘዴ ይሰጣሉ። ምክንያቱም የFirebase አፕሊኬሽኖች ከእነዚህ የደመና አገልግሎቶች ጋር በቀጥታ ከደንበኛ ወገን ጋር መስተጋብር ስለሚፈጥሩ እነዚህ ደንቦች ያለፈቃድ የጀርባ መረጃን [S1] እንዳይደርሱ የሚከለክሉትን ብቸኛ እንቅፋት ይወክላሉ።
የፈቃድ ህጎች ተጽእኖ
በተሳሳተ መንገድ የተዋቀሩ ደንቦች ወደ ጉልህ የውሂብ መጋለጥ [S2] ሊመሩ ይችላሉ። ደንቦቹ ከመጠን በላይ ፈቃዶች እንዲሆኑ ከተዋቀሩ-ለምሳሌ፣ ዓለም አቀፍ መዳረሻን የሚፈቅዱ ነባሪ የ'ሙከራ ሁነታ' ቅንብሮችን በመጠቀም - ማንኛውም የፕሮጀክት መታወቂያ እውቀት ያለው ተጠቃሚ ሙሉውን የውሂብ ጎታ ይዘት [S2] ማንበብ፣ ማሻሻል ወይም መሰረዝ ይችላል። ይህ ሁሉንም የደንበኛ-ጎን የደህንነት እርምጃዎችን ያልፋል እና ሚስጥራዊነት ያለው የተጠቃሚ መረጃ መጥፋት ወይም አጠቃላይ የአገልግሎት መስተጓጎል [S2] ሊያስከትል ይችላል።
የስር መንስኤ፡ በቂ ያልሆነ የፍቃድ አመክንዮ
የእነዚህ የተጋላጭ ሁኔታዎች ዋና መንስኤ በተጠቃሚ ማንነት ወይም በግብአት ባህሪያት [S3] ላይ በመመስረት መዳረሻን የሚገድቡ ልዩ ሁኔታዎችን አለመተግበሩ ነው። ገንቢዎች የrequest.auth ነገርን [S3] የማያጸድቁትን ነባሪ ውቅሮችን በምርት አካባቢዎች ንቁ ሆነው ይተዋሉ። request.authን ሳይገመግም ስርዓቱ ህጋዊ የተረጋገጠ ተጠቃሚ እና ማንነቱ ያልታወቀ ጠያቂ [S3] መለየት አይችልም።
ቴክኒካል ማሻሻያ
የFirebase አካባቢን መጠበቅ ከክፍት መዳረሻ ወደ ዋናው-ከታናሽ-ልዩ መብት ሞዴል መሄድን ይጠይቃል።
ማረጋገጥን ተግብር *፡ ሁሉም ሚስጥራዊነት ያላቸው ዱካዎች ትክክለኛ የተጠቃሚ ክፍለ ጊዜ እንደሚያስፈልጋቸው ያረጋግጡ የrequest.auth ነገር ምንም [S3] ካልሆነ። በማንነት ላይ የተመሰረተ መዳረሻን ተግብር፡ የተጠቃሚውን ዩአይዲ (request.auth.uid) በሰነዱ ውስጥ ካለ መስክ ወይም የሰነዱ መታወቂያው ውስጥ ካለው መስክ ጋር ተጠቃሚዎች የራሳቸውን ውሂብ [S3] የሚያወዳድሩ ህጎችን ያዋቅሩ።
- ግራኑላር የፈቃድ ወሰን፡ ለስብስብ ዓለም አቀፍ የዱር ካርዶችን ያስወግዱ። በምትኩ፣ ሊፈጠር የሚችለውን የጥቃት ወለል [S2] ለመቀነስ ለእያንዳንዱ ስብስብ እና ንዑስ ስብስብ የተወሰኑ ህጎችን ይግለጹ።
- በEmulator Suite በኩል ማረጋገጫ: የደህንነት ደንቦችን በአገር ውስጥ ለመሞከር Firebase Emulator Suite ይጠቀሙ። ይህ ወደ ቀጥታ አካባቢ [S2] ከመሰማራቱ በፊት በተለያዩ የተጠቃሚ ሰዎች ላይ የመዳረሻ ቁጥጥር አመክንዮ ለማረጋገጥ ያስችላል።
FixVibe እንዴት እንደሚፈትሽ
FixVibe አሁን ይህንን እንደ ተነባቢ-ብቻ BaaS ቅኝት ያካትታል። baas.firebase-rules Firebase ውቅረትን ከተመሳሳይ-ምንጭ የጃቫስክሪፕት ቅርቅቦችን ያወጣል፣ዘመናዊ የinitializeApp(...) የጥቅል ቅርጾችን ጨምሮ፣ከዚያም Realtime Database፣Firestore እና ZXCVFIXVIBETOKEN12ZOn ተነባቢ ያልሆነ ጥያቄ። ለፋየርስቶር መጀመሪያ የስር ስብስብ ዝርዝርን ይሞክራል; መዘርዘር በሚታገድበት ጊዜ እንደ users፣ accounts፣ customers፣ orders፣ZXCVFIZXVIBETOKEN6 messages፣ admin እና settings። ስኬታማ ያልታወቁ ንባቦችን ወይም ዝርዝሮችን ብቻ ሪፖርት ያደርጋል እና የደንበኛ ሰነድ ይዘቶችን አይጽፍም አይሰርዝም ወይም አያከማችም።
