Seguridad del entorno de ejecución
Cada función se ejecuta sobre una imagen del entorno de ejecución con versión en el entorno de ejecución seguro de Cloud Run Functions. Las imágenes del entorno de ejecución contienen bibliotecas del sistema operativo, entornos de ejecución de lenguaje y otros paquetes del sistema. Google mantiene todas las imágenes del entorno de ejecución de Cloud Run Functions y lanza parches de seguridad y actualizaciones de mantenimiento luego de un período de pruebas de estabilidad.
Imágenes del entorno de ejecución
Cada entorno de ejecución tiene una imagen asociada (también conocida como imagen de ejecución) en un
repositorio público en gcr.io. Para obtener una lista de IDs de entorno de ejecución y sus imágenes,
consulta entornos de ejecución.
Identifica la imagen del entorno de ejecución
La imagen del entorno de ejecución que usas para crear una función se puede identificar inspeccionando los registros de compilación de la función.
En los registros de compilación, busca google.run-image. Así, obtendrás la entrada de registro del paso de compilación que describe la versión de la imagen del entorno de ejecución que se usa para
compilar la función. Por ejemplo, una entrada de registro para una función de Nodejs podría verse
de la manera siguiente:
{
...
"textPayload": "Step #2 - \"build\": Adding image label google.run-image:
us.gcr.io/serverless-runtimes/google-22-full/runtimes/nodejs20:nodejs20_20241110_20_18_0_RC00
",
...
}
Política de actualización de seguridad
Puedes elegir una de las siguientes políticas de actualización de seguridad:
Actualizaciones automáticas (configuración predeterminada): las actualizaciones y los parches de seguridad que se aplican al entorno de ejecución se publican en versiones nuevas de la imagen del entorno. Después de un período de prueba de estabilidad y confiabilidad, el entorno de ejecución actualizado se lanza en todas las funciones, lo que da como resultado una actualización sin tiempo de inactividad. Las actualizaciones de seguridad automáticas están disponibles con Cloud Run Functions (1ª gen.) y Cloud Run Functions. Para implementar correcciones de seguridad a nivel de lenguaje, es posible que debas volver a compilar funciones que usen lenguajes compilados, como Go o Java.
Actualizaciones en la implementación: las actualizaciones y los parches de seguridad se aplican a los entornos de ejecución solo cuando se implementan o se vuelven a implementar funciones, a menos que se indique lo contrario. Las actualizaciones en la implementación están disponibles tanto en Cloud Run Functions (1ª gen.) como en Cloud Run Functions.
La política de actualización del entorno de ejecución se puede modificar con la
marca --runtime-update-policy en el comando gcloud functions deploy.
Configura la política de actualización de la función
Si usas Cloud Run Functions (1st gen), puedes modificar la
política de actualización de la función incluyendo la marca --runtime-update-policy en
el comando gcloud deploy, como se muestra a continuación:
gcloud functions deploy FUNCTION_NAME --no-gen2 \
--runtime-update-policy=POLICY ...
Reemplaza lo siguiente:
- FUNCTION_NAME por el nombre de la función
- POLICY por
automaticoon-deploy
Inspecciona la política de actualización de la función
Puedes inspeccionar la política de actualización de la función con el comando siguiente:
gcloud functions describe FUNCTION_NAME \
En el comando anterior, FUNCTION_NAME es el nombre de la función.
- Las funciones que tienen habilitadas las actualizaciones de seguridad automáticas reciben la clave
automaticUpdatePolicy. - Las funciones que se actualizan en la implementación reciben la clave
onDeployUpdatePolicy.
Identifica la imagen del entorno de ejecución que se usa después de una actualización automática
Cuando habilitas las actualizaciones automáticas, Cloud Run Functions cambia la imagen del entorno de ejecución de la función por una revisión más reciente que contiene parches y actualizaciones de seguridad adicionales. Este cambio aparece en los registros del entorno de ejecución de la función.
En los registros del entorno de ejecución, la etiqueta runtime_version indica cuándo se usa
una imagen del entorno de ejecución nueva en la función. Una entrada de registro para una función de
Nodejs que se actualizó automáticamente podría tener el aspecto siguiente:
{
...
"labels:" {
runtime_version: nodejs20_20230924_20_6_1_RC00
execution_id: ...
}
...
}