Pedoman keamanan umum untuk lingkungan alur kerja pengembangan yang berbeda

Halaman ini menjelaskan praktik terbaik yang paling penting untuk keamanan di seluruh lingkungan, tetapi tinjau Checklist keamanan untuk mengetahui panduan yang lebih mendetail serta menyeluruh tentang keamanan dan Firebase.

Keamanan untuk lingkungan praproduksi

Salah satu manfaat memisahkan lingkungan dalam project Firebase yang berbeda adalah pelaku berbahaya yang dapat mengakses lingkungan praproduksi Anda tidak akan dapat mengakses data pengguna sebenarnya. Berikut adalah tindakan pencegahan keamanan paling penting yang harus dilakukan untuk lingkungan praproduksi:

  • Membatasi akses ke lingkungan praproduksi. Untuk aplikasi seluler, gunakan App Distribution (atau yang serupa) untuk mendistribusikan aplikasi ke sekelompok orang tertentu. Aplikasi web lebih sulit dibatasi; pertimbangkan penyiapan fungsi pemblokiran untuk lingkungan praproduksi yang membatasi akses bagi pengguna dengan alamat email yang khusus untuk domain Anda. Atau, jika Anda menggunakan Firebase Hosting, siapkan alur kerja praproduksi untuk menggunakan URL pratinjau sementara.

  • Jika lingkungan tidak perlu dipertahankan dan hanya digunakan oleh satu orang (atau untuk pengujian, oleh satu mesin), gunakan Firebase Local Emulator Suite. Emulator ini lebih aman dan lebih cepat karena dapat berfungsi sepenuhnya di localhost daripada menggunakan resource cloud.

  • Pastikan Anda telah menyiapkan Aturan Keamanan Firebase di lingkungan praproduksi, seperti yang Anda lakukan di lingkungan produksi. Secara umum, Aturan harus sama di seluruh lingkungan, dengan peringatan bahwa karena aturan berubah seiring perubahan kode, mungkin ada aturan sebelumnya di pipeline yang belum ada di produksi.

Keamanan untuk lingkungan produksi

Data produksi selalu menjadi target, meskipun aplikasi tidak jelas. Jika Anda mengikuti pedoman ini, pihak yang tidak bertanggung jawab tetap dapat memperoleh data Anda, tetapi hal ini akan mempersulit prosesnya:

  • Aktifkan dan terapkan App Check untuk semua produk pendukung yang Anda gunakan. App Check memastikan bahwa permintaan ke layanan backend Anda berasal dari aplikasi asli. Untuk menggunakannya, Anda harus mendaftarkan setiap versi aplikasi Anda ke App Check. Penyiapan akan lebih mudah dilakukan sebelum Anda memiliki pengguna, jadi siapkan sesegera mungkin.

  • Tulis Aturan Keamanan Firebase yang mendetail. Realtime Database, Cloud Firestore, dan Cloud Storage semuanya mengandalkan Aturan yang dikonfigurasi developer untuk memberlakukan siapa yang boleh dan siapa yang tidak boleh mengakses data. Anda harus menulis Aturan yang baik karena hal ini penting bagi keamanan Anda. Jika Anda tidak yakin caranya, mulailah dengan codelab ini.

  • Tinjau Checklist keamanan untuk mengetahui rekomendasi selengkapnya tentang keamanan untuk lingkungan produksi.

Langkah berikutnya