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.
Eine IAM Rolle für Ihre Zustandsmaschine in Step Functions erstellen
AWS Step Functions kann Code ausführen und auf AWS Ressourcen zugreifen (z. B. eine AWS Lambda Funktion aufrufen). Um die Sicherheit zu gewährleisten, müssen Sie Step Functions mithilfe einer IAM Rolle Zugriff auf diese Ressourcen gewähren.
Die Tutorials zum Erlernen der Verwendung von Step Functions in diesem Handbuch beschriebenen Funktionen ermöglichen es Ihnen, automatisch generierte IAM Rollen zu nutzen, die für die AWS Region gültig sind, in der Sie den Zustandsmaschine 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 IAMBenutzerhandbuch unter IAMRichtlinien erstellen
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
-
Melden Sie sich bei der IAMKonsole
an und wählen Sie dann Rollen, Rolle erstellen aus. -
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.
-
Wählen Sie auf der Seite Attached permissions policy Next: Review aus.
-
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 im IAMBenutzerhandbuch unter Access Management.
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 Prävention dienstübergreifender Stellvertreter. Weitere Informationen zu AWS Step Functions diesem Thema finden Sie jedoch im Abschnitt „Problem mit verwirrten Stellvertretern“ des Benutzerhandbuchs. IAM
Wir empfehlen die Verwendung der Kontextschlüssel aws:SourceArn
und der aws:SourceAccount
globalen Bedingungsschlüssel in Ressourcenrichtlinien, um die Berechtigungen einzuschränken, die Step Functions 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 Schutz vor dem Problem mit dem verwirrten Stellvertreter besteht darin, den Kontextschlüssel für aws:SourceArn
globale Bedingungen mit ARN der gesamten Ressource zu verwenden. Wenn Sie die Ressource nicht vollständig ARN kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den aws:SourceArn
globalen Kontextbedingungsschlüssel mit Platzhalterzeichen (*
) für die unbekannten Teile von. ARN Beispiel, 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.
-
Öffnen Sie die IAMKonsole
, wählen Sie Rollen, suchen Sie nach Ihrer Step Functions Functions-Rolle und wählen Sie diese Rolle aus. -
Wählen Sie Add inline Policy (Inline-Richtlinie auswählen) aus.
-
Verwenden Sie den Visual Editor oder die JSONRegisterkarte, um Richtlinien für Ihre Rolle zu erstellen.
Weitere Informationen darüber, wie AWS Step Functions Sie andere AWS Dienste steuern können, finden Sie unterIntegration anderer Dienste mit Step Functions.
Anmerkung
Beispiele für IAM Richtlinien, die von der Step Functions Functions-Konsole erstellt wurden, finden Sie unterSo generiert Step Functions IAM Richtlinien für integrierte Dienste.