Proteja tarefas cron com os VPC Service Controls

Os VPC Service Controls são uma funcionalidade da Google Cloud Platform que lhe permite configurar um perímetro seguro para se proteger contra a exfiltração de dados. Este guia mostra como incluir trabalhos do Cloud Scheduler num perímetro dos VPC Service Controls.

Limitações

As seguintes limitações aplicam-se ao suporte dos VPC Service Controls para o Cloud Scheduler.

Ações aplicadas

Os VPC Service Controls só são aplicados nas seguintes ações:

  • Criação de tarefas do Cloud Scheduler
  • Atualizações de tarefas do Cloud Scheduler

Porque é que isto é importante?

Uma vez que os VPC Service Controls só são aplicados na criação e nas atualizações de tarefas, os VPC Service Controls não são aplicados automaticamente às tarefas criadas antes de adicionar o Cloud Scheduler ao seu perímetro dos VPC Service Controls. As tarefas continuam a ser executadas mesmo que os alvos da tarefa não façam parte do perímetro dos VPC Service Controls ou não sejam alvos suportados. Para aplicar os VPC Service Controls a todas as tarefas do Cloud Scheduler:

Segmentações suportadas

A integração do Cloud Scheduler com os VPC Service Controls suporta os seguintes destinos. Os pontos finais HTTP são suportados se estiverem listados. No entanto, os pontos finais HTTP arbitrários não são suportados.

  • Serviços do Cloud Run: no URL run.app.
  • Funções do Cloud Run: no URL functions.net.
  • Google Cloud As APIs compatíveis com os Controlos de serviços da VPC (em versão de pré-visualização ou de disponibilidade geral) podem estar num projeto Google Cloud diferente da sua tarefa do Cloud Scheduler. No entanto, o trabalho do Cloud Scheduler e o projeto de destino Google Cloud têm de estar no mesmo perímetro do VPC Service Controls.

    • Para tarefas do Cloud Run, o formato de URI suportado é o seguinte: https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:run

      Para saber mais sobre a diferença entre os recursos de serviço e de tarefa do Cloud Run, consulte o artigo Serviços e tarefas: duas formas de executar o seu código.

  • Pub/Sub

Elimine trabalhos não conformes

Recomendado. Elimine tarefas do Cloud Scheduler com destinos que sejam:

Para ver instruções sobre como eliminar trabalhos, consulte o artigo Elimine um trabalho.

Se não eliminar estes trabalhos antes de adicionar o Cloud Scheduler ao seu perímetro dos VPC Service Controls, os trabalhos continuam a ser executados, mas os VPC Service Controls não são aplicados aos mesmos. Neste documento, consulte as ações aplicadas.

Por exemplo, se tiver uma tarefa do Cloud Scheduler que segmenta um destino não suportado (como um domínio personalizado do Cloud Run), a tarefa continua a ser executada depois de adicionar o Cloud Scheduler ao perímetro do VPC Service Controls, mas não está protegida pelo VPC Service Controls. O mesmo se aplica a uma tarefa pré-existente com um destino fora do perímetro dos VPC Service Controls.

Adicione as funções IAM necessárias

Obrigatório. Para usar os VPC Service Controls, a conta de serviço do Cloud Scheduler tem de ter a função da IAM Agente do serviço Cloud Scheduler. A conta de serviço do Cloud Scheduler é criada automaticamente para o seu projeto. Para verificar se tem a função do IAM de agente do serviço do Cloud Scheduler ou para conceder esta função, siga os passos abaixo:

  1. Na Google Cloud consola, aceda a IAM.

    Aceder ao IAM

  2. Selecione a caixa de verificação Incluir concessões de funções fornecidas pela Google.

  3. No filtro, escreva Conta de serviço do Cloud Scheduler e selecione este principal.

  4. Consulte a coluna Função para o principal da conta de serviço do Cloud Scheduler. Pode continuar se a seguinte função estiver listada:

    • Agente de serviço do Cloud Scheduler

    Se a função de conta de serviço do Cloud Scheduler não estiver listada, clique no ícone Editar e conceda a função Agente de serviço do Cloud Scheduler ao principal da conta de serviço do Cloud Scheduler.

Especifique um perímetro dos VPC Service Controls

Obrigatório. Pode usar um perímetro existente ou criar um novo para proteger as tarefas do Cloud Scheduler que tenham alvos suportados. Ambas as abordagens dão-lhe a oportunidade de especificar os serviços a restringir. Especifique a API Cloud Scheduler.

Aplique o VPC Service Controls a tarefas pré-existentes

Recomendado. Para aplicar o VPC Service Controls a tarefas do Cloud Scheduler que criou antes de adicionar o Cloud Scheduler ao perímetro do VPC Service Controls, execute um update na tarefa. Não tem de alterar a tarefa, mas tem de executar a atualização para que o VPC Service Controls seja aplicado à tarefa e às respetivas execuções futuras.

Pode executar uma atualização para a tarefa a partir da Google Cloud consola (selecione a tarefa e use o botão Editar), através da API ou com a CLI gcloud.

Para aplicar os VPC Service Controls a uma tarefa pré-existente através da CLI gcloud, execute o seguinte comando:

Alvos HTTP

gcloud scheduler jobs update http JOB_ID

Substitua JOB_ID pelo ID da sua tarefa.

Alvos do Pub/Sub

gcloud scheduler jobs update pubsub JOB_ID

Substitua JOB_ID pelo ID da sua tarefa.