Wenn ich versuche, meine AWS Step Functions-Zustandsmaschine auszuführen, erhalte ich die Fehlermeldung: „Neither the global service principal states.amazonaws.com, nor the regional one is authorized to assume the provided role.“
Lösung
Sicherstellen, dass du die erforderlichen Vertrauensbeziehungen für die IAM-Rolle konfiguriert hast, die deine Zustandsmaschine übernimmt
Einer der folgenden Endpunkte muss in der Vertrauensrichtlinie der AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Rolle als vertrauenswürdige Entität aufgeführt sein:
- Ein regionaler AWS-Endpunkt: states.region.amazonaws.com
- Der globale AWS-Endpunkt: states.amazonaws.com
Verwende die IAM-Konsole, um die Vertrauensrichtlinie der IAM-Rolle so zu aktualisieren, dass die Richtlinie einen der vorherigen Endpunkte umfasst.
Hinweis: Wenn du die API-Aktion StartExecution aufrufst, verwendet Step Functions die IAM-Rolle, die der Zustandsmaschine während der Laufzeit der API-Aktion zugeordnet ist. Wenn du die IAM-Rolle während der Laufzeit der Aktion änderst, verwendet Step Functions die IAM-Rolle nicht für die API-Aktion.
Stelle sicher, dass die IAM-Rolle, die deine Zustandsmaschine übernimmt, noch vorhanden ist
Führe die folgenden Schritte aus:
- Öffne die Step Functions-Konsole.
- Wähle im linken Navigationsbereich Zustandsmaschinen aus.
- Wähle unter Namen den Namen deiner Zustandsmaschine aus.
- Wähle im Abschnitt Details den Link unter IAM-Rollen-ARN aus. Wenn die IAM-Rolle vorhanden ist, wird die Rolle in der IAM-Konsole geöffnet. Wenn die IAM-Rolle nicht vorhanden ist, öffnet die IAM-Konsole eine Seite mit der Aufschrift Es wurde keine Entität gefunden.
Wenn die von der Zustandsmaschine angenommene IAM-Rolle nicht vorhanden ist, erstelle eine neue IAM-Rolle, die die erforderlichen Berechtigungen enthält. Konfiguriere dann die Zustandsmaschine so, dass sie die neue IAM-Rolle übernimmt.
Wichtig: Die neue IAM-Rolle muss einen anderen Namen als die vorherige IAM-Rolle haben.
Weitere Informationen findest du unter So funktioniert AWS Step Functions mit IAM.
Ähnliche Informationen
Einen Serverless-Workflow mit AWS Step Functions und AWS Lambda erstellen