Sécurité de l'environnement d'exécution
Cette page fournit des informations supplémentaires sur les règles de mise à jour de sécurité pour les fonctions créées à l'aide des commandes gcloud functions
ou de l'API Cloud Functions v2.
Pour obtenir une description détaillée de la configuration des mises à jour automatiques pour les images de base, y compris les environnements d'exécution du langage, le package OS et le système d'exploitation, consultez le document Cloud Run Configurer les mises à jour automatiques des images de base.
Images d'exécution
Chaque environnement d'exécution est associé à une image d'exécution (également appelée image run) dans un dépôt public sur Artifact Registry. Pour obtenir la liste des ID d'exécution et de leurs images d'exécution, consultez la page Environnements d'exécution.
Identifier votre image d'exécution
Vous pouvez identifier l'image d'exécution utilisée pour créer votre fonction en inspectant les journaux de compilation de votre fonction.
Dans les journaux de compilation, recherchez google.run-image
. Vous obtenez ainsi l'entrée de journal de l'étape de compilation qui décrit la version de l'image d'exécution utilisée pour compiler votre fonction. Par exemple, une entrée de journal pour une fonction Nodejs peut se présenter comme suit :
{
...
"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",
...
}
Règles concernant les mises à jour de sécurité
Vous pouvez choisir l'une des règles de mises à jour de sécurité suivantes :
Mises à jour automatiques (règle par défaut) : les mises à jour et les correctifs de sécurité de l'environnement d'exécution sont publiés dans de nouvelles versions de l'image d'exécution. Après une période de tests de stabilité et de fiabilité, l'environnement d'exécution mis à jour est déployé sur toutes les fonctions, ce qui évite les temps d'arrêt. Les mises à jour de sécurité automatiques sont disponibles avec Cloud Run Functions (1re génération) et Cloud Run Functions. Pour appliquer des correctifs de sécurité au niveau du langage, vous devrez peut-être recréer des fonctions qui utilisent des langages compilés tels que Go ou Java.
Lors des mises à jour de déploiement : les mises à jour et les correctifs de sécurité ne sont appliqués aux environnements d'exécution que lorsque des fonctions sont déployées ou redéployées, sauf indication contraire. Les mises à jour sur le déploiement sont disponibles à la fois sur Cloud Run Functions (1re génération) et Cloud Run Functions.
Vous pouvez modifier la stratégie de mise à jour de l'environnement d'exécution à l'aide de l'indicateur --runtime-update-policy
dans votre commande gcloud functions deploy
.
Par défaut, les mises à jour de sécurité automatiques sont activées pour les fonctions déployées à l'aide des éléments suivants :
gcloud functions
- API Cloud Functions v2
gcloud run
avec les options--functions
et--base-image
Définir la règle de mise à jour de votre fonction
Vous pouvez modifier la règle de mise à jour de votre fonction à l'aide de la commande suivante :
gcloud functions deploy FUNCTION_NAME \ --runtime-update-policy=POLICY ...
Remplacez :
- FUNCTION_NAME par le nom de votre fonction
- POLICY avec
automatic
ouon-deploy
Inspecter la règle de mise à jour de votre fonction
Vous pouvez inspecter la règle de mise à jour de votre fonction à l'aide de la commande suivante :
gcloud functions describe FUNCTION_NAME \
Où FUNCTION_NAME est le nom de la fonction.
- Les fonctions pour lesquelles les mises à jour de sécurité automatiques sont activées auront la clé
automaticUpdatePolicy
. - Les fonctions qui sont mises à jour lors du déploiement auront la clé
onDeployUpdatePolicy
.
Analyses de sécurité sur les fonctions Cloud Run
Les fonctions Cloud Run pour lesquelles les mises à jour automatiques sont activées sont basées sur une image scratch
. Par conséquent, le conteneur qui représente votre fonction dans Artifact Registry n'aura pas d'image de base et sera considérablement plus petit que les fonctions utilisant des mises à jour lors du déploiement. L'image de base est combinée à l'image de la fonction au moment de l'exécution pour créer une fonction complète. Pour en savoir plus, consultez Créer sur scratch
.