โดยปกติแล้ว ความปลอดภัยเป็นส่วนที่ซับซ้อนที่สุดส่วนหนึ่งของการพัฒนาแอป ในแอปพลิเคชันส่วนใหญ่ นักพัฒนาแอปต้องสร้างและเรียกใช้เซิร์ฟเวอร์ที่จัดการการตรวจสอบสิทธิ์ (ผู้ใช้คือใคร) และการให้สิทธิ์ (ผู้ใช้ทำอะไรได้บ้าง) การตรวจสอบสิทธิ์และการให้สิทธิ์นั้นตั้งค่าได้ยาก ทำให้การตั้งค่าให้ถูกต้องยิ่งยากขึ้น และ เป็นสิ่งสำคัญต่อความสำเร็จของผลิตภัณฑ์
Firebase Authenticationช่วยให้คุณตรวจสอบสิทธิ์ผู้ใช้ได้ง่าย เช่นเดียวกับที่ Firebase Security Rules สำหรับ Cloud Storage ช่วยให้คุณให้สิทธิ์ผู้ใช้และตรวจสอบคำขอได้ง่าย Cloud Storage Security Rules จัดการความซับซ้อนให้คุณโดย อนุญาตให้คุณระบุสิทธิ์ตามเส้นทาง คุณสามารถเขียนกฎการให้สิทธิ์ที่จำกัดCloud Storageคำขอไปยังผู้ใช้บางรายหรือจำกัดขนาดการอัปโหลดได้โดยใช้โค้ดเพียงไม่กี่บรรทัด
Firebase Realtime Database มีฟีเจอร์ที่คล้ายกันชื่อ Firebase Realtime Database Security Rules
การตรวจสอบสิทธิ์
การทราบว่าผู้ใช้คือใครเป็นส่วนสำคัญในการสร้างแอปพลิเคชัน และ
Firebase Authenticationมีโซลูชันที่ใช้งานง่าย ปลอดภัย และฝั่งไคลเอ็นต์เท่านั้น
สำหรับการตรวจสอบสิทธิ์ Firebase Security Rules สำหรับ Cloud Storage เชื่อมโยงกับ Firebase Authentication
เพื่อความปลอดภัยตามผู้ใช้ เมื่อมีการตรวจสอบสิทธิ์ผู้ใช้ด้วย Firebase Authentication ตัวแปร request.auth ใน Cloud Storage Security Rules จะกลายเป็นออบเจ็กต์ที่มีรหัสที่ไม่ซ้ำกันของผู้ใช้ (request.auth.uid) และข้อมูลผู้ใช้อื่นๆ ทั้งหมดในโทเค็น (request.auth.token) เมื่อผู้ใช้ไม่ได้รับการตรวจสอบสิทธิ์ request.auth จะเป็น null ซึ่งจะช่วยให้คุณควบคุมการเข้าถึงข้อมูลได้อย่างปลอดภัย
ตามผู้ใช้แต่ละราย ดูข้อมูลเพิ่มเติมได้ในส่วนการตรวจสอบสิทธิ์
การให้สิทธิ์
การระบุตัวตนผู้ใช้เป็นเพียงส่วนหนึ่งของความปลอดภัย เมื่อทราบแล้วว่าใครเป็นผู้ใช้เหล่านั้น คุณจะต้องมีวิธีควบคุมการเข้าถึงไฟล์ใน Cloud Storage
Cloud Storage ช่วยให้คุณระบุการให้สิทธิ์ต่อไฟล์และต่อเส้นทาง
ซึ่งอยู่ในเซิร์ฟเวอร์ของเราและกำหนดการเข้าถึงไฟล์ในแอปได้
เช่น Cloud Storage Security Rules เริ่มต้นต้องใช้ Firebase Authentication ใน
การดำเนินการ read หรือ write กับไฟล์ทั้งหมด
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { allow read, write: if request.auth != null; } } }
คุณแก้ไขกฎเหล่านี้ได้โดยเลือกแอป Firebase ในFirebase Console
แล้วดูแท็บ Rules ของส่วน Storage
การตรวจสอบข้อมูล
Firebase Security Rules สำหรับ Cloud Storage ยังใช้ในการตรวจสอบข้อมูลได้ด้วย ซึ่งรวมถึงการตรวจสอบชื่อและเส้นทางไฟล์ รวมถึงพร็อพเพอร์ตี้ข้อมูลเมตาของไฟล์ เช่น contentType และ size
service firebase.storage { match /b/{bucket}/o { match /images/{imageId} { // Only allow uploads of any image file that's less than 5MB allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } } }
ขั้นตอนถัดไป
เริ่มต้นวางแผนการพัฒนากฎ สำหรับที่เก็บข้อมูล Cloud Storage
ดูข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัยของข้อมูล โดยใช้กฎความปลอดภัย