Wenn ich versuche, meine AWS Step Functions-Zustandsmaschine auszuführen, erhalte ich die folgende Fehlermeldung: „Weder der globale Service-Prinzipal „states.amazonaws.com“ noch der regionale Service-Prinzipal sind berechtigt, die bereitgestellte Rolle zu übernehmen.“ Wie behebe ich das Problem?
Lösung
Stellen Sie sicher, dass für die AWS IAM-Rolle (Identity and Access Management), die Ihre Zustandsmaschine annimmt, die erforderlichen Vertrauensbeziehungen konfiguriert sind
In der Vertrauensrichtlinie der IAM-Rolle muss eine der folgenden Einheiten als vertrauenswürdige Entität aufgeführt sein:
- Ein regionaler AWS-Endpunkt: states.<region>.amazonaws.com
- Der globale AWS-Endpunkt: states.amazonaws.com
Um die Vertrauensrichtlinie der IAM-Rolle, die Ihre Zustandsmaschine annimmt, zu überprüfen und zu bearbeiten, befolgen Sie die Anweisungen unter Ändern einer Rollen-Vertrauensrichtlinie (Konsole). Weitere Informationen finden Sie unter So funktioniert AWS Step Functions mit IAM.
**Hinweis:**Wenn die StartExecution-API-Aktion aufgerufen wird, verwendet Step Functions die IAM-Rolle, die der Zustandsmaschine während der Laufzeit der Aktion zugeordnet ist. Wenn die IAM-Rolle, die die Zustandsmaschine annimmt, während der Laufzeit der Aktion geändert wird, wird die IAM-Rolle für diese API-Aktion nicht verwendet.
Stellen Sie sicher, dass die IAM-Rolle, die Ihre Zustandsmaschine annimmt, noch vorhanden ist
1.Öffnen Sie die Step Functions-Konsole.
2.Wählen Sie im linken Navigationsbereich Zustandsmaschinen aus.
3.Wählen Sie den Namen Ihrer Zustandsmaschine aus.
4.Wählen Sie im Abschnitt Details den Link unter IAM-Rolle 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 Keine Entität gefunden.
Wenn die von Ihrer Zustandsmaschine angenommene IAM-Rolle nicht vorhanden ist, erstellen Sie eine neue IAM-Rolle mit einem anderen Namen, die die erforderlichen Berechtigungen enthält. Konfigurieren Sie dann Ihre Zustandsmaschine so, dass sie die neue IAM-Rolle annimmt, die Sie erstellt haben. Weitere Informationen finden Sie unter So funktioniert AWS Step Functions mit IAM.
**Wichtig:**Die neue IAM-Rolle, die Sie erstellen, muss einen anderen Namen haben als die vorherige IAM-Rolle.