Menggunakan region SMS untuk melindungi aplikasi Anda dari penyalahgunaan SMS

Panduan ini menunjukkan cara menggunakan region 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 berbahaya 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 berikut:

  • Antarmuka Firebase console untuk menyiapkan kebijakan wilayah SMS.
  • API untuk menyiapkan kebijakan wilayah SMS.
  • Metrik yang dapat menginformasikan 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 region 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 mulai menerapkan kebijakan. Kebijakan ini memblokir permintaan otorisasi telepon dari wilayah yang tidak diizinkan oleh kebijakan berdasarkan kode wilayah nomor telepon.

Kebijakan khusus daftar yang diizinkan

Untuk menyiapkan kebijakan khusus 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 region.

  2. Hanya tambahkan wilayah yang ingin Anda kirimi 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 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.
  • PROJECT_ID: project ID Anda.

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

Kebijakan khusus daftar tolak

Untuk menyiapkan kebijakan khusus daftar tolak, 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 region.

  2. Tambahkan wilayah yang ingin Anda blokir untuk mengirim pesan SMS. Region yang tidak ada dalam daftar akan diizinkan.

  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 untuk menyertakan kebijakan baru menggunakan Identity Toolkit API:

    curl -X PATCH -d "{'sms_region_config':{'denylist_only':{'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 update mask untuk mencegah kolom lain berubah.

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.