Proteger cron jobs com o VPC Service Controls

O VPC Service Controls é um recurso do Google Cloud em que é possível configurar um perímetro seguro para evitar a exfiltração de dados. Neste guia, mostramos como incluir jobs do Cloud Scheduler em um perímetro do VPC Service Controls.

Limitações

As limitações a seguir se aplicam ao suporte do VPC Service Controls para Cloud Scheduler.

Ações aplicadas

O VPC Service Controls é aplicado apenas nas seguintes ações:

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

Por que isso é importante?

Como o VPC Service Controls é aplicado apenas na criação e nas atualizações de jobs, ele não é aplicado automaticamente a jobs que foram criados antes de você adicionar o Cloud Scheduler ao seu perímetro do VPC Service Controls. Os jobs continuam sendo executados mesmo que os destinos não façam parte do seu perímetro do VPC Service Controls ou não sejam destinos com suporte. Para aplicar o VPC Service Controls a todos os jobs do Cloud Scheduler:

  • Tarefas com destinos que não são compatíveis ou estão fora de sua perímetro: exclua os jobs. Consulte Excluir jobs sem compliance
  • Jobs com destinos com suporte e dentro do seu perímetro: execute uma atualização em cada job depois de adicionar o Cloud Scheduler ao seu perímetro. Consulte Aplicar em jobs preexistentes.

Destinos com suporte

A integração do Cloud Scheduler com o VPC Service Controls só oferece suporte aos seguintes destinos:

  • Funções do Cloud Run (no URL functions.net)
  • Cloud Run (no URL run.app para o Cloud Run serviços. Os destinos de job do Cloud Run não são compatíveis. Para saber a diferença entre recursos de serviço e job do Cloud Run, consulte Serviços e jobs: duas maneiras de executar seu código.
  • API Dataflow (precisa estar no mesmo projeto do Google Cloud que o job do Cloud Scheduler)
  • Pipelines de dados (precisam estar no mesmo projeto do Google Cloud que seu job do Cloud Scheduler)
  • Pub/Sub (precisa estar no mesmo projeto do Google Cloud que seu job do Cloud Scheduler)

Excluir jobs que não estão em compliance

Recomendado. Excluir jobs do Cloud Scheduler com destinos que estão uma destas opções:

Para instruções sobre como excluir tarefas, consulte Excluir um job.

Se você não excluir esses jobs antes de adicionar o Cloud Scheduler perímetro do VPC Service Controls, os jobs continuam em execução, mas O VPC Service Controls não é aplicado nelas. Consulte Ações aplicadas).

Por exemplo, se você tiver um job do Cloud Scheduler que tenha como destino um destino sem suporte (como um domínio personalizado do Cloud Run), o job continuará sendo executado depois que você adicionar o Cloud Scheduler ao seu perímetro do VPC Service Controls, mas não será protegido por ele. O mesmo vale para um job preexistente com um destino fora do perímetro do VPC Service Controls.

Adicionar papéis do IAM obrigatórios

Obrigatório. Para usar o VPC Service Controls, o Cloud Scheduler a conta de serviço precisa ter o Agente de serviço do Cloud Scheduler papel do IAM. A conta de serviço do Cloud Scheduler é criada para seu projeto automaticamente. Para verificar se ele tem o Cloud Scheduler papel do IAM de agente de serviço ou, para conceder esse papel, faça o seguinte etapas:

  1. No console do Google Cloud, acesse o IAM.

    Acessar IAM

  2. Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.

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

  4. Observe a coluna Papel da conta de serviço do Cloud Scheduler. Você pode prosseguir se o seguinte papel estiver listado:

    • Agente de serviço do Cloud Scheduler

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

Especificar um perímetro de VPC Service Controls

Obrigatório. É possível usar um perímetro existente ou criar um novo para proteger seus jobs do Cloud Scheduler que têm suporte a destinos. Ambas as abordagens oferecem a chance de especificar os serviços que serão restringidos. Especifique a API Cloud Scheduler.

Aplicar o VPC Service Controls em jobs atuais

Recomendado. Para aplicar o VPC Service Controls a trabalhos do Cloud Scheduler criados antes de adicionar o Cloud Scheduler ao seu perímetro do VPC Service Controls, execute um update no trabalho. Você não precisa altere o job, mas é preciso executar a atualização para que o VPC Service Controls se aplica ao trabalho e às execuções futuras dele.

É possível executar uma atualização do job no console do Google Cloud (selecione o job e use o botão Edit), usando a API ou a CLI gcloud.

Para aplicar o VPC Service Controls a um job atual usando o CLI gcloud, execute o seguinte comando:

Destinos HTTP

gcloud scheduler jobs update http JOB_ID

Substitua:

  • JOB_ID: o ID do job

Destinos do Pub/Sub

gcloud scheduler jobs update pubsub JOB_ID

Substitua:

  • JOB_ID: o ID do job