Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

ฐานข้อมูลเรียลไทม์ Firebase มีคุณสมบัติที่คล้ายกันเรียกว่า Firebase เรียลไทม์กฎฐานข้อมูล

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

การรู้ว่าผู้ใช้ของคุณเป็นใครเป็นส่วนสำคัญในการสร้างแอปพลิเคชัน และการตรวจสอบสิทธิ์ของ Firebase มอบโซลูชันการตรวจสอบสิทธิ์ฝั่งไคลเอ็นต์ที่ใช้งานง่าย ปลอดภัยเท่านั้น กฎความปลอดภัยของ Firebase สำหรับ Cloud Storage เชื่อมโยงกับ Firebase Authentication เพื่อความปลอดภัยตามผู้ใช้ เมื่อผู้ใช้รับรองความถูกต้องกับ Firebase รับรองความถูกต้องที่ request.auth ตัวแปรในการจัดเก็บเมฆกฎการรักษาความปลอดภัยกลายเป็นวัตถุที่มี 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 กฎความปลอดภัยสำหรับการจัดเก็บเมฆยังสามารถใช้สำหรับการตรวจสอบข้อมูลรวมทั้งการตรวจสอบชื่อไฟล์และเส้นทางเช่นเดียวกับคุณสมบัติของไฟล์ข้อมูลเมตาเช่น 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/.*');
    }
  }
}

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