Erstellen Sie eine IAM-Rolle für Ihren State Machine - AWS Step Functions

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine IAM-Rolle für Ihren State Machine

AWS Step Functions kann Code ausführen und auf AWS Ressourcen zugreifen (z. B. eine AWS Lambda Funktion aufrufen). Zur Gewährleistung der Sicherheit müssen Sie Step Functions mithilfe einer IAM-Rolle Zugriff auf diese Ressourcen gewähren.

Die Tutorials für Step Functions in diesem Handbuch enthaltenen Funktionen ermöglichen es Ihnen, automatisch generierte IAM-Rollen zu nutzen, die für die AWS Region gültig sind, in der Sie den State Machine erstellen. Sie können jedoch Ihre eigene IAM-Rolle für eine Zustandsmaschine erstellen.

Wenn Sie eine IAM-Richtlinie für Ihre Zustandsmaschinen erstellen, sollte die Richtlinie die Berechtigungen enthalten, die die Zustandsmaschinen annehmen sollen. Sie können eine bestehende AWS verwaltete Richtlinie als Beispiel verwenden oder Sie können eine benutzerdefinierte Richtlinie von Grund auf neu erstellen, die Ihren spezifischen Anforderungen entspricht. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Erstellen von IAM-Richtlinien

Gehen Sie wie in diesem Abschnitt beschrieben vor, um Ihre eigene IAM-Rolle für eine Zustandsmaschine zu erstellen.

In diesem Beispiel erstellen Sie eine IAM-Rolle mit der Berechtigung, eine Lambda-Funktion aufzurufen.

Eine Rolle für Step Functions erstellen

  1. Melden Sie sich bei der IAM-Konsole an und wählen Sie dann Rollen, Rolle erstellen aus.

  2. Wählen Sie auf der Seite Vertrauenswürdige Entität auswählen unter AWS Service die Option Step Functions aus der Liste aus, und klicken Sie dann auf Weiter: Berechtigungen.

  3. Wählen Sie auf der Seite Attached permissions policy Next: Review aus.

  4. Geben Sie auf der Seite Review (Prüfen) StepFunctionsLambdaRole für Role Name (Rollenname) ein und wählen Sie dann Create role (Rolle erstellen).

    Die IAM-Rolle wird in der Rollenliste angezeigt.

Weitere Informationen zu IAM-Berechtigungen und -Richtlinien finden Sie unter Access Management im IAM-Benutzerhandbuch.

Vermeiden Sie dienstübergreifende Probleme mit verwirrten Stellvertretern

Das Problem des verwirrten Stellvertreters ist ein Sicherheitsproblem, bei dem eine Entität, die keine Berechtigung zur Durchführung einer Aktion hat, eine privilegiertere Entität zur Durchführung der Aktion zwingen kann. In: AWS Dienststellenübergreifender Identitätswechsel kann zu einem Problem mit dem verwirrten Stellvertreter führen. Ein serviceübergreifender Identitätswechsel kann auftreten, wenn ein Service (der Anruf-Service) einen anderen Service anruft (den aufgerufenen Service). Diese Art des Identitätswechsels kann konto- und dienstübergreifend erfolgen. Der Anruf-Dienst kann so manipuliert werden, dass er seine Berechtigungen verwendet, um auf die Ressourcen eines anderen Kunden zu reagieren, auf die er sonst nicht zugreifen dürfte.

Um zu verhindern, dass Abgeordnete verwirrt werden, AWS bietet dieses Tool Tools, mit denen Sie Ihre Daten für alle Dienste mit Dienstprinzipalen schützen können, denen Zugriff auf Ressourcen in Ihrem Konto gewährt wurde. In diesem Abschnitt geht es speziell um die Vermeidung von Problemen mit verwirrten AWS Step Functions Stellvertretern zwischen den einzelnen Diensten. Weitere Informationen zu diesem Thema finden Sie jedoch im IAM-Benutzerhandbuch im Abschnitt „Probleme mit verwirrten Stellvertretern“.

Wir empfehlen die Verwendung der Kontextschlüssel aws:SourceArnund der aws:SourceAccountglobalen Bedingungsschlüssel in Ressourcenrichtlinien, um die Berechtigungen einzuschränken, Step Functions die einem anderen Dienst den Zugriff auf Ihre Ressourcen gewähren. Verwenden Sie aws:SourceArn, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten. Verwenden Sie aws:SourceAccount, wenn Sie zulassen möchten, dass Ressourcen in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft werden.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels aws:SourceArn mit dem vollständigen ARN der Ressource. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den aws:SourceArn globalen Kontextbedingungsschlüssel mit Platzhalterzeichen (*) für die unbekannten Teile des ARN. z. B. arn:aws:states:*:111122223333:*.

Hier ist ein Beispiel für eine vertrauenswürdige Richtlinie, das zeigt, wie Sie Step Functions verwenden aws:SourceArn können, um das Problem des verwirrten Stellvertreters zu verhindern. aws:SourceAccount

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "states.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:states:us-east-1:111122223333:stateMachine:*" }, "StringEquals":{ "aws:SourceAccount":"111122223333" } } } ] }

Anfügen einer Inline-Richtlinie

Step Functions kann andere Dienste direkt in einem Task Bundesstaat steuern. Fügen Sie Inline-Richtlinien hinzu, damit Step Functions auf die API-Aktionen der Dienste zugreifen kann, die Sie kontrollieren müssen.

  1. Öffnen Sie die IAM-Konsole, wählen Sie Rollen, suchen Sie nach Ihrer Step Functions Functions-Rolle und wählen Sie diese Rolle aus.

  2. Wählen Sie Add inline Policy (Inline-Richtlinie auswählen) aus.

  3. Verwenden Sie den Visual Editor (visuellen Editor) oder die Registerkarte JSON zum Erstellen von Richtlinien für Ihre Rolle.

Weitere Informationen darüber, wie AWS Step Functions Sie andere AWS Dienste steuern können, finden Sie unterVerwendung AWS Step Functions mit anderen Diensten.

Anmerkung

Beispiele für IAM-Richtlinien, die von der Step Functions Functions-Konsole erstellt wurden, finden Sie unterIAM-Richtlinien für integrierte Dienste.