Pedoman keamanan umum untuk lingkungan alur kerja pengembangan yang berbeda
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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 pihak berniat jahat 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 Firebase Security Rules di lingkungan praproduksi, seperti yang Anda lakukan di lingkungan produksi. Secara umum, Rules 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 Firebase Security Rules yang andal. Realtime Database, Cloud Firestore, dan
Cloud Storage semuanya mengandalkan Rules yang dikonfigurasi developer untuk
menerapkan siapa yang boleh dan tidak boleh mengakses data. Anda harus menulis Rules 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
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-04 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-04 UTC."],[],[],null,["This page describes the most important best practices for security across\nenvironments, but review the\n[*Security checklist*](/support/guides/security-checklist) for more detailed and\nthorough guidance about security and Firebase.\n\nSecurity for pre-production environments\n\nOne benefit of separating environments in different Firebase projects is that a\nmalicious actor who is able to access your pre-prod environments won't be able\naccess real user data. Here are the most important security precautions to take\nfor pre-production environments:\n\n- Limit access to pre-prod environments. For mobile apps, use\n [App Distribution](/docs/app-distribution) (or something similar) to distribute\n an app to a specific set of people. Web applications are harder to restrict;\n consider setting up a\n [blocking function](https://cloud.google.com/identity-platform/docs/blocking-functions)\n for the pre-prod environments that restricts access to users with email\n addresses that are specific to your domain. Or, if you're using\n Firebase Hosting, set up your pre-prod workflows to use\n [temporary preview URLs](/docs/hosting/test-preview-deploy).\n\n- When an environment doesn't need to be persisted and is only being used by one\n person (or in the case of tests, by one machine) use the\n [Firebase Local Emulator Suite](/docs/emulator-suite). These emulators are safer\n and faster because they can work entirely on localhost instead of using cloud\n resources.\n\n- Make sure that you have [Firebase Security Rules](/docs/rules) set up in pre-production\n environments, just as you do in prod. In general, the Rules should\n be the same across environments, with the caveat that since rules change with\n code, there may be rules earlier in the pipeline that don't yet exist in\n production.\n\nSecurity for production environments\n\nProduction data is always a target, even if the app is obscure. Following these\nguidelines doesn't make it impossible for a malicious actor to get your data,\nbut it makes it more difficult:\n\n- Enable and enforce [App Check](/docs/app-check) for all the products\n you're using that support it. App Check makes sure that requests to your\n backend services are coming from your genuine apps. In order to use it, you\n need to register each version of your app with App Check. It's easier to\n set up before you have users, so set it up as soon as possible.\n\n- Write robust [Firebase Security Rules](/docs/rules). Realtime Database, Cloud Firestore, and\n Cloud Storage all rely on developer-configured Rules to\n enforce who should and shouldn't be able to access data. It's essential to\n your security that you write good Rules. If you're not sure how,\n start with this [codelab](/codelabs/firebase-rules).\n\n- Review the [*Security checklist*](/support/guides/security-checklist) for more\n recommendations about security for production environments.\n\nNext steps\n\n- Review the [Firebase launch checklist](/support/guides/launch-checklist)."]]