Wie behebe ich die Fehler „not authorized to assume the provided role“ in AWS Step Functions?

Lesedauer: 2 Minute
0

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:

  1. Öffne die Step Functions-Konsole.
  2. Wähle im linken Navigationsbereich Zustandsmaschinen aus.
  3. Wähle unter Namen den Namen deiner Zustandsmaschine aus.
  4. 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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Monaten