Saat Anda memanggil Gemini API langsung dari aplikasi seluler dan web, melindungi infrastruktur backend, kuota, dan perintah eksklusif Anda memerlukan pendekatan pertahanan yang mendalam dan berlapis-lapis. Tinjau checklist ini untuk menerapkan praktik terbaik keamanan yang direkomendasikan untuk Firebase AI Logic.
Verifikasi aplikasi, perangkat, dan pengguna
Memverifikasi bahwa permintaan masuk berasal dari instance aplikasi Anda yang sah dan tidak dimodifikasi yang berjalan di perangkat asli, serta dari pengguna yang sah.
Terapkan Firebase App Check
Terapkan Firebase App Check untuk membantu melindungi Gemini API dari penyalahgunaan saat dipanggil langsung dari aplikasi Anda. Jika App Check diterapkan, akan memverifikasi bahwa permintaan masuk berasal dari aplikasi asli Anda dan/atau perangkat yang tidak dimodifikasi.
App Check mendukung penyedia pengesahan untuk platform Apple (DeviceCheck, App Attest, atau reCAPTCHA Enterprise), Android (Play Integrity atau reCAPTCHA Enterprise), dan Web (reCAPTCHA Enterprise). juga mendukung semua penyedia ini untuk aplikasi Flutter dan Unity.
Mulai awal Juli 2026, Firebase akan otomatis menerapkan App Check untuk Firebase AI Logic selama penyiapan terpandu di konsol Firebase. Jika Anda menyiapkan Firebase AI Logic sebelumnya, pastikan untuk menerapkan App Check secara eksplisit. Untuk pengembangan lokal, Anda dapat menyiapkan App Check penyedia debug, lalu mendaftarkan aplikasi Anda dengan penyedia pengesahan produksi sebelum merilisnya kepada pengguna akhir.
Mengaktifkan perlindungan replay dengan token penggunaan terbatas
Sebagai bagian dari penyiapan App Check, pertimbangkan untuk menerapkan perlindungan replay sehingga token App Check hanya dapat digunakan satu kali. Opsi ini menawarkan perlindungan yang ditingkatkan di luar perlindungan dasar dan memungkinkan Anda menetapkan tingkat perlindungan yang sesuai untuk aplikasi dan kasus penggunaan Anda.
Menyiapkan pembatasan untuk kunci API Firebase Anda
Kunci API Firebase mengidentifikasi project dan aplikasi Firebase Anda saat membuat permintaan. Untuk mencegah penggunaan kunci API Anda tanpa izin:
Tetapkan "Pembatasan aplikasi" di konsol Google Cloud untuk membatasi penggunaan kunci hanya pada permintaan dari ID paket aplikasi (Apple), nama paket dan sidik jari SHA-1 (Android), atau perujuk HTTP (Web) tertentu.
Tinjau daftar yang diizinkan "pembatasan API" setiap kunci:
- Pastikan
Firebase AI Logic API (
firebasevertexai.googleapis.com) ada dalam daftar yang diizinkan. - Pastikan bahwa satu-satunya API lain dalam daftar yang diizinkan adalah layanan Firebase spesifik yang diperlukan oleh aplikasi Anda. Lihat daftar API yang diperlukan untuk kunci Firebase yang dibatasi.
- Pastikan
Firebase AI Logic API (
Perhatikan bahwa API terkait Firebase hanya menggunakan kunci API untuk mengidentifikasi project atau aplikasi Firebase, bukan untuk otorisasi guna memanggil API.
Membatasi permintaan hanya untuk pengguna terautentikasi
Pertimbangkan untuk menerapkan mode pengguna yang diautentikasi sehingga
semua permintaan melalui Firebase AI Logic harus menyertakan kredensial yang valid dari
Firebase Authentication. Jika permintaan berasal dari pengguna akhir yang tidak diautentikasi, permintaan akan ditolak dengan error 401: unauthenticated.
Perlindungan perintah dan penguatan permintaan
Mencegah dekompilasi klien agar tidak mengekspos desain perintah Anda, dan mengamankan backend Anda sehingga pengguna berbahaya tidak dapat menjalankan perintah arbitrer.
Menggunakan template perintah server
Gunakan template prompt server untuk menyimpan prompt, petunjuk sistem, dan konfigurasi model dengan aman di cloud, bukan meng-hard code-nya dalam kode aplikasi klien yang dapat diekstrak menggunakan dekompilasi biner.
Aplikasi Anda hanya mereferensikan ID template dan meneruskan variabel input dinamis. Template perintah server juga memungkinkan Anda memperbarui perintah atau mengganti model sesuai permintaan tanpa merilis versi baru aplikasi Anda.
Memvalidasi dan membersihkan variabel template yang disediakan klien
Template perintah server melindungi desain perintah Anda, tetapi template yang menerima variabel dinamis masih rentan terhadap serangan injeksi perintah. Karena template menggabungkan variabel input pengguna ke dalam perintah akhir, pastikan untuk melakukan hal berikut:
- Validasi dan bersihkan semua input pengguna di klien sebelum meneruskan variabel ke template (seperti menerapkan batas karakter dan format yang diharapkan).
- Sertakan petunjuk sistem yang jelas dalam template Anda yang menentukan batasan untuk cara pemrosesan input pengguna.
Menerapkan mode hanya template
Pertimbangkan untuk menerapkan
mode hanya template
setelah semua fitur aplikasi Anda menggunakan template perintah server. Jika diterapkan,
Firebase AI Logic memblokir semua permintaan langsung yang tidak menggunakan template ke
Gemini API (403: unauthorized), sehingga mencegah pelaku berbahaya mengirimkan
perintah arbitrer atau menyalahgunakan kuota Anda.
Pemantauan, batas, dan penagihan
Dapatkan visibilitas ke traffic masuk dan anomali keamanan, serta lindungi project Anda dari lonjakan penggunaan yang tidak terduga atau biaya yang tidak terkendali.
Menyiapkan pemantauan AI di konsol Firebase
Siapkan
pemantauan AI di konsol Firebase
untuk mendapatkan visibilitas ke dalam metrik utama, seperti jumlah permintaan, latensi, penggunaan token,
dan tingkat error (termasuk kegagalan autentikasi 401 dan pemblokiran hanya template 403).
Anda juga dapat memeriksa setiap rekaman aktivitas di konsol Google Cloud.
Menetapkan batas kapasitas dan mengelola kuota
Melindungi project Anda dari lonjakan penggunaan yang tidak terduga dan serangan penolakan dompet:
- Tetapkan batas frekuensi per pengguna (defaultnya adalah 100 RPM) untuk mencegah setiap instance klien menggunakan kuota secara berlebihan.
- Tinjau dan kelola kuota project di konsol Google Cloud untuk setiap API pokok.
Hindari tagihan tak terduga dengan pemberitahuan dan batas pembelanjaan
Jika project Firebase Anda menggunakan paket harga Blaze bayar sesuai penggunaan:
Langkah berikutnya
- Tinjau checklist keamanan Firebase umum.
- Tinjau Checklist produksi umum untuk Firebase AI Logic.
- Pelajari lebih lanjut harga dan pengelolaan biaya untuk Firebase AI Logic.