Mengautentikasi 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 selengkapnya, 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, principal yang mendasarinya harus memenuhi persyaratan berikut:

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

Cloud Run Functions mendukung dua jenis identitas berbeda, yang juga disebut principal:

  • 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 entity yang dikontrol Google seperti Google Grup.

Lihat ringkasan IAM untuk mempelajari lebih lanjut konsep dasar IAM.

Untuk memanggil fungsi yang diautentikasi, principal harus memiliki izin IAM pemanggil:

  • run.routes.invoke. Biasanya melalui peran Cloud Run Invoker. Izin ini harus ditetapkan pada resource layanan Cloud Run.

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

Untuk izin membuat, mengupdate, atau melakukan tindakan administratif lainnya pada fungsi, principal harus memiliki peran yang sesuai. Peran mencakup izin yang menentukan tindakan yang diizinkan untuk dilakukan oleh principal. Lihat Menggunakan IAM untuk Mengizinkan Akses untuk mengetahui informasi selengkapnya.

Fungsi yang dipicu peristiwa hanya dapat dipanggil oleh sumber peristiwa jika fungsi tersebut berlangganan dengan sumber tersebut. 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.