Halaman ini menjelaskan cara menetapkan project kuota untuk API berbasis klien. Untuk mengetahui informasi tentang project kuota, cara menetapkan API kuota, dan cara menentukan project kuota, lihat Tentang project kuota.
Saat Anda membuat permintaan ke API berbasis klien, jika project kuota tidak dapat diidentifikasi, permintaan tersebut akan gagal.
Project kuota dapat ditetapkan dengan beberapa cara, dan project akan diverifikasi dengan memeriksa opsi berikut. Urutan yang tercantum adalah urutan prioritasnya.
- Project kuota yang ditetapkan di lingkungan atau di permintaan.
- Jika Anda menggunakan kunci API untuk memberikan kredensial bagi permintaan, project yang terkait dengan kunci API akan digunakan sebagai project kuota.
- Jika Anda menggunakan Google Cloud CLI untuk mendapatkan token akses, dan telah melakukan autentikasi ke gcloud CLI dengan kredensial pengguna, project bersama gcloud CLI terkadang digunakan sebagai project kuota. Tidak semua API berbasis klien kembali ke proyek bersama.
- Jika akun utama untuk panggilan API adalah akun layanan, termasuk dengan peniruan identitas, project yang terkait dengan akun layanan tersebut akan digunakan sebagai project kuota.
- Jika akun utama untuk API adalah pengguna federasi identitas tenaga kerja, project pengguna kumpulan tenaga kerja akan digunakan sebagai project kuota.
Jika tidak ada satu pun pemeriksaan sebelumnya yang menghasilkan project kuota, permintaan akan gagal.
Ada beberapa cara untuk menetapkan project kuota. Jika project kuota ditentukan oleh lebih dari satu metode, prioritas berikut akan diterapkan:
- Secara terprogram
- Variabel lingkungan
- Kredensial yang digunakan untuk autentikasi permintaan
Menetapkan project kuota secara terprogram
Anda dapat secara eksplisit menetapkan project kuota di aplikasi Anda. Metode ini akan mengganti semua definisi lainnya. Akun utama yang digunakan untuk mengautentikasi permintaan harus memiliki izin yang diperlukan pada project kuota yang ditentukan.
Cara Anda menetapkan project kuota secara terprogram bergantung pada apakah Anda menggunakan library klien, gcloud CLI, atau permintaan REST API.
Library klien
Anda dapat menetapkan nilai untuk project kuota menggunakan opsi klien saat membuat klien. Metode ini sangat cocok jika Anda ingin mengontrol nilai project kuota dari aplikasi, terlepas dari lingkungan tempat project tersebut dijalankan.
Untuk informasi selengkapnya tentang mengimplementasikan opsi klien, lihat dokumentasi library klien Anda.
gcloud CLI
Anda dapat menetapkan project kuota untuk semua perintah gcloud CLI dengan menggunakan
properti billing/quota_project
dalam konfigurasi gcloud CLI. Anda juga
dapat menetapkan project kuota untuk perintah tertentu menggunakan flag --billing-project
,
yang lebih diutamakan daripada properti konfigurasi.
Untuk informasi selengkapnya tentang konfigurasi CLI gcloud
, lihat halaman referensi konfigurasi gcloud. Untuk mengetahui informasi selengkapnya tentang flag --billing-project
,
lihat referensi Google Cloud SDK.
Permintaan REST
Anda dapat menentukan project kuota dalam permintaan REST menggunakan
header x-goog-user-project
.
Akun utama yang membuat permintaan harus memiliki izin yang diperlukan pada project
kuota.
Untuk informasi selengkapnya dan kode contoh, lihat Menetapkan project kuota dengan permintaan REST.
Menetapkan project kuota menggunakan variabel lingkungan
Library klien untuk beberapa bahasa mendukung penetapan project kuota menggunakan variabel lingkungan. Pendekatan ini dapat berguna jika Anda ingin menetapkan project kuota secara berbeda dalam masing-masing shell, atau untuk mengganti project kuota yang terkait dengan kredensial tersebut. Akun utama untuk permintaan apa pun harus memiliki izin yang diperlukan pada project kuota yang ditentukan oleh variabel lingkungan.
Variabel lingkungan bergantung pada bahasa:
Bahasa | Variabel lingkungan |
---|---|
C++ |
|
C# |
|
Go |
|
Java |
|
Node.js |
|
Python |
|
PHP |
|
Ruby | Tidak tersedia |
Menetapkan project kuota menggunakan kredensial autentikasi
Jika project kuota tidak ditentukan, library autentikasi akan mencoba menentukannya dari kredensial yang digunakan untuk permintaan tersebut. Proses ini bergantung pada jenis kredensial yang digunakan untuk autentikasi permintaan:
- Akun layanan – Project yang terkait dengan akun layanan digunakan sebagai project kuota.
- Kredensial pengguna – Untuk lingkungan pengembangan lokal,
Kredensial Default Aplikasi
menemukan kredensial pengguna Anda dari file ADC lokal. File tersebut juga dapat menentukan
project kuota. Jika project di konfigurasi Google Cloud CLI Anda telah ditetapkan, dan Anda
memiliki izin yang diperlukan pada project tersebut, project kuota akan ditetapkan secara default saat Anda membuat file ADC lokal. Anda juga dapat menetapkan project kuota ADC menggunakan
perintah
auth application-default set-quota-project
. - Kunci API – Saat Anda menggunakan kunci API untuk memberikan kredensial bagi permintaan, project yang terkait dengan kunci API akan digunakan sebagai project kuota.
Izin yang diperlukan untuk menetapkan dan menggunakan project kuota
Untuk mendapatkan izin yang diperlukan untuk menetapkan project sebagai project kuota, atau menggunakan project kuota tersebut dalam permintaan,
minta administrator untuk memberi Anda
peran IAM Service Usage Consumer (roles/serviceusage.serviceUsageConsumer
) di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditentukan ini berisi izin serviceusage.services.use
, yang diperlukan untuk menetapkan project sebagai project kuota, atau menggunakan project kuota tersebut dalam permintaan.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Jika menggunakan project yang dibuat sebagai project kuota, Anda memiliki izin yang diperlukan.
Untuk informasi selengkapnya tentang izin, lihat Izin kuota.
Menetapkan pengguna kuota
Beberapa API juga membatasi jumlah permintaan per pengguna, yang berbeda dengan kuota per project yang dijelaskan di bagian sebelumnya di halaman ini.
Secara default, sistem menggunakan akun yang diautentikasi. Jika tidak ada prinsipal yang diautentikasi, sistem akan menggunakan alamat IP klien.
Jika perlu mengganti pengguna kuota, Anda dapat menetapkan parameter quotaUser
melalui Parameter sistem Cloud API. Jika Anda
menentukan quotaUser
atau X-Goog-Quota-User
, kunci API yang valid dengan pembatasan alamat IP
harus digunakan untuk mengidentifikasi project kuota. Jika tidak, parameter quotaUser
akan diabaikan.
Untuk mempelajari parameter sistem Cloud API dan definisinya lebih lanjut, lihat tabel definisi parameter sistem.
Langkah selanjutnya
- Tentang project kuota
- Pelajari Kredensial Default Aplikasi lebih lanjut
- Dapatkan informasi selengkapnya tentang autentikasi
- Pelajari kuota