เดิมที ความปลอดภัยเป็นเรื่องที่ซับซ้อนที่สุดเรื่องหนึ่งของแอป ที่กำลังพัฒนา ในแอปพลิเคชันส่วนใหญ่ นักพัฒนาซอฟต์แวร์จะต้องสร้างและเรียกใช้เซิร์ฟเวอร์ที่ จัดการการตรวจสอบสิทธิ์ (ผู้ใช้คือใคร) และการให้สิทธิ์ (สิ่งที่ผู้ใช้ทําได้) การตรวจสอบสิทธิ์และการให้สิทธิ์นั้นตั้งค่าได้ยาก ทำให้ถูกต้องได้ยากขึ้น สำคัญต่อความสำเร็จของผลิตภัณฑ์ของคุณ
ซึ่งคล้ายกับวิธีที่ 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 /{allPaths=**} { allow read, write: if request.auth != null; } } }
คุณแก้ไขกฎเหล่านี้ได้โดยเลือกแอป Firebase ในคอนโซล Firebase
และดูแท็บ Rules
ของส่วนพื้นที่เก็บข้อมูล
การตรวจสอบข้อมูล
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 รายการ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัยของข้อมูล โดยใช้กฎความปลอดภัย