Resolver erros de autorização
Esta página faz parte de Preparação para mudanças futuras na autorização. Ele explica os erros que podem aparecer e como corrigi-los.
Uma ação negada tem uma de duas causas, e vale a pena diferenciá-las:
- A conta de serviço de execução como: você não pode agir como ela ou ela não consegue alcançar o que uma tarefa precisa. Consulte Erros de conta de serviço de execução como.
- Seu próprio papel do IAM: você não tem permissão para realizar a ação. Consulte Erros de papéis do IAM.
As duas verificações são válidas, então corrigir uma não corrige a outra.
Erros da conta de serviço de execução como
Algumas dessas verificações ainda estão sendo lançadas, então talvez você não veja todos os erros ainda. Nas mensagens, PRINCIPAL é a conta que foi verificada. Ele mostra The caller quando não é possível nomear a conta.
| Situação | Você verá o seguinte: | O que fazer |
|---|---|---|
| Uma pessoa, automação ou acionador inicia uma integração, mas não pode agir como a conta de serviço de execução dela. | A execução é rejeitada com o seguinte erro:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to run this integration.
|
Conceda Usuário da conta de serviço a quem iniciar o processo. Para um gatilho, é a conta de serviço dele. |
| Uma integração criada a partir de 15 de outubro de 2026 com um gatilho diferente de API ou particular não tem uma conta de serviço de execução como. | A publicação e o teste falham com o seguinte erro:
Set a run-as service account. These triggers run with no caller:
TRIGGERS. Required for integrations created on or after October 15,
2026 (UTC). |
Definir uma conta de serviço de execução como |
| Uma execução sem credenciais de usuário não tem uma conta de serviço de execução como. | Se a governança de integração estiver ativada para a região, a publicação e o teste vão falhar
com o seguinte erro, seja qual for a data de criação da integração:
Your project requires a run-as service account. Set one before publish or
test.
A governança é a configuração Ativar governança descrita em
Editar
região.
Para regiões sem governança, o sistema não vai rejeitar essas execuções a partir de 15 de outubro de 2026. No entanto, os seguintes itens estão programados para falhar em uma versão futura:
|
Definir uma conta de serviço de execução como |
| Uma tarefa de integração de chamadas não pode iniciar a subintegração | A tarefa "Chamar integração" da integração de chamada falha por um destes
motivos:
|
Defina uma conta de serviço de execução como na subintegração ou chame-a de forma síncrona. Em seguida, conceda o papel de usuário da conta de serviço. |
| Alguém publica ou testa uma integração que usa um perfil de autenticação cuja conta de serviço não pode ser usada, ou uma execução atinge uma tarefa que usa esse perfil. | A publicação ou o teste falha, ou a tarefa falha, com o seguinte erro:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to use auth config
"AUTH_PROFILE_NAME". Se o restante da execução continua
depende de como a tarefa lida com erros. |
Conceder Usuário da conta de serviço na conta nomeada no perfil |
| Alguém cria ou edita um perfil de autenticação de conta de serviço ou token do OIDC sem permissão para agir como a conta de serviço. | Salvar o perfil falha com o seguinte erro:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to save this auth config. |
Conceda Usuário da conta de serviço na conta nomeada no perfil a quem a gerencia. |
| Um aprovador não pode atuar como a conta de serviço de execução como | A aprovação ou retomada da execução falha com o seguinte erro:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to resume this execution.
A execução permanece pausada até expirar, então as aprovações podem parecer ter parado
de funcionar |
Conceda Usuário da conta de serviço a todos que podem aprovar |
| Alguém publica ou testa uma integração sem permissão para atuar como a conta de serviço de execução | PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to publish or test this
integration. Tudo o que já foi publicado continua em execução. Se a automação publicar para você, isso vai aparecer no pipeline de implantação, e não no console. |
Conceder Usuário da conta de serviço a editores, testadores e automação |
| Uma tarefa é executada como a pessoa que a acionou, e essa pessoa não pode acessar o recurso. Em uma nova integração e, a partir de 15 de outubro de 2026, em um teste de qualquer integração, as tarefas de JavaScript, Script do Data Transformer e Mapeamento de dados serão executadas dessa forma. | A execução começa normalmente, mas uma tarefa falha ao nomear um recurso, mesmo que nada tenha mudado na integração. | Conceda acesso ao recurso ou mova a integração para uma conta de serviço executada como que já tenha acesso. Essa geralmente é a melhor resposta, já que impede que o acesso da integração varie de acordo com quem a executa. |
Para conferir a lista completa de códigos de erro da Application Integration, consulte Códigos de erro.
Erros de função do IAM
Além da conta de serviço de execução como, o Application Integration verifica as permissões do IAM do usuário para cada ação. Se você encontrar um erro PERMISSION_DENIED ao interagir com uma integração ou se os registros de execução não forem carregados, verifique se você tem uma função que concede as permissões necessárias:
| Para fazer isso | Você precisa de uma destas funções |
|---|---|
| Ver e abrir integrações | roles/integrations.integrationViewer |
| Conferir registros e detalhes da execução | roles/integrations.integrationViewer ou
roles/integrations.integrationInvoker |
| Executar uma integração | roles/integrations.integrationInvoker ou
roles/integrations.integrationEditor |
| Criar e editar integrações | roles/integrations.integrationEditor |
| Publicar uma integração | roles/integrations.integrationDeployer ou
roles/integrations.integrationEditor |
| Aprovar ou retomar uma execução suspensa | roles/integrations.suspensionResolver ou
roles/integrations.integrationAdmin |
| Acesso total a todas as integrações | roles/integrations.integrationAdmin |
Para conceder um papel, execute o seguinte comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:PRINCIPAL' \
--role='ROLE'
Para ver mais informações, consulte os seguintes tópicos:
- Papéis predefinidos do IAM, para conferir a lista completa de papéis e as permissões que cada um contém.
- Controle de acesso, para saber como o Application Integration usa o IAM.
Uma concessão não corrigiu o erro
- A concessão foi para o projeto errado. Ela precisa ser feita no projeto que é proprietário da conta de serviço, que não é necessariamente o proprietário da integração.
- Ainda não entrou em vigor. Aguarde alguns minutos. As decisões de autorização são armazenadas em cache brevemente, além do atraso normal de propagação do IAM.
- Há uma segunda conta de serviço envolvida. Sua conta de serviço de execução, a conta de serviço de cada perfil de autenticação e a conta de serviço de execução de cada subintegração são separadas, e cada uma precisa de uma concessão própria.
- A concessão foi para o principal errado. Para um gatilho de evento do Cloud Scheduler, Cloud Pub/Sub, Eventarc ou Integration Connectors, o principal que precisa da concessão é a conta de serviço do gatilho, não você. Consulte Quem precisa ser usuário da conta de serviço.
- O bloqueio é sua função, não a conta de serviço. O usuário da conta de serviço se refere à possibilidade de agir como a conta de serviço de execução como. Um papel separado do IAM governa se você tem permissão para realizar a ação. Consulte Erros de papéis do IAM.