Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

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

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

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

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

การรับรองความถูกต้อง

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

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