Membatasi deployment baru menurut versi produk

Cloud Run Functions menawarkan dua versi produk: Cloud Run Functions (generasi ke-1) dan Cloud Run Functions yang dibuat melalui Google Cloud Functions v2 API. Jika organisasi Anda ingin menerapkan pembatasan yang menentukan bahwa hanya satu versi yang dapat digunakan untuk men-deploy fungsi baru, Anda dapat menentukan kebijakan organisasi baru dengan batasan constraints/cloudfunctions.restrictAllowedGenerations. Gunakan batasan ini untuk menentukan generasi (versi) yang ingin Anda izinkan atau tolak di folder atau project tempat kebijakan diterapkan.

Batasan ini hanya akan berlaku untuk fungsi baru yang di-deploy untuk pertama kalinya. Anda tetap dapat men-deploy ulang fungsi yang ada meskipun fungsi tersebut tidak mematuhi kebijakan.

Sebelum memulai

Untuk membuat atau mengubah kebijakan organisasi, akun Anda harus memiliki peran roles/orgpolicy.policyAdmin.

Menggunakan kebijakan untuk menetapkan dan menerapkan batasan

Anda dapat menggunakan Google Cloud CLI untuk membuat kebijakan yang membatasi fungsi Cloud Run baru agar tidak di-deploy untuk pertama kalinya dalam organisasi tertentu ke lingkungan yang ditentukan.

Perhatikan bahwa penetapan kebijakan tidak berlaku untuk fungsi yang sudah ada. Semua fungsi yang di-deploy sebelum kebijakan dapat di-deploy ulang, diupdate, atau dihapus tanpa batasan.

Untuk membuat kebijakan yang membatasi fungsi Cloud Run baru, jalankan perintah berikut:

gcloud resource-manager org-policies \
  allow cloudfunctions.restrictAllowedGenerations \
  --organization=ORGANIZATION_NUMBER VERSION

dengan ORGANIZATION_NUMBER sebagai jumlah organisasi tempat Anda ingin menerapkan kebijakan, dan VERSION sebagai versi Cloud Run Functions yang harus digunakan untuk deployment baru. VERSION dapat berupa salah satu dari berikut ini:

  • 1stGen: Hanya mengizinkan penggunaan Cloud Run Functions (generasi ke-1).
  • 2ndGen: Hanya mengizinkan penggunaan Cloud Run Functions (generasi ke-2).
  • Untuk mengizinkan kedua lingkungan secara eksplisit, tentukan 1stGen dan 2ndGen bersama-sama. Secara default, kedua lingkungan diizinkan jika tidak ada kebijakan yang ditetapkan.