Sicurezza dell'ambiente di esecuzione
Questa pagina fornisce informazioni supplementari per le policy di aggiornamento della sicurezza per le funzioni create utilizzando i comandi gcloud functions o l'API Cloud Functions v2.
Per una descrizione dettagliata di come impostare gli aggiornamenti automatici per le immagini di base, inclusi i runtime dei linguaggi, il pacchetto del sistema operativo e il sistema operativo, consulta il documento Cloud Run Configura gli aggiornamenti automatici delle immagini di base.
Immagini di runtime
Ogni runtime ha un'immagine di runtime associata (nota anche come immagine di esecuzione) in un repository pubblico su Artifact Registry. Per un elenco di ID runtime e delle relative immagini di runtime, consulta Runtime.
Identifica l'immagine di runtime
Puoi identificare l'immagine di runtime utilizzata per creare la funzione esaminando i log di build della funzione.
Nei log di build, cerca google.run-image. Viene visualizzata la voce di log del passaggio di build che descrive la versione dell'immagine di runtime utilizzata per creare la funzione. Ad esempio, una voce di log per una funzione Node.js può essere simile a questa:
{
...
"textPayload": "Step #2 - \"build\": Adding image label google.run-image:
us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22:nodejs20_20230924_20_6_1_RC00",
...
}
Policy di aggiornamento della sicurezza
Puoi scegliere una delle seguenti policy di aggiornamento della sicurezza:
Aggiornamenti automatici (valore predefinito): gli aggiornamenti e le patch di sicurezza per l'ambiente di runtime vengono pubblicati in nuove versioni dell'immagine di runtime. Dopo un periodo di test dei livelli di stabilità e affidabilità, il runtime aggiornato viene implementato in tutte le funzioni, garantendo un aggiornamento senza tempi di inattività. Gli aggiornamenti automatici della sicurezza sono disponibili con Cloud Run Functions (1ª gen.) e Cloud Run Functions. Per applicare le correzioni di sicurezza a livello di linguaggio, potrebbe essere necessario ricompilare le funzioni che utilizzano linguaggi compilati come Go o Java.
Aggiornamenti in fase di deployment: gli aggiornamenti e le patch di sicurezza vengono applicati ai runtime solo quando viene eseguito o rieseguito il deployment delle funzioni, se non diversamente indicato. Gli aggiornamenti in fase di deployment sono disponibili sia per Cloud Run Functions (1ª gen.) sia per Cloud Run Functions.
La policy di aggiornamento del runtime può essere modificata utilizzando il flag --runtime-update-policy nel comando gcloud functions deploy.
Per impostazione predefinita, gli aggiornamenti automatici della sicurezza sono abilitati per le funzioni di cui è stato eseguito il deployment utilizzando:
gcloud functions- API Cloud Functions v2
gcloud runcon il flag--functionse il flag--base-image
Imposta la policy di aggiornamento della funzione
Puoi modificare la policy di aggiornamento della funzione utilizzando questo comando:
gcloud functions deploy FUNCTION_NAME \
--runtime-update-policy=POLICY ...
Sostituisci:
- FUNCTION_NAME con il nome della tua funzione
- POLICY con
automaticoon-deploy
Esamina la policy di aggiornamento della funzione
Puoi esaminare la policy di aggiornamento della tua funzione con questo comando:
gcloud functions describe FUNCTION_NAME \
Dove FUNCTION_NAME è il nome della tua funzione
- Le funzioni con aggiornamenti automatici della sicurezza abilitati avranno la chiave
automaticUpdatePolicy - Le funzioni che vengono aggiornate durante il deployment avranno la chiave
onDeployUpdatePolicy
Scansioni di sicurezza delle funzioni Cloud Run
Le funzioni Cloud Run con aggiornamenti automatici abilitati si basano su un'immagine scratch. Di conseguenza, il container che rappresenta la tua funzione in Artifact Registry non avrà un'immagine di base e sarà notevolmente più piccolo rispetto alle funzioni che utilizzano gli aggiornamenti in fase di deployment. L'immagine di base viene combinata con l'immagine della funzione in fase di runtime per creare una funzione completa. Per saperne di più, consulta Crea build con scratch.