Membatasi deployment baru menurut versi produk

Fungsi Cloud Run menawarkan dua versi produk: fungsi Cloud Run (generasi ke-1) dan fungsi Cloud Run yang dibuat melaluiGoogle 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 pembuatan (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 menyetel kebijakan tidak berlaku untuk fungsi yang 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 adalah jumlah organisasi tempat Anda ingin menerapkan kebijakan, dan VERSION adalah versi fungsi Cloud Run yang harus digunakan untuk deployment baru. Dapat berupa salah satu dari berikut ini: VERSION

  • 1stGen: Hanya mengizinkan penggunaan fungsi Cloud Run (generasi ke-1).
  • 2ndGen: Hanya mengizinkan penggunaan fungsi Cloud Run (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.