

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 einer IAM-Rolle für Ihre Zustandsmaschine in Step Functions
<a name="procedure-create-iam-role"></a>

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 zum Erlernen von Step Functions](learning-resources.md#tutorials) 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*](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)

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
<a name="create-role-for-step-functions"></a>

1. Melden Sie sich bei der [IAM-Konsole](https://console.aws.amazon.com/iam/home) an und wählen Sie dann **Rollen**, **Rolle erstellen** aus.

1. **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**.

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

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) im *IAM-Benutzerhandbuch*.

## Vermeiden Sie dienstübergreifende Probleme mit verwirrten Stellvertretern
<a name="prevent-cross-service-confused-deputy"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)“.*

Wir empfehlen die Verwendung der Kontextschlüssel [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)und der [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globalen 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. 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
<a name="attach-inline-policy"></a>

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](https://console.aws.amazon.com/iam/home), wählen Sie **Rollen**, suchen Sie nach Ihrer Step Functions Functions-Rolle und wählen Sie diese Rolle aus.

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

1. 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 unter[Integration von Diensten mit Step Functions](integrate-services.md).

**Anmerkung**  
Beispiele für IAM-Richtlinien, die von der Step Functions Functions-Konsole erstellt wurden, finden Sie unter[So generiert Step Functions IAM-Richtlinien für integrierte Dienste](service-integration-iam-templates.md).