Membatasi penggunaan API

Bergantung pada API, Anda dapat membatasi permintaan secara eksplisit dengan membatasi permintaan per hari, permintaan per menit, atau permintaan per menit per pengguna.

Ini adalah batas penggunaan khusus API. Misalnya, untuk menghindari biaya karena melebihi penggunaan gratis, Anda dapat menetapkan batas permintaan per hari.

Batas ini ditujukan untuk kontrol terperinci atas volume layanan tertentu dan tidak dirancang untuk bertindak sebagai batas pembelanjaan di seluruh project. Jika Anda ingin mencegah biaya yang tidak terduga untuk seluruh project atau akun penagihan, lihat Membuat, mengedit, atau menghapus anggaran dan pemberitahuan anggaran.

Melihat dan mengubah batas jumlah permintaan

Anda dapat menetapkan batas untuk semua permintaan ke API yang dapat ditagih. Sebagian besar API menetapkan batas default, tetapi Anda dapat mengubah batas tersebut hingga maksimum yang ditentukan oleh Google. Beberapa API menetapkan batas rendah hingga Anda mengaktifkan penagihan di project.

Untuk melihat atau mengubah batas API Anda, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Dasbor API & Layanan.

    Buka Dashboard APIs & Services

  2. Dari daftar project, pilih project atau buat project baru.
  3. Klik nama API yang Anda minati.
  4. Klik Kuota. Jika tab Quotas tidak ada di navigasi tab, artinya API yang Anda pilih tidak memiliki kuota yang ditentukan.
  5. Untuk menemukan kuota yang ingin Anda batasi, masukkan properti dan nilai yang sesuai di kolom Filter. Misalnya, untuk menemukan kuota Subnetworks, masukkan Quota:Subnetworks.
  6. Centang kotak di samping kuota yang ingin Anda batasi, lalu klik EDIT KUOTA.
  7. Isi formulir perubahan kuota, termasuk batas baru yang ingin Anda tetapkan.
  8. Klik KIRIM PERMINTAAN.

Beberapa API memungkinkan Anda meminta batas yang lebih tinggi dengan mengirimkan formulir. Beberapa API memungkinkan Anda menentukan kuota yang lebih tinggi hanya jika penagihan diaktifkan di project.

Bagian kuota Premium Plan berkaitan dengan Premium Plan Google Maps, yang tidak lagi ditawarkan. Jangan mengedit bagian tersebut kecuali jika Anda adalah pelanggan paket Premium Google Maps saat ini.

Membatasi permintaan per pengguna

Untuk mencegah pengguna perorangan menghabiskan kuota API Anda, beberapa API menyertakan batas default per pengguna per menit.

Untuk memeriksa apakah API Anda menyertakan batas default per pengguna per menit, cari batas tersebut di kuota API Anda seperti yang dijelaskan dalam petunjuk untuk Melihat dan mengubah batas jumlah permintaan. Jika batas default tersebut ada untuk API itu, Anda dapat mengubah nilai tersebut untuk membatasi kuota yang tersedia bagi setiap pengguna dengan mengikuti langkah-langkah dalam petunjuk ini. Jika API Anda tidak menyertakan batas default ini dalam kuotanya, penambahan atau modifikasinya tidak didukung.

Secara default, sistem menggunakan prinsipal yang diautentikasi untuk mengidentifikasi pengguna secara unik. Prinsipal yang diautentikasi mencakup akun pengguna yang menggunakan token OAuth, akun layanan, atau identitas beban kerja gabungan. Jika tidak ada prinsipal yang diautentikasi, sistem akan menggunakan alamat IP klien. Karena perilaku penggantian ini aktif secara default, kuota per pengguna diterapkan meskipun Anda tidak menentukan ID pengguna.

Penggunaan penggantian alamat IP klien memiliki dua batasan utama:

  • IP publik bersama: Beberapa pengguna di belakang gateway atau proxy Network Address Translation (NAT), seperti kantor sekolah atau endpoint VPN, akan berbagi satu alamat IP publik. Permintaan mereka akan dikumpulkan ke dalam bucket kuota yang sama, yang berpotensi menyebabkan kuota habis sebelum waktunya.
  • Penghindaran berbasis IP: Pengguna dengan akses ke blok besar alamat IPv6 atau proxy VPN dapat mengganti alamat IP klien untuk melewati pembatasan kapasitas, sehingga penggantian IP tidak dapat diandalkan untuk perlindungan yang kuat terhadap penyalahgunaan.

