O Cloud Scheduler pode chamar destinos HTTP que requerem autenticação se configurar uma conta de serviço associada com as credenciais adequadas.
Configure uma conta de serviço
Normalmente, uma conta de serviço é usada por uma aplicação ou uma carga de trabalho de computação e é identificada pelo respetivo endereço de email, que é exclusivo da conta.
As aplicações podem usar contas de serviço para fazer chamadas de API autorizadas através da autenticação como a própria conta de serviço e aceder a todos os recursos aos quais a conta de serviço tem autorização de acesso.
A forma mais comum de permitir que uma aplicação se autentique como uma conta de serviço é anexar uma conta de serviço ao recurso que executa a aplicação. Em seguida, pode conceder à conta de serviço funções de gestão de identidade e de acesso (IAM) para permitir que a conta de serviço aceda aos Google Cloud recursos.
Se ainda não tiver uma conta de serviço que queira usar para tarefas do Cloud Scheduler com destinos HTTP, crie uma nova conta de serviço. Tenha em atenção o seguinte:
A conta de serviço tem de pertencer ao projeto no qual a tarefa do Cloud Scheduler é criada.
Não use o agente de serviço do Cloud Scheduler (
service-PROJECT_NUMBER@gcp-sa-cloudscheduler.iam.gserviceaccount.com). Não pode ser usado para este fim.Não revogue a função de agente do serviço do Cloud Scheduler (
roles/cloudscheduler.serviceAgent) do agente do serviço do Cloud Scheduler no seu projeto. Se o fizer, recebe403respostas aos pontos finais que requerem autenticação, mesmo que a conta de serviço do seu trabalho tenha a função adequada.
Se o seu destino estiver dentro do Google Cloud, conceda as funções do IAM necessárias à sua conta de serviço. Cada serviço no Google Cloud requer uma função específica, e o serviço de receção valida automaticamente o token gerado. Por exemplo, para o Cloud Run e as funções do Cloud Run de segunda geração, tem de conceder a função
Cloud Run Invokerroles/run.invokerCloud Run Invoker.Para receber a autorização de que precisa para anexar uma conta de serviço a um recurso, peça ao seu administrador para lhe conceder a função IAM Utilizador da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço. Esta função predefinida contém a autorizaçãoiam.serviceAccounts.actAs, que é necessária para anexar uma conta de serviço a um recurso. (Se criou a conta de serviço, esta autorização é-lhe concedida automaticamente.)No passo anterior, se criou especificamente uma conta de serviço para invocar o serviço que a tarefa do Cloud Scheduler segmenta, pode seguir o princípio do menor privilégio associando a conta e a respetiva autorização de invocador ao serviço de destino:
Consola
Na Google Cloud consola, na página do seletor de projetos, selecione um Google Cloud projeto.
Navegue para a página do tipo de recurso que está a invocar. Por exemplo, se estiver a invocar um serviço do Cloud Run, navegue para a página que lista os serviços do Cloud Run.
Selecione a caixa de verificação à esquerda do serviço que quer invocar. (Não clique no próprio serviço.)
Clique no separador Autorizações.
Se o painel de informações não estiver visível, pode ter de clicar em Mostrar painel de informações > Autorizações.
Clique em Adicionar principal.
No campo Novos membros, introduza o endereço de email da conta de serviço que criou.
Na lista Selecionar uma função, selecione uma função a conceder.
Siga o princípio do menor privilégio escolhendo a função que inclui apenas as autorizações de que o seu principal precisa.
Clique em Guardar.
gcloud
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \ --member=