เดิมที การรักษาความปลอดภัยเป็นหนึ่งในส่วนที่ซับซ้อนที่สุดของการพัฒนาแอพ ในแอปพลิเคชันส่วนใหญ่ นักพัฒนาจะต้องสร้างและเรียกใช้เซิร์ฟเวอร์ที่จัดการการรับรองความถูกต้อง (ผู้ใช้คือใคร) และการอนุญาต (สิ่งที่ผู้ใช้สามารถทำได้) การรับรองความถูกต้องและการอนุญาตเป็นเรื่องยากที่จะตั้งค่า ถูกต้องได้ยากขึ้น และมีความสำคัญอย่างยิ่งต่อความสำเร็จของผลิตภัณฑ์ของคุณ
เช่นเดียวกับที่ Firebase Authentication ช่วยให้คุณตรวจสอบสิทธิ์ผู้ใช้ได้ง่าย กฎความปลอดภัยของ Firebase สำหรับ Cloud Storage ช่วยให้คุณอนุญาตผู้ใช้และตรวจสอบความถูกต้องของคำขอได้อย่างง่ายดาย กฎการรักษาความปลอดภัยของ Cloud Storage จะจัดการความซับซ้อนให้คุณโดยอนุญาตให้คุณระบุสิทธิ์ตามพาธ ด้วยโค้ดเพียงไม่กี่บรรทัด คุณสามารถเขียนกฎการให้สิทธิ์ที่จำกัดคำขอ Cloud Storage สำหรับผู้ใช้บางรายหรือจำกัดขนาดของการอัปโหลด
Firebase Realtime Database มีคุณลักษณะที่คล้ายกัน ซึ่งเรียกว่า กฎความปลอดภัยของฐานข้อมูลเรียลไทม์ของ Firebase
การรับรองความถูกต้อง
การรู้ว่าผู้ใช้ของคุณคือใครเป็นส่วนสำคัญในการสร้างแอปพลิเคชัน และ Firebase Authentication มอบโซลูชันการตรวจสอบสิทธิ์ฝั่งไคลเอ็นต์ที่ใช้งานง่าย ปลอดภัย กฎความปลอดภัยของ Firebase สำหรับที่เก็บข้อมูลบนคลาวด์เชื่อมโยงกับการรับรองความถูกต้องของ Firebase สำหรับการรักษาความปลอดภัยตามผู้ใช้ เมื่อผู้ใช้ได้รับการรับรองความถูกต้องด้วย Firebase Authentication ตัวแปร request.auth
ใน Cloud Storage Security Rules จะกลายเป็นออบเจกต์ที่มี ID เฉพาะของผู้ใช้ ( request.auth.uid
) และข้อมูลผู้ใช้อื่นๆ ทั้งหมดในโทเค็น ( request.auth.token
) . เมื่อผู้ใช้ไม่ได้รับการรับรองความถูกต้อง request.auth
จะเป็น null
ซึ่งช่วยให้คุณควบคุมการเข้าถึงข้อมูลได้อย่างปลอดภัยสำหรับผู้ใช้แต่ละราย คุณสามารถเรียนรู้เพิ่มเติมได้ในส่วน การรับรองความถูกต้อง
การอนุญาต
การระบุผู้ใช้ของคุณเป็นเพียงส่วนหนึ่งของความปลอดภัย เมื่อคุณรู้ว่าพวกเขาเป็นใคร คุณต้องมีวิธีควบคุมการเข้าถึงไฟล์ใน Cloud Storage
Cloud Storage ให้คุณระบุกฎการให้สิทธิ์ต่อไฟล์และต่อเส้นทางที่อยู่บนเซิร์ฟเวอร์ของเรา และกำหนดการเข้าถึงไฟล์ในแอปของคุณ ตัวอย่างเช่น กฎการรักษาความปลอดภัยของพื้นที่เก็บข้อมูลบนคลาวด์เริ่มต้นจำเป็นต้องมีการตรวจสอบสิทธิ์ Firebase เพื่อดำเนินการ read
หรือ write
ไฟล์ทั้งหมด:
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
คุณสามารถแก้ไขกฎเหล่านี้ได้โดยเลือกแอป Firebase ใน คอนโซล Firebase และดูแท็บ Rules
ของส่วนพื้นที่เก็บข้อมูล
การตรวจสอบข้อมูล
นอกจากนี้ยังสามารถใช้กฎความปลอดภัยของ Firebase สำหรับ 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 ของคุณ
เรียนรู้เพิ่มเติมเกี่ยวกับ การรักษาความปลอดภัยข้อมูลของคุณ โดยใช้กฎความปลอดภัย