Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

ทำความเข้าใจกฎความปลอดภัยของ Firebase สำหรับ Cloud Storage

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

คล้ายกับวิธีที่การตรวจสอบสิทธิ์ของ Firebase ช่วยให้คุณตรวจสอบสิทธิ์ผู้ใช้ได้ง่าย กฎความปลอดภัยของ Firebase สำหรับ Cloud Storage ช่วยให้คุณอนุญาตผู้ใช้และตรวจสอบคำขอได้ง่าย กฎความปลอดภัยของ Cloud Storage จัดการความซับซ้อนให้กับคุณโดยอนุญาตให้คุณระบุสิทธิ์ตามเส้นทาง ในโค้ดเพียงไม่กี่บรรทัด คุณสามารถเขียนกฎการให้สิทธิ์ที่จำกัดคำขอ Cloud Storage ให้กับผู้ใช้บางรายหรือจำกัดขนาดของการอัปโหลด

ฐานข้อมูลเรียลไทม์ของ Firebase มีคุณลักษณะที่คล้ายกันซึ่งเรียกว่า กฎฐานข้อมูลเรียลไทม์ของ Firebase

การตรวจสอบสิทธิ์

การรู้ว่าผู้ใช้ของคุณเป็นใครเป็นส่วนสำคัญในการสร้างแอปพลิเคชัน และการตรวจสอบสิทธิ์ของ Firebase มอบโซลูชันการตรวจสอบสิทธิ์ฝั่งไคลเอ็นต์ที่ใช้งานง่าย ปลอดภัยเท่านั้น กฎความปลอดภัยของ Firebase สำหรับ Cloud Storage เชื่อมโยงกับ Firebase Authentication เพื่อความปลอดภัยตามผู้ใช้ เมื่อผู้ใช้ได้รับการตรวจสอบสิทธิ์ด้วย Firebase Authentication ตัวแปร request.auth ใน Cloud Storage Security Rules จะกลายเป็นวัตถุที่มี ID เฉพาะของผู้ใช้ ( request.auth.uid ) และข้อมูลผู้ใช้อื่นๆ ทั้งหมดในโทเค็น ( request.auth.token ) . เมื่อผู้ใช้ไม่ได้รับการพิสูจน์ตัวตน request.auth จะเป็น null วิธีนี้ช่วยให้คุณควบคุมการเข้าถึงข้อมูลได้อย่างปลอดภัยตามแต่ละผู้ใช้ คุณสามารถเรียนรู้เพิ่มเติมได้ในส่วนการ รับรองความถูกต้อง

การอนุญาต

การระบุผู้ใช้ของคุณเป็นเพียงส่วนหนึ่งของความปลอดภัย เมื่อคุณรู้ว่าพวกเขาเป็นใคร คุณต้องมีวิธีควบคุมการเข้าถึงไฟล์ใน Cloud Storage

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/.*');
    }
  }
}

ขั้นตอนถัดไป