Seguridad del entorno de ejecución

En esta página, se proporciona información complementaria sobre las políticas de actualización de seguridad en las funciones que se crean con los comandos de gcloud functions o la API de Cloud Functions v2.

Consulta el documento de Cloud Run Configura las actualizaciones automáticas de imágenes base con el objetivo de obtener una descripción detallada sobre cómo configurar las actualizaciones automáticas para las imágenes base, incluidos los entornos de ejecución de lenguaje, el paquete del SO y el sistema operativo.

Imágenes del entorno de ejecución

Cada entorno de ejecución tiene una imagen de entorno de ejecución asociada (también conocida como imagen de ejecución) en un repositorio público de Artifact Registry. Para obtener una lista de los IDs de entornos 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-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22:nodejs20_20230924_20_6_1_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 cambiar con la marca --runtime-update-policy en el comando gcloud functions deploy.

De forma predeterminada, las actualizaciones de seguridad automáticas están habilitadas para las funciones implementadas con los métodos siguientes:

Configura la política de actualización de la función

Con el comando siguiente, se puede cambiar la política de actualización de la función:

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

Reemplaza lo siguiente:

  • FUNCTION_NAME por el nombre de la función
  • POLICY por automatic o on-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.

Análisis de seguridad en Cloud Run Functions

Las funciones de Cloud Run Functions que tienen habilitadas las actualizaciones automáticas se compilan sobre una imagen de scratch. Como resultado, el contenedor que representa a la función en Artifact Registry no tendrá una imagen base y será mucho más pequeño que las funciones que usan actualizaciones en la implementación. La imagen base se combina con la de la función en el tiempo de ejecución para crear una función completa. Para obtener más información, consulta Compila en scratch.