Autentikasi untuk pemanggilan

Dokumen ini memberikan informasi tambahan tentang cara memanggil fungsi yang dibuat menggunakan Cloud Functions v2 API—misalnya, menggunakan gcloud functions, REST API, atau Terraform. Untuk mengetahui informasi dan contoh mendetail, lihat panduan Mengautentikasi permintaan Cloud Run. Topik yang dibahas dalam panduan Cloud Run juga berlaku untuk fungsi yang dibuat menggunakan Cloud Functions v2 API, karena fungsi v2 juga menggunakan peran Cloud Run Invoker (roles/run.invoker).

Untuk memanggil fungsi yang diautentikasi, prinsipal yang mendasarinya harus memenuhi persyaratan berikut:

  • Memiliki izin untuk memanggil fungsi.
  • Berikan token ID saat memanggil fungsi.

Fungsi Cloud Run mendukung dua jenis identitas berbeda, yang juga disebut akun utama:

  • Akun layanan: Ini adalah akun khusus yang berfungsi sebagai identitas non-orang, seperti fungsi atau aplikasi atau VM. Mereka memberi Anda cara untuk mengautentikasi non-orang ini.
  • Akun pengguna: Akun ini mewakili orang, baik sebagai pemegang Akun Google perorangan atau sebagai bagian dari entitas yang dikontrol Google seperti Google Grup.

Lihat Ringkasan IAM untuk mempelajari lebih lanjut konsep IAM dasar.

Untuk memanggil fungsi yang diautentikasi, akun utama harus memiliki izin IAM invoker:

  • run.routes.invoke. Hal ini biasanya dilakukan melalui peran Cloud Run Invoker. Izin ini harus ditetapkan di resource layanan Cloud Run.

Untuk memberikan izin ini, ikuti langkah-langkah dalam panduan Mengautentikasi service-to-service Cloud Run.

Untuk mendapatkan izin membuat, memperbarui, atau melakukan tindakan administratif lainnya pada fungsi, akun utama harus memiliki peran yang sesuai. Peran mencakup izin yang menentukan tindakan yang diizinkan untuk dilakukan oleh akun utama. Lihat Menggunakan IAM untuk Memberikan Otorisasi pada Akses untuk mengetahui informasi selengkapnya.

Fungsi yang dipicu peristiwa hanya dapat dipanggil oleh sumber peristiwa yang menjadi langganannya. Namun, fungsi HTTP dapat dipanggil oleh berbagai jenis identitas yang berasal dari berbagai tempat, seperti oleh developer yang menguji fungsi atau oleh layanan lain yang menggunakan fungsi tersebut. Identitas harus memberikan token ID untuk autentikasi. Akun yang digunakan juga harus memiliki izin yang sesuai.