Menggunakan region SMS untuk melindungi aplikasi Anda dari penyalahgunaan SMS

Panduan ini menunjukkan cara menggunakan wilayah SMS untuk membatasi penggunaan verifikasi SMS Identity Platform dan melihat metrik penggunaan.

Ringkasan region SMS

Region SMS adalah fitur Identity Platform yang dapat Anda gunakan untuk melindungi aplikasi Anda dari penyalahgunaan SMS.

Penyalahgunaan SMS biasanya terjadi saat pelaku kejahatan menyebabkan layanan mengirim SMS melalui operator yang memiliki perjanjian pembagian keuntungan dengan mereka. Penyalahgunaan SMS dapat menyebabkan biaya yang lebih tinggi dan merusak reputasi produk Anda di mata pelanggan.

Karena Identity Platform mengizinkan otorisasi telepon SMS, penyalahgunaan SMS dapat terjadi.

Fitur wilayah SMS memungkinkan Anda menetapkan wilayah yang dapat menerima otorisasi telepon SMS.

Fitur ini menyediakan hal-hal berikut:

  • Antarmuka Firebase console untuk Anda menyiapkan kebijakan wilayah SMS.
  • API untuk Anda menyiapkan kebijakan wilayah SMS.
  • Metrik yang dapat memengaruhi keputusan Anda untuk menggunakan kebijakan wilayah SMS.

Menetapkan kebijakan region

Bagian ini menjelaskan kebijakan region Identity Platform. Anda dapat menyiapkan jenis kebijakan berikut, dan hanya satu yang dapat aktif:

  • Khusus daftar yang diizinkan: hanya wilayah yang Anda tentukan dalam daftar yang diizinkan yang dapat menerima permintaan otorisasi telepon.
  • Khusus daftar yang ditolak: semua wilayah dapat menerima permintaan otorisasi telepon, kecuali wilayah yang Anda tentukan dalam daftar yang ditolak.

Setelah Anda mengubah konfigurasi, sistem akan segera menerapkan kebijakan. Kebijakan ini memblokir permintaan otorisasi telepon dari wilayah yang tidak diizinkan oleh kebijakan berdasarkan kode wilayah nomor telepon.

Kebijakan khusus daftar yang diberi akses

Untuk menyiapkan kebijakan hanya daftar yang diizinkan, ikuti langkah-langkah berikut:

Firebase console

  1. Di Firebase console, buka halaman Firebase Auth Settings.

    Buka setelan Firebase Auth

    1. Pilih Kebijakan wilayah SMS di panel navigasi.

    2. Pilih Izinkan.

    3. Klik Pilih wilayah.

  2. Tambahkan hanya wilayah tempat Anda berencana mengirim pesan SMS. Wilayah yang tidak ada dalam daftar akan diblokir.

  3. Klik Simpan.

    Anda dapat mengonfigurasi daftar yang diizinkan atau daftar yang ditolak, tetapi tidak keduanya. Tindakan ini akan menimpa konfigurasi sebelumnya.

Identity Toolkit API

  1. Di konsol Google Cloud , untuk mencetak token akses project Anda, jalankan perintah berikut:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Perbarui konfigurasi project Anda untuk menyertakan kebijakan baru menggunakan Identity Toolkit API:

    curl -X PATCH -d "{'sms_region_config':{'allowlist_only':{'allowed_regions':['REGION_LIST']}}}" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
    

Ganti kode berikut:

  • ACCESS_TOKEN: token akses yang Anda buat sebelumnya.
  • REGION_LIST: satu atau beberapa region, misalnya, IN atau US. Untuk membatasi penyalahgunaan, sebaiknya izinkan hanya wilayah tempat Anda berencana mengirim pesan SMS.
  • PROJECT_ID: Project ID Anda.

Anda harus memberikan mask update untuk mencegah perubahan pada kolom lain.

Kebijakan khusus daftar tolak

Untuk menyiapkan kebijakan khusus daftar yang ditolak, ikuti langkah-langkah berikut:

Firebase Console

  1. Di Firebase console, buka halaman Firebase Auth Settings, lalu pilih SMS region policy di panel navigasi.

    Buka setelan Firebase Auth

    1. Pilih Tolak.

    2. Klik Pilih wilayah.

  2. Tambahkan wilayah yang ingin Anda blokir pengiriman pesan SMS-nya. Region yang tidak ada dalam daftar akan diizinkan. Untuk perlindungan yang lebih kuat terhadap penyalahgunaan, sebaiknya gunakan kebijakan khusus daftar yang diizinkan dan nonaktifkan semua wilayah tempat Anda tidak berencana mengirim pesan SMS.

  3. Klik Simpan.

    Anda dapat mengonfigurasi daftar yang diizinkan atau daftar yang ditolak, tetapi tidak keduanya. Tindakan ini akan menimpa konfigurasi sebelumnya.

Identity Toolkit API

  1. Di konsol Google Cloud , untuk mencetak token akses project Anda, jalankan perintah berikut:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Perbarui konfigurasi project Anda untuk menyertakan kebijakan baru menggunakan Identity Toolkit API:

    curl -X PATCH -d "{'sms_region_config':{'allow_by_default':{'disallowed_regions':['REGION_LIST']}}}" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
    

Ganti kode berikut:

  • ACCESS_TOKEN: token akses yang Anda buat sebelumnya.
  • REGION_LIST: satu atau beberapa region, misalnya, IN atau US.
  • PROJECT_ID: Project ID Anda.

Anda harus memberikan mask update untuk mencegah kolom lain diubah.

Mengakses metrik penggunaan SMS regional

Bagian ini menjelaskan cara melihat metrik penggunaan SMS.

Untuk melihat metrik, lakukan tindakan berikut:

  1. Di konsol Google Cloud , buka halaman Metrics explorer di Cloud Monitoring:

    Buka Cloud Monitoring.

  2. Pilih kolom berikut:

    • identitytoolkit.googleapis.com/usage/sent_sms_count,
    • identitytoolkit.googleapis.com/usage/blocked_sms_count, dan
    • firebaseauth.googleapis.com/phone_auth/phone_verification_count.

    Perhatikan bahwa metrik memiliki kolom region_code. Anda menggunakan kode ini untuk melihat wilayah yang menerima otorisasi SMS.

  3. Hitung tingkat keberhasilan verifikasi sebagai verification_success_rate = phone_verification_count/sent_sms_count, di wilayah tertentu. Biasanya, rasio keberhasilan verifikasi di atas 75% dianggap dapat diterima.

verification_success_rate yang rendah dapat menunjukkan penyalahgunaan, terutama di wilayah yang tidak Anda harapkan memiliki pengguna. Biasanya, rasio keberhasilan verifikasi di bawah 75% dianggap rendah.

Jika mencurigai penyalahgunaan SMS, Anda dapat menetapkan kebijakan wilayah.