Quando provo a eseguire la macchina a stati AWS Step Functions, ricevo un messaggio di errore del tipo: "Né il responsabile del servizio globale states.amazonaws.com, né quello regionale sono autorizzati ad assumere il ruolo fornito."
Risoluzione
Verifica che siano state configurate le relazioni di fiducia richieste per il ruolo IAM assunto dalla macchina a stati
Uno dei seguenti endpoint deve essere elencato come entità attendibile nella policy di attendibilità del ruolo AWS Identity and Access Management (IAM):
- Un endpoint regionale AWS: states.region.amazonaws.com
- L'endpoint globale AWS: states.amazonaws.com
Utilizza la console IAM per aggiornare la policy di attendibilità del ruolo IAM in modo che la policy includa uno degli endpoint precedenti.
Nota: quando si chiama l'azione API StartExecution, Step Functions utilizza il ruolo IAM associato alla macchina a stati durante il runtime dell'azione. Se si modifica il ruolo IAM durante il runtime dell'azione, Step Functions non utilizza il ruolo IAM nell'azione API.
Verifica che il ruolo IAM assunto dalla macchina a stati esista ancora
Completa i seguenti passaggi:
- Apri la console Step Functions.
- Nel pannello di navigazione, scegli Macchina a stati.
- Per Nomi, scegli il nome della macchina a stati.
- Nella sezione Dettagli, scegli il link in ARN ruolo IAM. Se il ruolo IAM esiste, il ruolo viene aperto nella console IAM. Se il ruolo IAM non esiste, la console IAM apre una pagina che riporta Non è stata trovata nessuna entità.
Se il ruolo IAM assunto dalla macchina a stati non esiste, crea un nuovo ruolo IAM che includa le autorizzazioni richieste. Quindi, configura la macchina a stati in modo che assuma il nuovo ruolo IAM.
Importante: il nome del nuovo ruolo IAM deve essere diverso da quello del ruolo IAM precedente.
Per ulteriori informazioni, consulta How AWS Step Functions works with IAM (Come funziona AWS Step Functions con IAM).
Informazioni correlate
Create a serverless workflow with AWS Step Functions and AWS Lambda (Creazione di un flusso di lavoro serverless con AWS Step Functions e AWS Lambda)