O VPC Service Controls permite configurar um perímetro seguro em torno dos recursos do Google Cloud para ajudar a evitar a exfiltração de dados. É possível incluir jobs do Cloud Scheduler em um perímetro do VPC Service Controls para proteger as cargas de trabalho programadas e restringir os destinos dos jobs.
Limitações
As limitações a seguir se aplicam ao suporte do VPC Service Controls para o Cloud Scheduler.
Ações aplicadas
O VPC Service Controls é aplicado nas ações a seguir:
- Criações de jobs do Cloud Scheduler
- Atualizações de jobs do Cloud Scheduler
Por que isso é importante?
Como o VPC Service Controls é aplicado apenas em criações e atualizações de jobs, ele não é aplicado automaticamente a jobs criados antes de você adicionar o Cloud Scheduler ao perímetro do VPC Service Controls. Os jobs continuam sendo executados mesmo que os destinos não façam parte do perímetro do VPC Service Controls ou não sejam destinos compatíveis. Para aplicar o VPC Service Controls a todos os jobs do Cloud Scheduler:
- Jobs com destinos não compatíveis ou fora do seu perímetro:exclua os jobs. Neste documento, consulte Excluir jobs não compatíveis.
- Jobs com destinos compatíveis e dentro do perímetro:execute uma atualização em cada job depois de adicionar o Cloud Scheduler ao perímetro. Neste documento, consulte Aplicar o VPC Service Controls em jobs preexistentes.
Destinos com suporte
A integração do Cloud Scheduler com o VPC Service Controls é compatível com os destinos a seguir. Os endpoints HTTP são compatíveis se estiverem listados. No entanto, endpoints HTTP arbitrários não são compatíveis.
- Serviços do Cloud Run: precisam usar o domínio padrão canônico
run.app. Domínios personalizados e DNS personalizados não são compatíveis e causam falha na criação de jobs. - Funções do Cloud Run: precisam usar o domínio padrão canônico
cloudfunctions.netourun.app. Domínios e DNS personalizados não são compatíveis e vão fazer com que a criação do job falhe. Google Cloud As APIs compatíveis com o VPC Service Controls (em pré-lançamento ou GA) podem estar em um projeto do Google Cloud diferente do seu job do Cloud Scheduler.
É preciso usar o formato de endpoint global (
https://SERVICE.googleapis.com). Endpoints regionais, como*.rep.googleapis.com,LOCATION.SERVICE.googleapis.comeREGION-SERVICE.googleapis.com, e endpoints mTLS (*.mtls.googleapis.com) são rejeitados.Esse requisito se aplica apenas aos URIs de destino do job. Para enviar suas próprias solicitações à API Cloud Scheduler por um endpoint regional, consulte Usar endpoints regionais.
Para jobs do Cloud Run, o formato de URI compatível é o seguinte:
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:runPara saber a diferença entre os recursos de serviço e job do Cloud Run, consulte Serviços, jobs, pools de workers e instâncias: quatro maneiras de executar seu código.
Pub/Sub
Segmentações não compatíveis
Quando o Cloud Scheduler é um serviço restrito no perímetro do VPC Service Controls, qualquer tentativa de criar ou atualizar um job com um destino não compatível falha com um código do erro TARGET_TYPE_NOT_PERMITTED_FOR_VPC. Essa ação não gera um registro de violação ao usar o modo de teste.
Domínios personalizados (como balanceadores de carga de aplicativo externos ou DNS personalizado) para endpoints sem servidor não são destinos compatíveis. As invocações de ambiente de execução para domínios personalizados são bloqueadas pelo serviço de destino devido à falta de credenciais no perímetro, mesmo para jobs pré-existentes criados antes da inscrição no perímetro.
Para evitar o bloqueio inesperado das cargas de trabalho, exclua todos os jobs com destinos não compatíveis ou com destinos fora do perímetro do VPC Service Controls que você planeja usar antes de mover o perímetro para o modo restrito.
Excluir jobs que não estão em conformidade
Recomendado. Exclua jobs do Cloud Scheduler com destinos que sejam:
- Não compatível (consulte Segmentações compatíveis)
- Fora do perímetro do VPC Service Controls que você planeja usar
Para instruções sobre como excluir jobs, consulte Excluir um job.
Se você não excluir esses jobs antes de adicionar o Cloud Scheduler ao perímetro do VPC Service Controls, eles vão continuar sendo executados, mas o VPC Service Controls não será aplicado a eles. Neste documento, consulte Ações aplicadas.
Por exemplo, se você tiver um job do Cloud Scheduler que tenha como destino um destino não compatível (como um endpoint HTTP arbitrário), o job vai continuar sendo executado depois que você adicionar o Cloud Scheduler ao perímetro do VPC Service Controls, mas não será protegido pelo VPC Service Controls. O mesmo vale para um job preexistente com um destino fora do perímetro do VPC Service Controls. No entanto, se um job preexistente segmentar um domínio personalizado sem servidor dentro do perímetro, o serviço de destino vai bloquear as invocações de ambiente de execução.
Adicionar papéis do IAM necessários
Obrigatório. Para usar o VPC Service Controls, a conta de serviço do Cloud Scheduler precisa ter o papel do IAM de Agente de serviço do Cloud Scheduler. A conta de serviço do Cloud Scheduler é criada automaticamente para seu projeto. Para verificar se ela tem o papel de IAM de agente de serviço do Cloud Scheduler ou para conceder esse papel, siga estas etapas:
No Google Cloud console, acesse o IAM
Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.
No filtro, digite Conta de serviço do Cloud Scheduler e selecione esse principal.
Observe a coluna Papel do principal Conta de serviço do Cloud Scheduler. Você poderá continuar se o seguinte papel estiver listado:
- Agente de serviço do Cloud Scheduler
Se o papel de agente de serviço do Cloud Scheduler não estiver listado, clique no ícone Editar e conceda o papel de agente de serviço do Cloud Scheduler ao principal da conta de serviço do Cloud Scheduler.
Especificar um perímetro do VPC Service Controls
Obrigatório. É possível usar um perímetro atual ou criar um novo para proteger os jobs do Cloud Scheduler que têm destinos compatíveis. As duas abordagens permitem especificar serviços a serem restringidos. Especifique a API Cloud Scheduler.
Perímetros atuais:para atualizar um perímetro do VPC Service Controls para incluir o Cloud Scheduler, siga as etapas para atualizar um perímetro de serviço.
Novos perímetros:para criar um novo perímetro para o Cloud Scheduler, siga as etapas para criar um perímetro de serviço.
Aplicar o VPC Service Controls em jobs preexistentes
Recomendado. Para aplicar o VPC Service Controls aos jobs do Cloud Scheduler
criados antes de adicionar o Cloud Scheduler ao
perímetro do VPC Service Controls, execute um update no job. Não é necessário
alterar o job, mas é preciso executar a atualização para que o VPC Service Controls seja aplicado ao
job e às execuções futuras dele.
É possível executar uma atualização para o job usando o console do Google Cloud (selecione o job e clique em Editar), a API ou a CLI gcloud.
Para aplicar o VPC Service Controls a um job preexistente usando a CLI gcloud, execute o seguinte:
Destinos HTTP
gcloud scheduler jobs update http JOB_ID
Substitua JOB_ID pelo ID do job.
Destinos do Pub/Sub
gcloud scheduler jobs update pubsub JOB_ID
Substitua JOB_ID pelo ID do job.