Segurança do ambiente de execução

Esta página fornece informações suplementares para as políticas de atualização de segurança em funções criadas através de comandos gcloud functions ou da API Cloud Functions v2.

Para uma descrição detalhada de como definir atualizações automáticas para as imagens de base, incluindo os tempos de execução de idiomas, o pacote do SO e o sistema operativo, consulte o documento do Cloud Run Configure atualizações automáticas de imagens de base.

Imagens do tempo de execução

Cada tempo de execução tem uma imagem de tempo de execução associada (também conhecida como imagem de execução) num repositório público no Artifact Registry. Para ver uma lista dos IDs de tempo de execução e das respetivas imagens de tempo de execução, consulte tempos de execução.

Identifique a sua imagem de tempo de execução

Pode identificar a imagem de tempo de execução usada para criar a sua função inspecionando os registos de compilação da função.

Nos registos de compilação, pesquise google.run-image. Isto dá-lhe a entrada de registo do passo de compilação que descreve a versão da imagem do tempo de execução usada para compilar a sua função. Por exemplo, uma entrada de registo para uma função Nodejs pode ter o seguinte aspeto:

{
  ...
  "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 atualizações de segurança

Pode escolher uma das seguintes políticas de atualização de segurança:

  • Atualizações automáticas (predefinição): as atualizações e os patches de segurança do ambiente de execução são publicados em novas versões da imagem do ambiente de execução. Após um período de testes de estabilidade e fiabilidade, o tempo de execução atualizado é implementado em todas as funções, o que resulta numa atualização sem tempo de inatividade. As atualizações de segurança automáticas estão disponíveis com as funções do Cloud Run (1.ª geração) e as funções do Cloud Run. Para implementar correções de segurança ao nível do idioma, pode ter de reconstruir funções que usam idiomas compilados, como Go ou Java.

  • Nas atualizações de implementação: as atualizações e os patches de segurança são aplicados aos tempos de execução apenas quando as funções são implementadas ou reimplementadas, salvo indicação em contrário. As atualizações sobre a implementação estão disponíveis nas funções do Cloud Run (1.ª geração) e nas funções do Cloud Run.

Pode alterar a política de atualização de tempo de execução através da flag --runtime-update-policy no comando gcloud functions deploy.

Por predefinição, as atualizações de segurança automáticas estão ativadas para funções implementadas através de:

Defina a política de atualização da sua função

Pode alterar a política de atualização da sua função através do seguinte comando:

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

Substituição:

  • FUNCTION_NAME com o nome da sua função
  • POLICY com automatic ou on-deploy

Inspeccione a política de atualização da sua função

Pode inspecionar a política de atualização da sua função com o seguinte comando:

  gcloud functions describe FUNCTION_NAME \

Onde FUNCTION_NAME é o nome da sua função

  • As funções com atualizações de segurança automáticas ativadas têm a chave automaticUpdatePolicy
  • As funções que são atualizadas na implementação têm a chave onDeployUpdatePolicy

Verificações de segurança em funções do Cloud Run

As funções do Cloud Run com atualizações automáticas ativadas são criadas com base numa imagem do scratch. Como resultado, o contentor que representa a sua função no Artifact Registry não tem uma imagem base e é consideravelmente mais pequeno do que as funções que usam atualizações na implementação. A imagem base é combinada com a imagem da função no momento da execução para criar uma função completa. Para mais informações, consulte Crie com o scratch.