Risolvere i problemi relativi agli errori di autorizzazione
Questa pagina fa parte di Prepararsi alle imminenti modifiche all'autorizzazione. Vengono spiegati gli errori che potresti riscontrare e come risolverli.
Un'azione rifiutata ha una delle due cause seguenti, che vale la pena distinguere:
- Il service account Esegui come: non puoi agire per suo conto o non può accedere a ciò che richiede un'attività. Consulta la sezione Errori del account di servizio Esegui come.
- Il tuo ruolo IAM: non ti è consentito eseguire l'azione. Consulta Errori del ruolo IAM.
Entrambi i controlli vengono applicati, quindi la correzione di uno non comporta la correzione dell'altro.
Errori del account di servizio Run-as
Alcuni di questi controlli sono ancora in fase di implementazione, quindi potresti non visualizzare ancora tutti gli errori. Nei
messaggi, PRINCIPAL è l'account che è stato controllato. Viene visualizzato
The caller quando non è possibile assegnare un nome all'account.
| Situazione | Cosa vedrai | Cosa fare |
|---|---|---|
| Una persona, un'automazione o un trigger avvia un'integrazione, ma non può fungere da account di serviziot di esecuzione | L'esecuzione viene rifiutata con il seguente errore:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to run this integration.
|
Concedi il ruolo Service Account User a chiunque lo avvii. Per un trigger, è l'account di servizio del trigger. |
| Un'integrazione creata a partire dal 15 ottobre 2026 con un trigger diverso da API o Privato non ha un account di servizio Esegui come. | La pubblicazione e il test non riescono a causa del seguente errore:
Set a run-as service account. These triggers run with no caller:
TRIGGERS. Required for integrations created on or after October 15,
2026 (UTC). |
Imposta un service account run-as |
| Un'esecuzione senza credenziali utente non ha un account di servizio di esecuzione. | Se la governance dell'integrazione è attivata per la regione, la pubblicazione e il test non vanno a buon fine
con il seguente errore, indipendentemente dalla data di creazione dell'integrazione:
Your project requires a run-as service account. Set one before publish or
test.
La governance è l'impostazione Attiva governance descritta in
Modifica
regione.
Per le regioni senza governance, il sistema non rifiuta queste esecuzioni a partire dal
15 ottobre 2026. Tuttavia, è previsto che i seguenti elementi non funzionino in una release futura:
|
Imposta un service account run-as |
| Un'attività di integrazione delle chiamate non può avviare la relativa integrazione secondaria | L'attività Integrazione chiamate dell'integrazione chiamate non riesce per uno dei seguenti
motivi:
|
Imposta un service account run-as nell'integrazione secondaria o chiamalo in modo sincrono. Poi concedi il ruolo Utente service account. |
| Un utente pubblica o testa un'integrazione che utilizza un profilo di autenticazione il cui account di servizio non può utilizzare o un'esecuzione raggiunge un'attività che lo utilizza | La pubblicazione o il test non va a buon fine oppure l'attività non va a buon fine e viene visualizzato il seguente errore:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to use auth config
"AUTH_PROFILE_NAME". Se il resto dell'esecuzione continua
dipende da come l'attività gestisce gli errori. |
Concedi Utente service account all'account indicato nel profilo |
| Un utente crea o modifica un profilo di autenticazione service account o token OIDC senza l'autorizzazione ad agire come account di servizio. | Il salvataggio del profilo non riesce e viene visualizzato il seguente errore:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to save this auth config. |
Concedi il ruolo Utente service account all'account indicato nel profilo a chi lo gestisce |
| Un approvatore non può fungere da account di servizio run-as | L'approvazione o la ripresa dell'esecuzione non va a buon fine e viene visualizzato il seguente errore:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to resume this execution.
L'esecuzione rimane in pausa fino alla scadenza, quindi le approvazioni possono sembrare non funzionare più |
Concedi il ruolo Utente service account a tutti coloro che potrebbero approvare |
| Qualcuno pubblica o testa un'integrazione senza l'autorizzazione ad agire come account di servizio run-as. | PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to publish or test this
integration. Tutto ciò che è già stato pubblicato continua a essere eseguito. Se l'automazione
pubblica per te, questa viene visualizzata nella pipeline di deployment anziché nella
console |
Concedi l'autorizzazione Utente service account a publisher, tester e automazione |
| Un'attività viene eseguita come la persona che l'ha attivata e questa persona non può accedere alla risorsa. In una nuova integrazione e, a partire dal 15 ottobre 2026, in un test di qualsiasi integrazione, le attività JavaScript, script di trasformazione dei dati e mappatura dei dati vengono eseguite in questo modo | L'esecuzione inizia normalmente, poi un'attività non riesce a denominare una risorsa, anche se non è cambiato nulla nell'integrazione | Concedi a queste persone l'accesso alla risorsa o sposta l'integrazione su un account di servizio Esegui come che lo abbia già, di solito la risposta migliore, poiché impedisce che l'accesso dell'integrazione vari a seconda di chi la esegue |
Per l'elenco completo dei codici di errore di Application Integration, consulta Codici di errore.
Errori relativi ai ruoli IAM
Oltre all'account di servizio Esegui come, Application Integration verifica le autorizzazioni IAM dell'utente
per ogni azione. Se riscontri un errore PERMISSION_DENIED durante l'interazione con un'integrazione o se i log di esecuzione non vengono caricati, assicurati di disporre di un ruolo che conceda le autorizzazioni richieste:
| Per farlo: | Devi disporre di uno di questi ruoli |
|---|---|
| Visualizzare e aprire le integrazioni | roles/integrations.integrationViewer |
| Visualizzare i log di esecuzione e i dettagli | roles/integrations.integrationViewer o
roles/integrations.integrationInvoker |
| Eseguire un'integrazione | roles/integrations.integrationInvoker o
roles/integrations.integrationEditor |
| Creare e modificare le integrazioni | roles/integrations.integrationEditor |
| Pubblicare un'integrazione | roles/integrations.integrationDeployer o
roles/integrations.integrationEditor |
| Approvare o riprendere un'esecuzione sospesa | roles/integrations.suspensionResolver o
roles/integrations.integrationAdmin |
| Accesso completo a tutte le integrazioni | roles/integrations.integrationAdmin |
Per concedere un ruolo, esegui questo comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:PRINCIPAL' \
--role='ROLE'
Per ulteriori informazioni, consulta le seguenti risorse:
- Ruoli IAM predefiniti, per l'elenco completo dei ruoli e delle autorizzazioni contenute in ciascuno.
- Controllo dell'accesso, per scoprire come Application Integration utilizza IAM.
Una concessione non ha risolto l'errore
- La sovvenzione è stata assegnata al progetto sbagliato. Deve essere eseguita nel progetto che possiede il service account, che non è necessariamente quello che possiede l'integrazione.
- Non è ancora entrato in vigore. Attendi qualche minuto. Le decisioni di autorizzazione vengono memorizzate brevemente nella cache, oltre al normale ritardo di propagazione di IAM.
- È coinvolto un secondo account di servizio account. Il account di servizio run-as, il account di servizio di ogni profilo di autenticazione e il service account run-as di ogni integrazione secondaria sono separati e ognuno richiede la propria concessione.
- La concessione è stata assegnata all'entità sbagliata. Per un trigger di eventi Cloud Scheduler, Cloud Pub/Sub, Eventarc o Integration Connectors, l'entità che necessita della concessione è il account di servizio del trigger, non tu. Vedi Chi ha bisogno dell'utente account di servizio.
- Il blocco è il tuo ruolo, non il service account. Utente service account riguarda la possibilità di agire come il account di servizio run-as; un ruolo IAM separato stabilisce se ti è consentito eseguire l'azione. Consulta Errori dei ruoli IAM.