Encontrar integrações que precisam de uma conta de serviço de execução como
Esta página faz parte de Preparação para mudanças futuras na autorização. Isso ajuda você a encontrar as integrações que precisam de uma conta de serviço run-as antes que as mudanças entrem em vigor.
Determinar se uma integração precisa de um
Você só precisa de uma conta de serviço de execução quando as credenciais de ninguém estão disponíveis para toda a execução. Isso acontece em duas situações, e apenas duas:
| Como a integração é executada | As credenciais de alguém estão disponíveis? | Precisa de uma conta de serviço de execução como? |
|---|---|---|
| Síncrono: alguém inicia e aguarda o resultado. | Sim, durante toda a corrida | Não |
| Assíncrono: é enfileirado e concluído mais tarde. | Apenas no momento em que é acionado | Sim |
| Sem supervisão: uma programação ou um evento inicia o processo. | Não, nunca há uma pessoa | Sim |
Identificar as integrações afetadas
Primeiro, ele funciona sem uma pessoa? Isso acontece se alguma destas condições for verdadeira:
- Ele tem um gatilho diferente de um gatilho de API ou particular, por exemplo, um gatilho de programação, Cloud Scheduler, Cloud Pub/Sub, Salesforce, evento do Integration Connectors ou Eventarc.
- Algo o programa pela API com
scheduleIntegrations. - Outra integração a chama como uma subintegração assíncrona usando a tarefa Chamar integração. A subintegração precisa da própria conta de serviço de execução, mesmo que a integração de chamada tenha uma.
- Ele usa a tarefa Suspender ou Aprovação, em que uma execução pode ficar aguardando e expirar por conta própria.
Segundo, a conta de serviço de execução está vazia? Para listar todas as versões publicadas em uma região com a conta de serviço de execução, execute o seguinte comando:
curl -s -G -H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "filter=state=ACTIVE" \
--data-urlencode "pageSize=1000" \
"https://REGION-integrations.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/integrations/-/versions" \
| jq -r '.integrationVersions[]
| [ .name, (.runAsServiceAccount // "NONE") ]
| @tsv'
Substitua:
REGION: a região da sua integração. Para conferir a lista de regiões com disponibilidade, consulte Locais.PROJECT_ID: o ID do seu projeto do Google Cloud;
- Uma linha que mostra
NONEsó precisa de ação se a primeira metade também se aplica a ela. - Para verificar uma única integração, abra-a no editor de integração e clique em (Configurações de integração) na barra de ferramentas do editor. O campo Conta de serviço mostra a conta de serviço de execução e fica vazio se a integração não tiver uma.
A seguir
- Conceda Usuário da conta de serviço às contas de serviço de execução como que você já usa.
- Defina uma conta de serviço de execução como em cada integração encontrada.