Jika Anda memanggil API dari aplikasi sisi server, tempat kode panggilan dihosting di server yang Anda miliki, atas nama beberapa pengguna, dan Anda menggunakan satu prinsipal yang diautentikasi, semua panggilan akan diatribusikan ke satu prinsipal tersebut. Dalam hal ini, panggilan dari pengguna perorangan tidak dapat dibatasi secara terpisah. Untuk mencegah hal ini, Anda dapat mengganti identifikasi pengguna default dan penggunaan kuota partisi dengan menentukan parameter quotaUser atau header X-Goog-Quota-User dalam permintaan Anda. Parameter ini ditentukan dalam dokumentasi Parameter sistem.

Untuk mengganti identifikasi pengguna default dengan parameter quotaUser atau header X-Goog-Quota-User, Anda harus mengidentifikasi project kuota menggunakan kunci API yang valid dengan pembatasan layanan, seperti pembatasan alamat IP atau pembatasan perujuk HTTP. Jika tidak, parameter atau header akan diabaikan dan sistem akan kembali ke identifikasi pengguna default.

Untuk mengidentifikasi pengguna, gunakan parameter kueri URL quotaUser=userID. Nilai ini hanya untuk penegakan kuota jangka pendek, jadi Anda tidak perlu menggunakan ID pengguna sebenarnya. Anda dapat memilih string arbitrer dengan panjang kurang dari 40 karakter yang secara unik mengidentifikasi pengguna.

Untuk melindungi privasi pengguna dan membatasi volume metrik, Google Cloud konsol dan Cloud Monitoring tidak menyimpan atau menampilkan telemetri yang diuraikan olehquotaUser atau alamat IP tertentu. Anda dapat melihat batas kuota project secara keseluruhan dan total penggunaan, tetapi Anda tidak dapat memantau, mengganti, atau mengonfigurasi pemberitahuan untuk setiap pengguna tertentu.

Jika API Anda tidak menyertakan batas default per pengguna per menit, nilai quotaUser akan diabaikan.

Melihat dan mengedit semua kuota untuk API dalam project

Anda dapat meninjau, mengedit, dan meminta batas kuota yang lebih tinggi untuk semua API yang dapat ditagih dalam project tertentu dengan melihat halaman Quotas di bagian IAM & Admin di konsolGoogle Cloud .

Untuk melihat dan mengedit kuota semua API yang dapat ditagih di project Anda, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Quotas.

    Buka Kuota

  2. Dari daftar project, pilih project atau buat project baru. Halaman Kuota untuk project yang dipilih akan ditampilkan, yang mencantumkan satu item baris untuk setiap jenis kuota yang tersedia di setiap layanan.
  3. Klik Filter tabel untuk mengkueri kuota Anda berdasarkan properti tertentu.
  4. Centang kotak di samping kuota yang ingin Anda edit. Penagihan harus diaktifkan pada project agar beberapa kotak centang dapat diklik.
  5. Klik EDIT KUOTA.
  6. Di panel Perubahan kuota yang ditampilkan, luaskan tampilan layanan, lalu edit kuota di layanan tersebut sesuai kebutuhan, lalu klik SELESAI.
  7. Ulangi untuk mengedit kuota di setiap layanan yang dipilih.
    • Batas kuota saat ini sudah terisi otomatis di kotak input.
    • Layanan dengan ikon pemberitahuan () saat pengiriman memiliki error input.
    • Anda dapat menambahkan kuota lainnya untuk diedit dengan memilihnya seperti yang dijelaskan sebelumnya.
    • Anda dapat menghapus layanan dari panel Perubahan kuota dengan mengarahkan kursor ke tampilan layanan yang tidak diperluas, lalu mengklik ikon hapus ().
  8. Setelah selesai mengedit kuota, klik BERIKUTNYA.
  9. Jika permintaan pengeditan kuota Anda memerlukan peninjauan, formulir Detail kontak akan ditampilkan. Lengkapi formulir dengan detail kontak Anda.
  10. Klik KIRIM PERMINTAAN.