Mengelola resource fungsi menggunakan batasan kustom

Halaman ini memberikan informasi tambahan untuk menetapkan batasan kustom pada fungsi yang dibuat menggunakan perintah gcloud functions atau Cloud Functions v2 API.

Untuk deskripsi mendetail tentang cara menggunakan batasan kustom, lihat Mengelola batasan kustom untuk project.

Batasan

Batasan berikut berlaku untuk penggunaan kebijakan organisasi kustom untuk fungsi Cloud Functions v2 API:

  • Tidak diterapkan untuk nama instance VM saat Anda menggunakan bulk insert API.
  • Hanya diterapkan pada metode CREATE untuk resource Compute Engine.
  • Hanya tersedia di Cloud Functions v2 API. Fungsi ini tidak dapat diterapkan pada fungsi Cloud Run (generasi ke-1).
  • Hanya melindungi fungsi saat menggunakan Cloud Functions v2 API. Fungsi Cloud Run juga dapat diubah dari Cloud Run API. Untuk perlindungan tambahan, Anda mungkin juga perlu menerapkan batasan kustom di Cloud Run.

Contoh kebijakan organisasi umum

Tabel berikut memberikan sintaksis beberapa kebijakan organisasi kustom yang mungkin berguna bagi Anda:

Deskripsi Sintaksis batasan
Mencegah fungsi dibuat dengan bahasa tertentu
    name: organizations/ORGANIZATION_IDcustomConstraints/custom.cloudFunctionRuntimeBlock
    resource_types: cloudfunctions.googleapis.com/Function
    method_types:
      - CREATE
      - UPDATE
    condition: resource.buildConfig.runtime == "python312"
    action_type: DENY
    display_name: Deny functions using Python 3.12
    description: Functions cannot be created with Python 3.12 as the language runtime
Memerlukan fungsi untuk menggunakan kumpulan pekerja tertentu
    name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionsWorkerPool
    resource_types: cloudfunctions.googleapis.com/Function
    method_types:
      - CREATE
      - UPDATE
    condition: resource.buildConfig.workerPool == "WORKER_POOL"
    action_type: DENY
    display_name: Require worker pool
    description: Functions must use a worker pool 
Ganti WORKER_POOL dengan nama kumpulan pekerja Cloud Build Anda.
Mewajibkan fungsi menyimpan semua image container di repositori image tertentu
    name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionsRepository
    resource_types: cloudfunctions.googleapis.com/Function
    method_types:
      - CREATE
      - UPDATE
    condition: resource.buildConfig.dockerRepository.startsWith("REPO_PATH")
    action_type: DENY
    display_name: Image repository constraint
    description: Functions must push images to a central image repository under REPO_PATH
Ganti REPO_PATH dengan URI URL repositori image tempat Anda ingin semua fungsi menyimpan image container-nya.

Langkah berikutnya