Keamanan lingkungan eksekusi

Setiap fungsi berjalan di atas image runtime berversi dalam lingkungan eksekusi Cloud Functions yang aman. Image runtime berisi library sistem operasi, runtime bahasa, dan paket sistem lainnya. Google menyimpan semua image runtime Cloud Functions, dengan merilis patch keamanan dan update pemeliharaan setelah periode pengujian stabilitas.

Image runtime

Setiap runtime memiliki image runtime terkait (juga dikenal sebagai image run) di repositori publik pada gcr.io. Untuk mengetahui daftar ID runtime dan image runtime-nya, lihat runtime.

Mengidentifikasi image runtime Anda

Anda dapat mengidentifikasi image runtime yang digunakan untuk membuat fungsi dengan memeriksa log build untuk fungsi Anda.

Dalam log build, telusuri google.run-image. Hal ini memberi Anda entri log dari langkah build yang menjelaskan versi image runtime yang digunakan untuk membangun fungsi. Misalnya, entri log untuk fungsi Nodejs mungkin terlihat seperti ini:

{
  ...
  "textPayload": "Step #2 - \"build\": Adding image label google.run-image:
    us.gcr.io/gae-runtimes/buildpacks/nodejs20/run:nodejs20_20230924_20_6_1_RC00",
  ...
}

Kebijakan update keamanan

Cloud Functions menawarkan dua kebijakan update keamanan:

  • Update otomatis: Update dan patch keamanan pada lingkungan runtime dipublikasikan dalam image runtime versi baru. Setelah periode pengujian stabilitas dan keandalan, runtime yang diperbarui akan diluncurkan ke semua fungsi sehingga tidak ada pembaruan periode nonaktif. Update keamanan otomatis hanya tersedia dengan Cloud Functions (generasi ke-1).

  • Update saat deployment: Update dan patch keamanan diterapkan ke runtime hanya ketika fungsi di-deploy atau di-deploy ulang, kecuali jika dinyatakan lain. Update deployment tersedia di Cloud Functions (generasi ke-1) dan Cloud Functions (generasi ke-2).

Menetapkan kebijakan update fungsi

Jika menggunakan Cloud Functions (generasi ke-1), Anda dapat mengubah kebijakan update fungsi dengan menyertakan flag --runtime-update-policy dalam perintah gcloud deploy seperti yang ditunjukkan di sini:

  gcloud functions deploy FUNCTION_NAME \
    --runtime-update-policy=POLICY ...

Ganti:

  • FUNCTION_NAME dengan nama fungsi Anda
  • POLICY dengan automatic atau on-deploy

Memeriksa kebijakan update fungsi Anda

Anda dapat memeriksa kebijakan update fungsi dengan perintah berikut:

  gcloud functions describe FUNCTION_NAME \

Dengan FUNCTION_NAME adalah nama fungsi Anda

  • Fungsi dengan update keamanan otomatis yang aktif akan memiliki kunci automaticUpdatePolicy
  • Fungsi yang diupdate pada deployment akan memiliki kunci onDeployUpdatePolicy

Mengidentifikasi image runtime yang digunakan setelah update otomatis

Saat Anda mengaktifkan update otomatis, Cloud Functions menukar image runtime fungsi Anda dengan revisi baru yang berisi patch dan update keamanan tambahan. Perubahan ini muncul di log runtime fungsi Anda.

Di dalam log runtime, label runtime_version memberi tahu Anda saat image runtime baru digunakan di fungsi Anda. Entri log untuk fungsi Nodejs yang telah diupdate secara otomatis mungkin terlihat seperti ini:

{
  ...
  "labels:" {
    runtime_version: nodejs20_20230924_20_6_1_RC00
    execution_id: ...
  }
  ...
}