Sicurezza dell'ambiente di esecuzione
Questa pagina fornisce informazioni supplementari per i criteri 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 della lingua, il pacchetto del sistema operativo e il sistema operativo, consulta il documento Cloud Run Configurare gli aggiornamenti automatici delle immagini di base.
Immagini di runtime
A ogni runtime è associata un'immagine di runtime (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 compilazione della funzione.
Nei log di compilazione, cerca google.run-image
. Viene visualizzata la voce di log del passaggio di compilazione che descrive la versione dell'immagine di runtime utilizzata per compilare la funzione. Ad esempio, una voce di log per una funzione Nodejs potrebbe avere il seguente aspetto:
{
...
"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",
...
}
Criterio di aggiornamento della sicurezza
Puoi scegliere uno dei seguenti criteri di aggiornamento della sicurezza:
Aggiornamenti automatici (valore predefinito): gli aggiornamenti e le patch di sicurezza per l'ambiente di runtime vengono pubblicati nelle nuove versioni dell'immagine di runtime. Dopo un periodo di test per la verifica della stabilità e dell'affidabilità, il runtime aggiornato viene implementato in tutte le funzioni, con un aggiornamento senza tempi di riposo. Gli aggiornamenti di sicurezza automatici sono disponibili con le funzioni Cloud Run (1ª generazione.) e Cloud Run. Per applicare correzioni di sicurezza a livello di linguaggio, potrebbe essere necessario ricostruire le funzioni che utilizzano linguaggi compilati come Go o Java.
Aggiornamenti al deployment: gli aggiornamenti e le patch di sicurezza vengono applicati ai runtime solo quando le funzioni vengono implementate o riimplementate, se non diversamente specificato. Gli aggiornamenti sul deployment sono disponibili sia per le funzioni Cloud Run (1ª generazione.) sia per le funzioni Cloud Run.
Il criterio di aggiornamento del runtime può essere modificato utilizzando il --runtime-update-policy
flag 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 2.0
gcloud run
con il flag--functions
e il--base-image
Imposta il criterio di aggiornamento della funzione
Puoi modificare il criterio di aggiornamento della funzione utilizzando il seguente comando:
gcloud functions deploy FUNCTION_NAME \ --runtime-update-policy=POLICY ...
Sostituisci:
- FUNCTION_NAME con il nome della funzione
- POLICY con
automatic
oon-deploy
Controlla i criteri di aggiornamento della funzione
Puoi controllare il criterio di aggiornamento della funzione con il seguente comando:
gcloud functions describe FUNCTION_NAME \
dove FUNCTION_NAME è il nome della funzione
- Le funzioni con gli aggiornamenti della sicurezza automatici abilitati avranno la chiave
automaticUpdatePolicy
- Le funzioni che si aggiornano al momento del deployment avranno la chiave
onDeployUpdatePolicy
Scansioni di sicurezza nelle funzioni Cloud Run
Le funzioni Cloud Run per le quali sono abilitati gli aggiornamenti automatici vengono create 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 delle funzioni che utilizzano gli aggiornamenti al momento del deployment. L'immagine di base viene combinata con l'immagine della funzione in fase di esecuzione per creare una funzione completa. Per ulteriori informazioni, consulta
Creare su scratch
.