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:

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.
  • Una chiamata API restituisce l'errore e non viene visualizzato nulla nei log di esecuzione.
  • Un trigger di evento Cloud Pub/Sub, Eventarc o Integration Connectors registra un'esecuzione non riuscita nei log di esecuzione e l'evento non viene inviato di nuovo.
  • Un job Cloud Scheduler segnala un errore PERMISSION_DENIED.
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:
  • Attività senza identità, come connettori, chiamata endpoint REST o attività di funzioni Cloud Run.
  • Esecuzioni asincrone, con il seguente errore: Integration NAME needs a run-as service account to run asynchronously via trigger TRIGGER_ID.
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:
  • La sotto-integrazione viene chiamata in modo asincrono e non ha un service account run-as, anche se l'integrazione chiamante ne ha uno: Integration NAME needs a run-as service account to run asynchronously via trigger TRIGGER_ID.
  • Chiunque abbia avviato l'integrazione delle chiamate o il account di servizio di esecuzione dell'integrazione delle chiamate non può fungere da service account di esecuzione dell'integrazione secondaria: PRINCIPAL needs roles/iam.serviceAccountUser on SERVICE_ACCOUNT (or its project) to run this integration.
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:

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.