โดยปกติแล้ว ความปลอดภัยเป็นส่วนที่ซับซ้อนที่สุดส่วนหนึ่งของการพัฒนาแอป ในแอปพลิเคชันส่วนใหญ่ นักพัฒนาแอปต้องสร้างและเรียกใช้เซิร์ฟเวอร์ที่ จัดการการตรวจสอบสิทธิ์ (ผู้ใช้คือใคร) และการให้สิทธิ์ (ผู้ใช้ทำอะไรได้บ้าง) การตรวจสอบสิทธิ์และการให้สิทธิ์นั้นตั้งค่าได้ยาก ทำให้การตั้งค่าให้ถูกต้องยิ่งยากขึ้น และ เป็นสิ่งสำคัญต่อความสำเร็จของผลิตภัณฑ์
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 บัคเก็ต
ดูข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัยของข้อมูล โดยใช้กฎความปลอดภัย