หน้านี้อธิบายแนวทางปฏิบัติแนะนำที่สำคัญที่สุดด้านความปลอดภัยในสภาพแวดล้อมต่างๆ แต่โปรดอ่านรายการตรวจสอบความปลอดภัยเพื่อดูคำแนะนำโดยละเอียดและครอบคลุมเกี่ยวกับความปลอดภัยและ Firebase
การรักษาความปลอดภัยสำหรับสภาพแวดล้อมก่อนเวอร์ชันที่ใช้งานจริง
ข้อดีอย่างหนึ่งของการแยกสภาพแวดล้อมในโปรเจ็กต์ Firebase ที่แตกต่างกันคือผู้ไม่ประสงค์ดีที่เข้าถึงสภาพแวดล้อมก่อนเวอร์ชันที่ใช้งานจริงของคุณจะไม่สามารถเข้าถึงข้อมูลผู้ใช้จริงได้ ข้อควรระวังด้านความปลอดภัยที่สำคัญที่สุดสำหรับสภาพแวดล้อมก่อนเวอร์ชันที่ใช้งานจริงมีดังนี้
จำกัดการเข้าถึงสภาพแวดล้อมก่อนการนำผลิตภัณฑ์ออกสู่ตลาด สำหรับแอปบนอุปกรณ์เคลื่อนที่ ให้ใช้ App Distribution (หรือข้อความที่คล้ายกัน) เพื่อเผยแพร่ แอปไปยังกลุ่มคนเฉพาะ การจำกัดเว็บแอปพลิเคชันทำได้ยากกว่า ลองตั้งค่าฟังก์ชันการบล็อก สำหรับสภาพแวดล้อมก่อนการนำไปใช้งานจริงที่จำกัดการเข้าถึงผู้ใช้ที่มีอีเมล ซึ่งเฉพาะเจาะจงสำหรับโดเมนของคุณ หรือหากคุณใช้ Firebase Hosting ให้ตั้งค่าเวิร์กโฟลว์ก่อนการผลิตเพื่อใช้ URL ตัวอย่างชั่วคราว
เมื่อไม่จำเป็นต้องเก็บรักษาสภาพแวดล้อมและมีผู้ใช้เพียงคนเดียว (หรือในกรณีของการทดสอบ มีเครื่องเดียว) ให้ใช้ Firebase Local Emulator Suite โปรแกรมจำลองเหล่านี้ปลอดภัยและรวดเร็วกว่าเนื่องจากทำงานบน localhost ได้ทั้งหมดแทนที่จะใช้ทรัพยากรระบบคลาวด์
ตรวจสอบว่าคุณได้ตั้งค่า Firebase Security Rules ในสภาพแวดล้อมก่อนการผลิตเช่นเดียวกับในสภาพแวดล้อมการผลิต โดยทั่วไปแล้ว Security Rules ควรเหมือนกันในทุกสภาพแวดล้อม แต่มีข้อควรระวังคือเนื่องจากกฎมีการเปลี่ยนแปลงตามโค้ด จึงอาจมีกฎก่อนหน้านี้ในไปป์ไลน์ที่ยังไม่มีอยู่ในสภาพแวดล้อมการผลิต
การรักษาความปลอดภัยสำหรับสภาพแวดล้อมของเวอร์ชันที่ใช้งานจริง
ข้อมูลเวอร์ชันที่ใช้งานจริงจะเป็นเป้าหมายเสมอ แม้ว่าแอปจะไม่มีชื่อเสียงก็ตาม การปฏิบัติตาม หลักเกณฑ์เหล่านี้ไม่ได้หมายความว่าผู้ไม่ประสงค์ดีจะเข้าถึงข้อมูลของคุณไม่ได้ แต่จะทำให้เข้าถึงได้ยากขึ้น
เปิดใช้และบังคับใช้ App Check สำหรับผลิตภัณฑ์ทั้งหมด ที่คุณใช้ซึ่งรองรับ App Check ช่วยให้มั่นใจได้ว่าคำขอที่ส่งไปยัง บริการแบ็กเอนด์มาจากแอปจริงของคุณ หากต้องการใช้ คุณต้องลงทะเบียนแอปแต่ละเวอร์ชันกับ App Check การตั้งค่าก่อนที่จะมีผู้ใช้จะง่ายกว่า ดังนั้นให้ตั้งค่าโดยเร็วที่สุด
เขียน Firebase Security Rules ที่มีประสิทธิภาพ Realtime Database, Cloud Firestore และ Cloud Storage ทั้งหมดอาศัย Security Rules ที่นักพัฒนาแอปกำหนดค่าไว้เพื่อ บังคับใช้ว่าใครควรและไม่ควรเข้าถึงข้อมูลได้ การเขียนSecurity Rulesที่ดีเป็นสิ่งสำคัญต่อความปลอดภัยของคุณ หากไม่แน่ใจว่าต้องทำอย่างไร ให้เริ่มจากโค้ดแล็บนี้
ดูคำแนะนำเพิ่มเติมเกี่ยวกับความปลอดภัยสำหรับสภาพแวดล้อมการทำงานแบบการผลิตได้ในรายการตรวจสอบความปลอดภัย