หน้านี้อธิบายแนวทางปฏิบัติแนะนำที่สำคัญที่สุดด้านความปลอดภัยในสภาพแวดล้อมต่างๆ แต่โปรดอ่านรายการตรวจสอบความปลอดภัยเพื่อดูคำแนะนำด้านความปลอดภัยและ 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ที่ดีเป็นสิ่งสำคัญต่อความปลอดภัยของคุณ หากไม่แน่ใจว่าต้องทำอย่างไร ให้เริ่มจากโค้ดแล็บนี้
ดูคำแนะนำเพิ่มเติมเกี่ยวกับความปลอดภัยสำหรับสภาพแวดล้อมการทำงานแบบการผลิตได้ในรายการตรวจสอบความปลอดภัย