

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.

# Funktionen für Identity and Access Management in Step
<a name="auth-and-access-control-sfn"></a>

In den folgenden Abschnitten erfahren Sie, wie Sie [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) und Step Functions verwenden können, um Ihre Ressourcen zu schützen, indem Sie kontrollieren, wer darauf zugreifen kann. Sie erfahren beispielsweise, wie Sie Anmeldeinformationen AWS Step Functions mit Berechtigungen für den Zugriff auf AWS Ressourcen bereitstellen, z. B. für das Abrufen von Ereignisdaten aus anderen AWS Ressourcen.

AWS Identity and Access Management (IAM) hilft einem Administrator AWS-Service , den Zugriff auf Ressourcen sicher zu AWS kontrollieren. IAM-Administratoren kontrollieren, wer *authentifiziert* (angemeldet) und *autorisiert* werden kann (über Berechtigungen verfügt), um Step Functions Functions-Ressourcen zu verwenden. IAM ist ein Programm AWS-Service , das Sie ohne zusätzliche Kosten nutzen können.

## Zielgruppe
<a name="security_iam_audience"></a>

Wie Sie AWS Identity and Access Management (IAM) verwenden, hängt von Ihrer Rolle ab:
+ **Servicebenutzer** – Fordern Sie von Ihrem Administrator Berechtigungen an, wenn Sie nicht auf Features zugreifen können (siehe [Behebung von Identitäts- und Zugriffsproblemen in Step Functions](security_iam_troubleshoot.md)).
+ **Serviceadministrator** – Bestimmen Sie den Benutzerzugriff und stellen Sie Berechtigungsanfragen (siehe [Wie AWS Step Functions funktioniert mit IAM](security_iam_service-with-iam.md)).
+ **IAM-Administrator** – Schreiben Sie Richtlinien zur Zugriffsverwaltung (siehe [Beispiele für identitätsbasierte Richtlinien für AWS Step Functions](security_iam_id-based-policy-examples.md)).

## Authentifizierung mit Identitäten
<a name="security_iam_authentication"></a>

Authentifizierung ist die Art und Weise, wie Sie sich AWS mit Ihren Identitätsdaten anmelden. Sie müssen sich als IAM-Benutzer authentifizieren oder eine IAM-Rolle annehmen. Root-Benutzer des AWS-Kontos

Sie können sich als föderierte Identität anmelden, indem Sie Anmeldeinformationen aus einer Identitätsquelle wie AWS IAM Identity Center (IAM Identity Center), Single Sign-On-Authentifizierung oder Anmeldeinformationen verwenden. Google/Facebook Weitere Informationen zum Anmelden finden Sie unter [So melden Sie sich bei Ihrem AWS-Konto an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *Benutzerhandbuch für AWS-Anmeldung *.

 AWS Bietet für den programmatischen Zugriff ein SDK und eine CLI zum kryptografischen Signieren von Anfragen. Weitere Informationen finden Sie unter [AWS Signature Version 4 for API requests](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) im *IAM-Benutzerhandbuch*.

### AWS-Konto Root-Benutzer
<a name="security_iam_authentication-rootuser"></a>

 Wenn Sie einen erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, dem sogenannten AWS-Konto *Root-Benutzer*, der vollständigen Zugriff auf alle AWS-Services Ressourcen hat. Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden. Eine Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter [Tasks that require root user credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) im *IAM-Benutzerhandbuch*. 

### Verbundidentität
<a name="security_iam_authentication-federated"></a>

Es hat sich bewährt, dass menschliche Benutzer für den Zugriff AWS-Services mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter verwenden müssen.

Eine *föderierte Identität* ist ein Benutzer aus Ihrem Unternehmensverzeichnis, Ihrem Directory Service Web-Identitätsanbieter oder der AWS-Services mithilfe von Anmeldeinformationen aus einer Identitätsquelle zugreift. Verbundene Identitäten übernehmen Rollen, die temporäre Anmeldeinformationen bereitstellen.

Für die zentrale Zugriffsverwaltung empfehlen wir AWS IAM Identity Center. Weitere Informationen finden Sie unter [Was ist IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) im *AWS IAM Identity Center -Benutzerhandbuch*.

### IAM-Benutzer und -Gruppen
<a name="security_iam_authentication-iamuser"></a>

Ein *[IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* ist eine Identität mit bestimmten Berechtigungen für eine einzelne Person oder Anwendung. Wir empfehlen die Verwendung temporärer Anmeldeinformationen anstelle von IAM-Benutzern mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [Erfordern, dass menschliche Benutzer den Verbund mit einem Identitätsanbieter verwenden müssen, um AWS mithilfe temporärer Anmeldeinformationen darauf zugreifen zu](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) können.

Eine [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spezifiziert eine Sammlung von IAM-Benutzern und erleichtert die Verwaltung von Berechtigungen für große Gruppen von Benutzern. Weitere Informationen finden Sie unter [Anwendungsfälle für IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) im *IAM-Benutzerhandbuch*.

### IAM-Rollen
<a name="security_iam_authentication-iamrole"></a>

Eine *[IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* ist eine Identität mit spezifischen Berechtigungen, die temporäre Anmeldeinformationen bereitstellt. Sie können eine Rolle übernehmen, indem Sie [von einer Benutzer- zu einer IAM-Rolle (Konsole) wechseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) AWS CLI oder einen AWS API-Vorgang aufrufen. Weitere Informationen finden Sie unter [Methoden, um eine Rolle zu übernehmen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) im *IAM-Benutzerhandbuch*.

IAM-Rollen sind nützlich für den Verbundbenutzer-Zugriff, temporäre IAM-Benutzerberechtigungen, kontoübergreifenden Zugriff, serviceübergreifenden Zugriff und Anwendungen, die auf Amazon EC2 laufen. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

## Verwalten des Zugriffs mit Richtlinien
<a name="security_iam_access-manage"></a>

Sie kontrollieren den Zugriff, AWS indem Sie Richtlinien erstellen und diese an AWS Identitäten oder Ressourcen anhängen. Eine Richtlinie definiert Berechtigungen, wenn sie mit einer Identität oder Ressource verknüpft sind. AWS bewertet diese Richtlinien, wenn ein Principal eine Anfrage stellt. Die meisten Richtlinien werden AWS als JSON-Dokumente gespeichert. Weitere Informationen zu JSON-Richtliniendokumenten finden Sie unter [Übersicht über JSON-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) im *IAM-Benutzerhandbuch*.

Mit Hilfe von Richtlinien legen Administratoren fest, wer Zugriff auf was hat, indem sie definieren, welches **Prinzipal** welche **Aktionen** auf welchen **Ressourcen**und unter welchen **Bedingungen**durchführen darf.

Standardmäßig haben Benutzer, Gruppen und Rollen keine Berechtigungen. Ein IAM-Administrator erstellt IAM-Richtlinien und fügt sie zu Rollen hinzu, die die Benutzer dann übernehmen können. IAM-Richtlinien definieren Berechtigungen unabhängig von der Methode, die zur Ausführung der Operation verwendet wird.

### Identitätsbasierte Richtlinien
<a name="security_iam_access-manage-id-based-policies"></a>

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität (Benutzer, Gruppe oder Rolle) anfügen können. Diese Richtlinien steuern, welche Aktionen Identitäten für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter [Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Identitätsbasierte Richtlinien können *Inline-Richtlinien* (direkt in eine einzelne Identität eingebettet) oder *verwaltete Richtlinien* (eigenständige Richtlinien, die mit mehreren Identitäten verbunden sind) sein. Informationen dazu, wie Sie zwischen verwalteten und Inline-Richtlinien wählen, finden Sie unter [Choose between managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) im *IAM-Benutzerhandbuch*.

### Ressourcenbasierte Richtlinien
<a name="security_iam_access-manage-resource-based-policies"></a>

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele hierfür sind *Vertrauensrichtlinien für IAM-Rollen* und Amazon S3*-Bucket-Richtlinien*. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Sie müssen in einer ressourcenbasierten Richtlinie [einen Prinzipal angeben](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

Ressourcenbasierte Richtlinien sind Richtlinien innerhalb dieses Diensts. Sie können AWS verwaltete Richtlinien von IAM nicht in einer ressourcenbasierten Richtlinie verwenden.

### Weitere Richtlinientypen
<a name="security_iam_access-manage-other-policies"></a>

AWS unterstützt zusätzliche Richtlinientypen, mit denen die maximalen Berechtigungen festgelegt werden können, die durch gängigere Richtlinientypen gewährt werden:
+ **Berechtigungsgrenzen** – Eine Berechtigungsgrenze legt die maximalen Berechtigungen fest, die eine identitätsbasierte Richtlinie einer IAM-Entität erteilen kann. Weitere Informationen finden Sie unter [Berechtigungsgrenzen für IAM-Entitäten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) im *-IAM-Benutzerhandbuch*.
+ **Richtlinien zur Dienstkontrolle (SCPs)** — Geben Sie die maximalen Berechtigungen für eine Organisation oder Organisationseinheit in an AWS Organizations. Weitere Informationen finden Sie unter [Service-Kontrollrichtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) im *AWS Organizations -Benutzerhandbuch*.
+ **Richtlinien zur Ressourcenkontrolle (RCPs)** — Legen Sie die maximal verfügbaren Berechtigungen für Ressourcen in Ihren Konten fest. Weitere Informationen finden Sie im *AWS Organizations Benutzerhandbuch* unter [Richtlinien zur Ressourcenkontrolle (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html).
+ **Sitzungsrichtlinien** – Sitzungsrichtlinien sind erweiterte Richtlinien, die als Parameter übergeben werden, wenn Sie eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer erstellen. Weitere Informationen finden Sie unter [Sitzungsrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) im *IAM-Benutzerhandbuch*.

### Mehrere Richtlinientypen
<a name="security_iam_access-manage-multiple-policies"></a>

Wenn für eine Anfrage mehrere Arten von Richtlinien gelten, sind die daraus resultierenden Berechtigungen schwieriger zu verstehen. Informationen darüber, wie AWS bestimmt wird, ob eine Anfrage zulässig ist, wenn mehrere Richtlinientypen betroffen sind, finden Sie unter [Bewertungslogik für Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) im *IAM-Benutzerhandbuch*.

## Zugriffskontrolle
<a name="access-control-sfn"></a>

Sie können über gültige Anmeldeinformationen verfügen, um Ihre Anfragen zu authentifizieren, aber ohne die entsprechenden Berechtigungen können Sie keine Step Functions Functions-Ressourcen erstellen oder darauf zugreifen. Sie benötigen beispielsweise Berechtigungen zum Aufrufen AWS Lambda von Zielen für Amazon Simple Notification Service (Amazon SNS) und Amazon Simple Queue Service (Amazon SQS), die mit Ihren Step Functions Functions-Regeln verknüpft sind.

In den folgenden Abschnitten wird beschrieben, wie Sie Berechtigungen für Step Functions verwalten.
+ [Erstellen einer IAM-Rolle für Ihre Zustandsmaschine in Step Functions](procedure-create-iam-role.md)
+ [Erstellung detaillierter Berechtigungen für Benutzer ohne Administratorrechte in Step Functions](concept-create-iam-advanced.md)
+ [Amazon VPC-Endpoints für Step Functions erstellen](vpc-endpoints.md)
+ [So generiert Step Functions IAM-Richtlinien für integrierte Dienste](service-integration-iam-templates.md)
+ [IAM-Richtlinien für die Verwendung von Distributed Map-Status](iam-policies-eg-dist-map.md)

# Wie AWS Step Functions funktioniert mit IAM
<a name="security_iam_service-with-iam"></a>

Bevor Sie IAM verwenden, um den Zugriff auf Step Functions zu verwalten, sollten Sie sich darüber informieren, welche IAM-Funktionen für die Verwendung mit Step Functions verfügbar sind.

In der folgenden Tabelle sind die IAM-Funktionen aufgeführt, die Sie mit verwenden können: AWS Step Functions


| IAM-Feature | Unterstützung von Step Functions | 
| --- | --- | 
|  [Identitätsbasierte Richtlinien](#security_iam_service-with-iam-id-based-policies)  |   Ja  | 
|  [Ressourcenbasierte Richtlinien](#security_iam_service-with-iam-resource-based-policies)  |   Nein   | 
|  [Richtlinienaktionen](#security_iam_service-with-iam-id-based-policies-actions)  |   Ja  | 
|  [Richtlinienressourcen](#security_iam_service-with-iam-id-based-policies-resources)  |   Ja  | 
|  [Richtlinienbedingungsschlüssel (servicespezifisch)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Ja  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Nein   | 
|  [ABAC (Tags in Richtlinien)](#security_iam_service-with-iam-tags)  |   Teilweise  | 
|  [Temporäre Anmeldeinformationen](#security_iam_service-with-iam-roles-tempcreds)  |   Ja  | 
|  [Prinzipalberechtigungen](#security_iam_service-with-iam-principal-permissions)  |   Ja  | 
|  [Servicerollen](#security_iam_service-with-iam-roles-service)  |   Ja  | 
|  [Service-verknüpfte Rollen](#security_iam_service-with-iam-roles-service-linked)  |   Nein   | 

Einen allgemeinen Überblick darüber, wie Step Functions und andere AWS Dienste mit den meisten IAM-Funktionen funktionieren, finden Sie im [IAM-Benutzerhandbuch unter AWS Dienste, die mit *IAM* funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

## Identitätsbasierte Richtlinien für Step Functions
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Unterstützt Richtlinien auf Identitätsbasis:** Ja

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität anfügen können, wie z. B. IAM-Benutzern, -Benutzergruppen oder -Rollen. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter [Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der [IAM-Referenz für JSON-Richtlinienelemente](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) im *IAM-Benutzerhandbuch*.

### Beispiele für identitätsbasierte Richtlinien für Step Functions
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Beispiele für identitätsbasierte Richtlinien von Step Functions finden Sie unter. [Beispiele für identitätsbasierte Richtlinien für AWS Step Functions](security_iam_id-based-policy-examples.md)

## Ressourcenbasierte Richtlinien innerhalb von Step Functions
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Unterstützt ressourcenbasierte Richtlinien:** Nein 

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele für ressourcenbasierte Richtlinien sind IAM-*Rollen-Vertrauensrichtlinien* und Amazon-S3-*Bucket-Richtlinien*. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Für die Ressource, an welche die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie [einen Prinzipal angeben](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Zu den Prinzipalen können Konten, Benutzer, Rollen, Verbundbenutzer oder gehören. AWS-Services

Um kontoübergreifenden Zugriff zu ermöglichen, können Sie ein gesamtes Konto oder IAM-Entitäten in einem anderen Konto als Prinzipal in einer ressourcenbasierten Richtlinie angeben. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

## Richtlinienaktionen für Step Functions
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Unterstützt Richtlinienaktionen:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Action` einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Nehmen Sie Aktionen in eine Richtlinie auf, um Berechtigungen zur Ausführung des zugehörigen Vorgangs zu erteilen.

Eine Liste der Step Functions Functions-Aktionen finden Sie unter [Resources Defined by AWS Step Functions](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsstepfunctions.html) in der *Service Authorization Reference*.

Richtlinienaktionen in Step Functions verwenden das folgende Präfix vor der Aktion:

```
states
```

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Kommata:

```
"Action": [
          "states:action1",
          "states:action2"
             ]
```

Beispiele für identitätsbasierte Richtlinien von Step Functions finden Sie unter. [Beispiele für identitätsbasierte Richtlinien für AWS Step Functions](security_iam_id-based-policy-examples.md)

## Richtlinienressourcen für Step Functions
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Unterstützt Richtlinienressourcen:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das JSON-Richtlinienelement `Resource` gibt die Objekte an, auf welche die Aktion angewendet wird. Als Best Practice geben Sie eine Ressource mit dem zugehörigen [Amazon-Ressourcennamen (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) an. Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, einen Platzhalter (\$1), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

```
"Resource": "*"
```

Eine Liste der Ressourcentypen von Step Functions und deren Eigenschaften ARNs finden Sie unter [Definierte Aktionen von AWS Step Functions](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsstepfunctions.html) in der *Serviceautorisierungsreferenz*. Informationen darüber, mit welchen Aktionen Sie den ARN jeder Ressource angeben können, finden Sie unter [Ressourcen definiert von AWS Step Functions](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsstepfunctions.html).

Beispiele für identitätsbasierte Richtlinien von Step Functions finden Sie unter. [Beispiele für identitätsbasierte Richtlinien für AWS Step Functions](security_iam_id-based-policy-examples.md)

## Richtlinien-Bedingungsschlüssel für Step Functions
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Unterstützt servicespezifische Richtlinienbedingungsschlüssel:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Condition` gibt an, wann Anweisungen auf der Grundlage definierter Kriterien ausgeführt werden. Sie können bedingte Ausdrücke erstellen, die [Bedingungsoperatoren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter [Kontextschlüssel für AWS globale Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

Eine Liste der Bedingungstasten von Step Functions finden Sie unter [Bedingungsschlüssel für AWS Step Functions](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsstepfunctions.html) in der *Service Authorization Reference*. Informationen zu den Aktionen und Ressourcen, mit denen Sie einen Bedingungsschlüssel verwenden können, finden Sie unter [Ressourcen definiert durch AWS Step Functions](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsstepfunctions.html).

 Wenn Ihre Richtlinie vom Prinzipalnamen des Step Functions Functions-Dienstes abhängen muss, empfehlen wir Ihnen, zu überprüfen, ob der `states.amazonaws.com` `aws:PrincipalServiceNamesList` [mehrwertige Kontextschlüssel existiert oder nicht, ob der `aws:PrincipalServiceName` Bedingungsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html#reference_policies_condition-multi-valued-context-keys) existiert oder nicht. Der `aws:PrincipalServiceName` Bedingungsschlüssel enthält nur einen Eintrag aus der Liste der Dienstprinzipalnamen, was möglicherweise nicht immer der Fall ist. `states.amazonaws.com` Der folgende Bedingungsblock veranschaulicht die Überprüfung auf das Vorhandensein von`states.amazonaws.com`. 

```
{
    "Condition": {
        "ForAnyValue:StringEquals": {
            "aws:PrincipalServiceNamesList": "states.amazonaws.com"
        }
    }
}
```

Beispiele für identitätsbasierte Richtlinien von Step Functions finden Sie unter. [Beispiele für identitätsbasierte Richtlinien für AWS Step Functions](security_iam_id-based-policy-examples.md)

## ACLs In-Step-Funktionen
<a name="security_iam_service-with-iam-acls"></a>

**Unterstützt ACLs:** Nein 

Zugriffskontrolllisten (ACLs) steuern, welche Principals (Kontomitglieder, Benutzer oder Rollen) über Zugriffsberechtigungen für eine Ressource verfügen. ACLs ähneln ressourcenbasierten Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

## ABAC mit Step Functions
<a name="security_iam_service-with-iam-tags"></a>

**Unterstützt ABAC (Tags in Richtlinien):** Teilweise

Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen basierend auf Attributen, auch als Tags bezeichnet, definiert werden. Sie können Tags an IAM-Entitäten und AWS -Ressourcen anhängen und dann ABAC-Richtlinien entwerfen, die Operationen zulassen, wenn das Tag des Prinzipals mit dem Tag auf der Ressource übereinstimmt.

Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer[ Richtlinie Tag-Informationen ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)an, indem Sie die Schlüssel `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, oder Bedingung `aws:TagKeys` verwenden.

Wenn ein Service alle drei Bedingungsschlüssel für jeden Ressourcentyp unterstützt, lautet der Wert für den Service **Ja**. Wenn ein Service alle drei Bedingungsschlüssel für nur einige Ressourcentypen unterstützt, lautet der Wert **Teilweise**.

*Weitere Informationen zu ABAC finden Sie unter [Definieren von Berechtigungen mit ABAC-Autorisierung](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) im IAM-Benutzerhandbuch*. Um ein Tutorial mit Schritten zur Einstellung von ABAC anzuzeigen, siehe [Attributbasierte Zugriffskontrolle (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) verwenden im *IAM-Benutzerhandbuch*.

## Temporäre Anmeldeinformationen mit Step Functions verwenden
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Unterstützt temporäre Anmeldeinformationen:** Ja

Temporäre Anmeldeinformationen ermöglichen kurzfristigen Zugriff auf AWS Ressourcen und werden automatisch erstellt, wenn Sie einen Verbund verwenden oder die Rollen wechseln. AWS empfiehlt, temporäre Anmeldeinformationen dynamisch zu generieren, anstatt langfristige Zugriffsschlüssel zu verwenden. Weitere Informationen finden Sie unter [Temporäre Anmeldeinformationen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) und [AWS-Services , die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) im *IAM-Benutzerhandbuch*.

## Serviceübergreifende Prinzipalberechtigungen für Step Functions
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Unterstützt Forward Access Sessions (FAS):** Ja

 Forward Access Sessions (FAS) verwenden die Berechtigungen des Prinzipals, der einen aufruft AWS-Service, kombiniert mit der Anforderung, Anfragen an nachgelagerte Dienste AWS-Service zu stellen. Einzelheiten zu den Richtlinien für FAS-Anforderungen finden Sie unter [Zugriffssitzungen weiterleiten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Servicerollen für Step Functions
<a name="security_iam_service-with-iam-roles-service"></a>

**Unterstützt Servicerollen:** Ja

 Eine Servicerolle ist eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html), die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*. 

**Warnung**  
Durch das Ändern der Berechtigungen für eine Servicerolle kann die Funktionalität von Step Functions beeinträchtigt werden. Bearbeiten Sie Servicerollen nur, wenn Step Functions Sie dazu anleitet.

## Serviceverknüpfte Rollen für Step Functions
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Unterstützt serviceverknüpfte Rollen:** Ja 

 Eine serviceverknüpfte Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten. 

Details zum Erstellen oder Verwalten von serviceverknüpften Rollen finden Sie unter [AWS -Services, die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Suchen Sie in der Tabelle nach einem Service mit einem `Yes` in der Spalte **Service-linked role** (Serviceverknüpfte Rolle). Wählen Sie den Link **Yes** (Ja) aus, um die Dokumentation für die serviceverknüpfte Rolle für diesen Service anzuzeigen.

# Beispiele für identitätsbasierte Richtlinien für AWS Step Functions
<a name="security_iam_id-based-policy-examples"></a>

Standardmäßig sind Benutzer und Rollen nicht berechtigt, Step Functions Functions-Ressourcen zu erstellen oder zu ändern. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter [Erstellen von IAM-Richtlinien (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) im *IAM-Benutzerhandbuch*.

Einzelheiten zu den von Step Functions definierten Aktionen und Ressourcentypen, einschließlich des Formats der ARNs für jeden Ressourcentyp, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für AWS Step Functions](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsstepfunctions.html) in der *Service Authorization Reference*.

**Topics**
+ [Best Practices für Richtlinien](#security_iam_service-with-iam-policy-best-practices)
+ [Verwenden der Step Functions Functions-Konsole](#security_iam_id-based-policy-examples-console)
+ [Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer](#security_iam_id-based-policy-examples-view-own-permissions)

## Best Practices für Richtlinien
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Identitätsbasierte Richtlinien legen fest, ob jemand Step Functions Functions-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder diese löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Beachten Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Richtlinien und Empfehlungen:
+ **Erste Schritte mit AWS verwalteten Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten** — Verwenden Sie die *AWS verwalteten Richtlinien*, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um damit zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter [Von AWS verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) oder [Von AWS verwaltete Richtlinien für Auftragsfunktionen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) im *IAM-Benutzerhandbuch*.
+ **Anwendung von Berechtigungen mit den geringsten Rechten** – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als *die geringsten Berechtigungen*. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter [ Richtlinien und Berechtigungen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs** – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. CloudFormation B. Weitere Informationen finden Sie unter [IAM-JSON-Richtlinienelemente: Bedingung](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten** – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter [Richtlinienvalidierung mit IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) im *IAM-Benutzerhandbuch*.
+ **Multi-Faktor-Authentifizierung (MFA) erforderlich** — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter [Sicherer API-Zugriff mit MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) im *IAM-Benutzerhandbuch*.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter [Best Practices für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

## Verwenden der Step Functions Functions-Konsole
<a name="security_iam_id-based-policy-examples-console"></a>

Um auf die AWS Step Functions Konsole zugreifen zu können, benötigen Sie ein Mindestmaß an Berechtigungen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den Step Functions Functions-Ressourcen in Ihrem aufzulisten und anzuzeigen AWS-Konto. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Entitäten (Benutzer oder Rollen) mit dieser Richtlinie.

Sie müssen Benutzern, die nur die API AWS CLI oder die AWS API aufrufen, keine Mindestberechtigungen für die Konsole gewähren. Stattdessen sollten Sie nur Zugriff auf die Aktionen zulassen, die der API-Operation entsprechen, die die Benutzer ausführen möchten.

Um sicherzustellen, dass Benutzer und Rollen die Step Functions-Konsole weiterhin verwenden können, fügen Sie den Entitäten auch die Step Functions `ConsoleAccess` oder die `ReadOnly` AWS verwaltete Richtlinie hinzu. Weitere Informationen finden Sie unter [Hinzufügen von Berechtigungen zu einem Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

## Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe der API AWS CLI oder AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# AWS verwaltete Richtlinien für AWS Step Functions
<a name="security-iam-awsmanpol"></a>





Eine AWS verwaltete Richtlinie ist eine eigenständige Richtlinie, die von erstellt und verwaltet wird AWS. AWS Verwaltete Richtlinien sind so konzipiert, dass sie Berechtigungen für viele gängige Anwendungsfälle bereitstellen, sodass Sie damit beginnen können, Benutzern, Gruppen und Rollen Berechtigungen zuzuweisen.

Denken Sie daran, dass AWS verwaltete Richtlinien für Ihre speziellen Anwendungsfälle möglicherweise keine Berechtigungen mit den geringsten Rechten gewähren, da sie für alle AWS Kunden verfügbar sind. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie [vom Kunden verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind.

Sie können die in AWS verwalteten Richtlinien definierten Berechtigungen nicht ändern. Wenn die in einer AWS verwalteten Richtlinie definierten Berechtigungen AWS aktualisiert werden, wirkt sich das Update auf alle Prinzidentitäten (Benutzer, Gruppen und Rollen) aus, denen die Richtlinie zugeordnet ist. AWS aktualisiert eine AWS verwaltete Richtlinie höchstwahrscheinlich, wenn eine neue Richtlinie eingeführt AWS-Service wird oder neue API-Operationen für bestehende Dienste verfügbar werden.

Weitere Informationen finden Sie unter [Von AWS verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) im *IAM-Benutzerhandbuch*.









## AWS verwaltete Richtlinie: AWSStep FunctionsConsoleFullAccess
<a name="security-iam-awsmanpol-AWSStepFunctionsConsoleFullAccess"></a>

Sie können die [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSStepFunctionsConsoleFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSStepFunctionsConsoleFullAccess.html)-Richtlinie an Ihre IAM-Identitäten anfügen.

Diese Richtlinie gewährt einem Benutzer *administrator* Berechtigungen, die es einem Benutzer ermöglichen, die Step Functions Functions-Konsole zu verwenden. Für ein vollständiges Konsolenerlebnis benötigt ein Benutzer möglicherweise auch iam: PassRole -Berechtigungen für andere IAM-Rollen, die vom Dienst übernommen werden können.

## AWS verwaltete Richtlinie: AWSStep FunctionsReadOnlyAccess
<a name="security-iam-awsmanpol-AWSStepFunctionsReadOnlyAccess"></a>

Sie können die [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSStepFunctionsReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSStepFunctionsReadOnlyAccess.html)-Richtlinie an Ihre IAM-Identitäten anfügen.

Diese Richtlinie gewährt einem Benutzer oder einer Rolle *read-only* Berechtigungen, die es einem Benutzer oder einer Rolle ermöglichen, Zustandsmaschinen, Aktivitäten MapRuns, Tags sowie Alias und Versionen von Zustandsmaschinen aufzulisten und zu beschreiben. Diese Richtlinie gewährt auch die Berechtigung, die Syntax der von Ihnen bereitgestellten Zustandsmaschinendefinitionen zu überprüfen.

## AWS verwaltete Richtlinie: AWSStep FunctionsFullAccess
<a name="security-iam-awsmanpol-AWSStepFunctionsFullAccess"></a>

Sie können die [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSStepFunctionsFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSStepFunctionsFullAccess.html)-Richtlinie an Ihre IAM-Identitäten anfügen.

Diese Richtlinie gewährt einem Benutzer oder einer Rolle die *full* Erlaubnis, die Step Functions Functions-API zu verwenden. Für den Vollzugriff muss ein Benutzer über *iam:PassRole* Berechtigungen für mindestens eine IAM-Rolle verfügen, die vom Dienst übernommen werden kann.

## Step Functions Functions-Aktualisierungen AWS verwalteter Richtlinien
<a name="security-iam-awsmanpol-updates"></a>

Sehen Sie sich Details zu Aktualisierungen der AWS verwalteten Richtlinien für Step Functions an, seit dieser Dienst begonnen hat, diese Änderungen zu verfolgen. Abonnieren Sie den RSS-Feed auf der Seite Step Functions, um automatische Benachrichtigungen über Änderungen an dieser [Dokumentverlauf](document-history.md) Seite zu erhalten.




| Änderungen | Beschreibung | Datum | 
| --- | --- | --- | 
|  [AWSStepFunctionsReadOnlyAccess](#security-iam-awsmanpol-AWSStepFunctionsReadOnlyAccess) – Aktualisierung auf eine bestehende Richtlinie   |  Step Functions hat neue Berechtigungen hinzugefügt, mit denen `states:ValidateStateMachineDefinition` API-Aktionen aufgerufen werden können, um die Syntax der von Ihnen bereitgestellten Zustandsmaschinendefinitionen zu überprüfen.  | 25. April 2024 | 
|  [AWSStepFunctionsReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSStepFunctionsReadOnlyAccess.html) – Aktualisierung auf eine bestehende Richtlinie  |  Step Functions hat neue Berechtigungen hinzugefügt, um das Auflisten und Lesen von Daten zu folgenden Themen zu ermöglichen: Tags (ListTagsForResource), Distributed Map (ListMapRuns, DescribeMapRun), Versionen und Aliase (DescribeStateMachineAlias, ListStateMachineAliases, ListStateMachineVersions).   | 02. April 2024 | 
|  Step Functions hat begonnen, Änderungen zu verfolgen  |  Step Functions begann, Änderungen für seine AWS verwalteten Richtlinien zu verfolgen.  | 02. April 2024 | 

# 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).

# Erstellung detaillierter Berechtigungen für Benutzer ohne Administratorrechte in Step Functions
<a name="concept-create-iam-advanced"></a>

Die standardmäßigen verwalteten Richtlinien in IAM, z. B.`ReadOnly`, decken nicht alle Arten von AWS Step Functions Berechtigungen vollständig ab. In diesem Abschnitt werden diese verschiedenen Arten von Berechtigungen beschrieben und Beispielkonfigurationen bereitgestellt. 

Step Functions hat vier Kategorien von Berechtigungen. Je nach der Art des Zugriffs, den Sie einem Benutzer bereitstellen möchten, können Sie den Zugriff anhand der Berechtigungen in diesen Kategorien steuern. 

[Service Level-Berechtigungen](#concept-create-iam-advanced-service)  
Gilt für Komponenten der API, die **nicht** auf eine bestimmte Ressource einwirken.

[Berechtigungen auf Stufe des Zustandsautomaten](#concept-create-iam-advanced-state)  
Wenden Sie sie auf alle API-Komponenten an, die an einem spezifischen Zustandsautomaten agieren.

[Berechtigungen auf Ausführungsebene](#concept-create-iam-advanced-execution)  
Wenden Sie sie auf alle API-Komponenten an, die an einer spezifischen Ausführung agieren.

[Berechtigungen auf Aktivitätsebene](#concept-create-iam-advanced-activity)  
Wenden Sie sie auf alle API-Komponenten an, die an einer spezifischen Aktivität oder auf einer bestimmten Instance einer Aktivität agieren.

## Service Level-Berechtigungen
<a name="concept-create-iam-advanced-service"></a>

Diese Berechtigungsstufe gilt für alle API-Aktionen, die sich **nicht** auf eine bestimmte Ressource auswirken. Dazu gehören`[CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html)`, `[CreateActivity](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateActivity.html)``[ListStateMachines](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ListStateMachines.html)`,`[ListActivities](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ListActivities.html)`, und`[ValidateStateMachineDefinition](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ValidateStateMachineDefinition.html)`. 

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "states:ListStateMachines",
                "states:ListActivities",
                "states:CreateStateMachine",
                "states:CreateActivity",
                "states:ValidateStateMachineDefinition"
            ],
            "Resource": [
                "arn:aws:states:*:*:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::123456789012:role/my-execution-role"
            ]
        }
    ]
}
```

## Berechtigungen auf Stufe des Zustandsautomaten
<a name="concept-create-iam-advanced-state"></a>

Diese Berechtigungsstufe gilt für alle API-Aktionen, die an einem spezifischen Zustandsautomaten agieren. Für diese API-Operationen ist der Amazon-Ressourcenname (ARN) der Zustandsmaschine als Teil der Anfrage erforderlich, z. B. `[DeleteStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DeleteStateMachine.html)``[DescribeStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeStateMachine.html)`,`[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)`, und`[ListExecutions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ListExecutions.html)`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeStateMachine",
        "states:StartExecution",
        "states:DeleteStateMachine",
        "states:ListExecutions",
        "states:UpdateStateMachine",
        "states:TestState",
        "states:RevealSecrets"
      ],
      "Resource": [ 
        "arn:aws:states:*:*:stateMachine:StateMachinePrefix*" 
      ]
    }
  ]
}
```

## Berechtigungen auf Ausführungsebene
<a name="concept-create-iam-advanced-execution"></a>

Diese Berechtigungsstufe gilt für alle API-Aktionen, die an einer spezifischen Ausführung agieren. Diese API-Vorgänge erfordern die ARN der Ausführung als Teil der Anforderung, wie etwa`[DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html)`, `[GetExecutionHistory](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html)` und `[StopExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StopExecution.html)`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution",
        "states:DescribeStateMachineForExecution",
        "states:GetExecutionHistory",
        "states:StopExecution"
      ],
      "Resource": [ 
        "arn:aws:states:*:*:execution:*:ExecutionPrefix*"
      ]
    }
  ]
}
```

## Berechtigungen auf Aktivitätsebene
<a name="concept-create-iam-advanced-activity"></a>

Diese Berechtigungsstufe gilt für sämtliche API-Aktionen, die an einer spezifischen Aktivität oder auf einer bestimmten Instance davon agieren. Für diese API-Operationen ist der ARN der Aktivität oder das Token der Instanz als Teil der Anfrage erforderlich, z. B. `[DeleteActivity](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DeleteActivity.html)``[DescribeActivity](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeActivity.html)`,`[GetActivityTask](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetActivityTask.html)`, und`[SendTaskHeartbeat](https://docs.aws.amazon.com/step-functions/latest/apireference/API_SendTaskHeartbeat.html)`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeActivity",
        "states:DeleteActivity",
        "states:GetActivityTask",
        "states:SendTaskHeartbeat"
      ],
      "Resource": [
        "arn:aws:states:*:*:activity:ActivityPrefix*"
      ]
    }
  ]
}
```

# Zugreifen auf Ressourcen AWS-Konten in anderen In-Step-Funktionen
<a name="concepts-access-cross-acct-resources"></a>

Step Functions bietet kontoübergreifenden Zugriff auf Ressourcen, die AWS-Konten in Ihren Workflows unterschiedlich konfiguriert sind. Mithilfe der Step Functions Functions-Dienstintegrationen können Sie jede kontoübergreifende AWS Ressource aufrufen, auch wenn diese AWS-Service keine ressourcenbasierten Richtlinien oder kontenübergreifenden Aufrufe unterstützt.

Nehmen wir zum Beispiel an, Sie besitzen zwei Geräte AWS-Konten, die als Entwicklung und Testen bezeichnet werden. AWS-Region Mithilfe des kontoübergreifenden Zugriffs kann Ihr Workflow im Entwicklungskonto auf Ressourcen wie Amazon S3 S3-Buckets, Amazon DynamoDB-Tabellen und Lambda-Funktionen zugreifen, die im Testkonto verfügbar sind.

**Wichtig**  
IAM-Rollen und ressourcenbasierte Richtlinien delegieren den Zugriff auf Konten nur innerhalb einer einzelnen Partition. Nehmen wir zum Beispiel an, Sie haben ein Konto in US West (Nordkalifornien) in der Standardpartition `aws`. Sie haben auch ein Konto in China (Peking) in der `aws-cn`-Partition. Sie können keine ressourcenbasierte Amazon S3-Richtlinie in Ihrem Konto in China (Peking) verwenden, um Benutzern in Ihrem Standard-`aws`-Konto den Zugriff zu ermöglichen.

*Weitere Informationen zum kontoübergreifenden Zugriff finden Sie unter Logik zur [kontenübergreifenden Bewertung von Richtlinien im IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html).*

Obwohl jeder die vollständige Kontrolle über seine eigenen Ressourcen AWS-Konto behält, können Sie mit Step Functions Schritte in Ihren Workflows neu organisieren, austauschen, hinzufügen oder entfernen, ohne Code anpassen zu müssen. Sie können dies auch dann tun, wenn sich die Prozesse ändern oder Anwendungen weiterentwickeln.

Sie können auch Ausführungen von verschachtelten Zustandsmaschinen aufrufen, sodass sie für verschiedene Konten verfügbar sind. Auf diese Weise werden Ihre Arbeitsabläufe effizient getrennt und isoliert. Wenn Sie das [`.sync`](connect-to-resource.md#connect-sync)Serviceintegrationsmuster in Ihren Workflows verwenden, die auf einen anderen Step Functions-Workflow in einem anderen Konto zugreifen, verwendet Step Functions Polling, das Ihr zugewiesenes Kontingent verbraucht. Weitere Informationen finden Sie unter [Ausführen einer Aufgabe (.sync)](connect-to-resource.md#connect-sync).

**Anmerkung**  
Regionsübergreifende AWS SDK-Integration und regionsübergreifender AWS Ressourcenzugriff sind in Step Functions nicht verfügbar.

## Wichtige kontenübergreifende Ressourcenkonzepte
<a name="key-terms-cross-acct-access"></a>

**[Rolle bei der Ausführung](procedure-create-iam-role.md)**  
Eine IAM-Rolle, die Step Functions verwendet, um Code auszuführen und auf AWS Ressourcen zuzugreifen, z. B. die Invoke-Aktion der AWS Lambda Funktion.

**[Serviceintegration](integrate-services.md)**  
Die API-Aktionen für die AWS SDK-Integration, die von einem `Task` Status in Ihren Workflows aus aufgerufen werden können.

**Quellkonto**  
Eine AWS-Konto , die die Zustandsmaschine besitzt und deren Ausführung gestartet hat.

**Zielkonto**  
Ein AWS-Konto , zu dem Sie kontoübergreifende Anrufe tätigen.

**Zielrolle**  
Eine IAM-Rolle im Zielkonto, die die Zustandsmaschine für Aufrufe von Ressourcen übernimmt, die dem Zielkonto gehören.

**[Einen Job ausführen (.sync)](connect-to-resource.md#connect-sync)**  
Ein Dienstintegrationsmuster, das zum Aufrufen von Diensten verwendet wird, wie AWS Batch z. Außerdem wartet eine Step Functions Functions-Zustandsmaschine darauf, dass ein Job abgeschlossen ist, bevor sie zum nächsten Status übergeht. Um anzugeben, dass Step Functions warten soll, fügen Sie das `.sync` Suffix in das `Resource` Feld in Ihrer `Task` Statusdefinition an.

## Kontenübergreifende Ressourcen aufrufen
<a name="invoke-cross-acct-resource"></a>

Gehen Sie wie folgt vor, um eine kontoübergreifende Ressource in Ihren Workflows aufzurufen:

1. Erstellen Sie eine IAM-Rolle in dem Zielkonto, das die Ressource enthält. Diese Rolle gewährt dem Quellkonto, das die Zustandsmaschine enthält, Berechtigungen für den Zugriff auf die Ressourcen des Zielkontos.

1. Geben Sie in der Definition des `Task` Status die IAM-Zielrolle an, die von der Zustandsmaschine übernommen werden soll, bevor die kontoübergreifende Ressource aufgerufen wird.

1. Ändern Sie die Vertrauensrichtlinie in der Ziel-IAM-Rolle, sodass das Quellkonto diese Rolle vorübergehend übernehmen kann. Die Vertrauensrichtlinie muss den Amazon-Ressourcennamen (ARN) der Zustandsmaschine enthalten, die im Quellkonto definiert ist. Definieren Sie außerdem die entsprechenden Berechtigungen in der IAM-Zielrolle, um die AWS Ressource aufzurufen.

1. Aktualisieren Sie die Ausführungsrolle des Quellkontos so, dass sie die erforderliche Berechtigung für die Übernahme der Ziel-IAM-Rolle enthält.

Ein Beispiel finden Sie [Zugreifen auf kontenübergreifende AWS Ressourcen in Step Functions](tutorial-access-cross-acct-resources.md) in den Tutorials.

**Anmerkung**  
Sie können Ihren Zustandsmaschine so konfigurieren, dass er eine IAM-Rolle für den Zugriff auf Ressourcen von mehreren AWS-Kontenübernimmt. Eine Zustandsmaschine kann jedoch jeweils nur eine IAM-Rolle übernehmen.

![\[Konzept für den Zugriff auf kontenübergreifende Ressourcen\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/cross-account-support-concept.png)


## Kontoübergreifender Zugriff für das .sync-Integrationsmuster
<a name="concepts-cross-acct-sync-pattern"></a>

Wenn Sie die `.sync` Serviceintegrationsmuster in Ihren Workflows verwenden, fragt Step Functions die aufgerufene kontenübergreifende Ressource ab, um zu bestätigen, dass die Aufgabe abgeschlossen ist. Dies führt zu einer leichten Verzögerung zwischen der tatsächlichen Abschlusszeit der Aufgabe und dem Zeitpunkt, zu dem Step Functions die Aufgabe als abgeschlossen erkennt. Die Ziel-IAM-Rolle benötigt die erforderlichen Berechtigungen für einen `.sync` Aufruf, um diese Abfrageschleife abzuschließen. Zu diesem Zweck muss die Ziel-IAM-Rolle über eine Vertrauensrichtlinie verfügen, die es dem Quellkonto ermöglicht, diese zu übernehmen. Darüber hinaus benötigt die Ziel-IAM-Rolle die erforderlichen Berechtigungen, um die Abfrageschleife abzuschließen.

**Anmerkung**  
Für verschachtelte Express-Workflows wird dies derzeit `arn:aws:states:::states:startExecution.sync` nicht unterstützt. Verwenden Sie stattdessen `arn:aws:states:::aws-sdk:sfn:startSyncExecution`.

### Aktualisierung der Vertrauensrichtlinie für .sync-Aufrufe
<a name="cross-acct-sync-pattern-policy-update"></a>

Aktualisieren Sie die Vertrauensrichtlinie Ihrer IAM-Zielrolle, wie im folgenden Beispiel gezeigt. Das `sts:ExternalId` Feld steuert außerdem, wer die Rolle übernehmen kann. Der Name der Zustandsmaschine darf nur Zeichen enthalten, die die AWS -Security-Token-Service `AssumeRole` API unterstützt. Weitere Informationen finden Sie unter [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in der *AWS -Security-Token-Service -API-Referenz*.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Principal": {
        "AWS": "arn:aws:iam::sourceAccountID:role/InvokeRole",
      },
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "arn:aws:states:us-east-2:sourceAccountID:stateMachine:stateMachineName"
        }
      }
    }
  ]
}
```

### Für .sync-Aufrufe sind Berechtigungen erforderlich
<a name="cross-acct-sync-pattern-perms-update"></a>

Um die für Ihre Zustandsmaschine erforderlichen Berechtigungen zu gewähren, aktualisieren Sie die erforderlichen Berechtigungen für die IAM-Zielrolle. Weitere Informationen finden Sie unter [So generiert Step Functions IAM-Richtlinien für integrierte Dienste](service-integration-iam-templates.md). Um beispielsweise eine Zustandsmaschine zu starten, fügen Sie die folgenden Berechtigungen hinzu.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachineName"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution",
        "states:StopExecution"
      ],
      "Resource": [
        "arn:aws:states:us-east-1:123456789012:execution:myStateMachineName:*"
      ]
    }
  ]
}
```

# Amazon VPC-Endpoints für Step Functions erstellen
<a name="vpc-endpoints"></a>

Wenn Sie Amazon Virtual Private Cloud (Amazon VPC) zum Hosten Ihrer AWS Ressourcen verwenden, können Sie eine Verbindung zwischen Ihrer Amazon VPC und AWS Step Functions Workflows herstellen. Sie können diese Verbindung mit Ihren Step Functions Functions-Workflows verwenden, ohne das öffentliche Internet zu überqueren. Amazon VPC-Endpunkte werden von Standard-Workflows, Express-Workflows und synchronen Express-Workflows unterstützt. 

Mit Amazon VPC können Sie AWS Ressourcen in einem benutzerdefinierten virtuellen Netzwerk starten. Mit einer VPC können Sie Netzwerkeinstellungen, wie IP-Adressbereich, Subnetze, Routing-Tabellen und Netzwerk-Gateways, steuern. Weitere Informationen VPCs finden Sie im [Amazon VPC-Benutzerhandbuch](https://docs.aws.amazon.com/vpc/latest/userguide/).

Um Ihre Amazon VPC mit Step Functions zu verbinden, müssen Sie zunächst einen *VPC-Schnittstellen-Endpunkt* definieren, über den Sie Ihre VPC mit anderen Services verbinden können. AWS Der Endpunkt bietet eine zuverlässige, skalierbare Konnektivität, ohne dass ein Internet-Gateway, eine NAT-Instance (Network Address Translation) oder eine VPN-Verbindung erforderlich ist. Weitere Informationen finden Sie unter [Schnittstellen-VPC-Endpunkte (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) im *Amazon-VPC-Benutzerhandbuch*.

## Erstellen des Endpunkts
<a name="vpc-endpoint-create"></a>

Sie können einen AWS Step Functions Endpunkt in Ihrer VPC mit dem AWS-Managementkonsole, dem AWS Command Line Interface (AWS CLI), einem AWS SDK, der AWS Step Functions API oder CloudFormation erstellen.

Informationen zum Erstellen und Konfigurieren eines Endpunkts über die Amazon-VPC-Konsole oder die AWS CLI finden Sie unter [Creating an Interface Endpoint](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) (Erstellen eines Schnittstellenendpunkts) im *Amazon-VPC-Benutzerhandbuch*.

**Anmerkung**  
 Wenn Sie einen Endpunkt erstellen, geben Sie Step Functions als den Service an, zu dem Ihre VPC eine Verbindung herstellen soll. In der Amazon VPC-Konsole variieren die Servicenamen je nach AWS Region. **Wenn Sie beispielsweise USA Ost (Nord-Virginia) wählen, lautet der Service-Name für Standard-Workflows und Express-Workflows com.amazonaws.us-east-1.states und der Servicename für Synchronous Express Workflows ist **com.amazonaws.us-east-1.sync-states**.**

**Anmerkung**  
[Es ist möglich, VPC-Endpunkte über Private DNS zu verwenden, ohne den Endpunkt im SDK zu überschreiben.](https://docs.aws.amazon.com/vpc/latest/privatelink/verify-domains.html) Wenn Sie den Endpunkt im SDK für synchrone Express-Workflows jedoch überschreiben möchten, müssen Sie die Konfiguration auf setzen. `DisableHostPrefixInjection` `true` Beispiel (Java SDK V2):   

```
SfnClient.builder()
  .endpointOverride(URI.create("https://vpce-{vpceId}.sync-states.us-east-1.vpce.amazonaws.com"))
  .overrideConfiguration(ClientOverrideConfiguration.builder()
    .advancedOptions(ImmutableMap.of(SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION, true))
    .build())
  .build();
```

Informationen zum Erstellen und Konfigurieren eines Endpunkts mithilfe CloudFormation von finden Sie in der VPCEndpoint Ressource [AWS: :EC2::](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) im *CloudFormation Benutzerhandbuch*.

## Amazon VPC-Endpunktrichtlinien
<a name="vpc-endpoint-policy"></a>

Um den Konnektivitätszugriff auf Step Functions zu kontrollieren, können Sie beim Erstellen eines Amazon VPC-Endpunkts eine AWS Identity and Access Management (IAM-) Endpunktrichtlinie anhängen. Sie können komplexe IAM-Regeln erstellen, indem Sie mehrere Endpunktrichtlinien anhängen. Weitere Informationen finden Sie unter:
+  [Amazon Virtual Private Cloud-Endpunktrichtlinien für Step Functions](#vpc-iam) 
+  [Erstellung detaillierter Berechtigungen für Benutzer ohne Administratorrechte in Step Functions](concept-create-iam-advanced.md) 
+  [Kontrollieren des Zugriffs auf Services mit VPC-Endpunkten](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) 

## Amazon Virtual Private Cloud-Endpunktrichtlinien für Step Functions
<a name="vpc-iam"></a>

Sie können eine Amazon VPC-Endpunktrichtlinie für Step Functions erstellen, in der Sie Folgendes angeben:
+ Prinzipal, der die Aktionen ausführen kann.
+ Aktionen, die ausgeführt werden können
+ Die Ressourcen, auf denen die Aktionen ausgeführt werden können.

Das folgende Beispiel zeigt eine Amazon VPC-Endpunktrichtlinie, die es einem Benutzer ermöglicht, Zustandsmaschinen zu erstellen, und allen anderen Benutzern die Erlaubnis verweigert, Zustandsmaschinen zu löschen. Die Beispielrichtlinie gewährt auch allen -Benutzern die Ausführungsberechtigung.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
              "states:ListExecutions", "states:StartExecution", "states:StopExecution", "states:DescribeExecution"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Principal": "*"
        },
        {
            "Action": "states:CreateStateMachine",
            "Resource": "*",
            "Effect": "Allow",
            "Principal": {
              "AWS": "arn:aws:iam::123456789012:user/MyUser"
            }
        },
        {
            "Action": "states:DeleteStateMachine",
            "Resource": "*",
            "Effect": "Deny",
            "Principal": "*"
        }
    ]
}
```

Weitere Informationen zum Erstellen von Endpunktrichtlinien finden Sie unter: 
+  [Erstellung detaillierter Berechtigungen für Benutzer ohne Administratorrechte in Step Functions](concept-create-iam-advanced.md) 
+  [Kontrollieren des Zugriffs auf Services mit VPC-Endpunkten](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) 

# So generiert Step Functions IAM-Richtlinien für integrierte Dienste
<a name="service-integration-iam-templates"></a>

Wenn Sie eine Zustandsmaschine in der AWS Step Functions Konsole erstellen, erstellt Step Functions eine AWS Identity and Access Management (IAM-) Richtlinie, die auf den in Ihrer Zustandsmaschinen-Definition verwendeten Ressourcen basiert, und zwar wie folgt: 
+ Für **optimierte Integrationen** erstellt Step Functions eine Richtlinie mit allen erforderlichen Berechtigungen und Rollen für Ihre Zustandsmaschine.

  Tipp: Beispielrichtlinien finden Sie auf jeder der Serviceseiten unter[Integration optimierter Dienste](integrate-optimized.md). 
+ Für **Standardintegrationen** erstellt Step Functions eine IAM-Rolle mit Teilberechtigungen.

  Sie müssen alle fehlenden Rollenrichtlinien hinzufügen, die Ihr Zustandsmaschine für die Interaktion mit dem Dienst benötigt.

## Dynamische und statische Ressourcen
<a name="connect-iam-dynamic-static"></a>

*Statische Ressourcen* werden **direkt** im Aufgabenstatus Ihrer Zustandsmaschine definiert. Wenn Sie die Informationen zu den Ressourcen, die Sie aufrufen möchten, direkt in Ihren Aufgabenstatus aufnehmen, kann Step Functions eine IAM-Rolle nur für diese Ressourcen erstellen. 

*Dynamische Ressourcen* werden beim Starten Ihrer Zustandsmaschine als Eingabe oder als Eingabe für einen einzelnen Status **übergeben** und mit JSONata oder a JSONPath aufgerufen. Wenn Sie dynamische Ressourcen an Ihre Aufgabe übergeben, kann Step Functions den Umfang der Berechtigungen nicht automatisch reduzieren, sodass Step Functions eine tolerantere Richtlinie erstellt, die Folgendes festlegt:. `"Resource": "*"`

## Zusätzliche Berechtigungen für Aufgaben, die .sync verwenden
<a name="connect-iam-sync-async"></a>

Aufgaben, die das [Run a Job (.sync)](connect-to-resource.md#connect-sync) -Muster verwenden, benötigen zusätzliche Berechtigungen für die Überwachung und den Empfang einer Antwort von der API verbundener Dienste.

Step Functions verwendet zwei Methoden, um den Status eines Jobs zu überwachen, wenn ein Job auf einem verbundenen Dienst ausgeführt wird: **Abfragen und** **Ereignisse**. 

Für Abfragen ist eine Genehmigung für `Describe` oder `Get` API-Aktionen erforderlich. Für Amazon ECS muss der Zustandsmaschine beispielsweise über die Genehmigungsberechtigung für verfügen`ecs:DescribeTasks`, für AWS Glue den Zustandsmaschine sind Genehmigungsberechtigungen für erforderlich`glue:GetJobRun`. Wenn die erforderlichen Berechtigungen für die Rolle fehlen, kann Step Functions den Status Ihres Jobs möglicherweise nicht ermitteln. Ein Grund für die Verwendung der Abfragemethode ist, dass einige Serviceintegrationen keine EventBridge Ereignisse unterstützen und einige Dienste Ereignisse nur nach bestem Wissen senden. 

Alternativ können Sie Ereignisse verwenden, die von AWS Diensten an Amazon gesendet EventBridge werden. Ereignisse werden EventBridge mit einer verwalteten Regel an Step Functions weitergeleitet, sodass die Rolle Berechtigungen für `events:PutTargets``events:PutRule`, und `events:DescribeRule` benötigt. Wenn diese Berechtigungen in der Rolle fehlen, kann es zu einer Verzögerung kommen, bis Step Functions von der Fertigstellung Ihres Jobs erfährt. Weitere Informationen zu EventBridge Ereignissen finden Sie unter [Ereignisse von AWS Diensten](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html). 

## Behebung von festgefahrenen .sync-Workflows
<a name="polling-events-troubleshooting"></a>

Bei Aufgaben vom Typ Run a Job (.sync), die **sowohl Abfragen als auch** Ereignisse unterstützen, kann es sein, dass Ihre Aufgabe mithilfe von Ereignissen ordnungsgemäß abgeschlossen wird, auch wenn der Rolle die erforderlichen Berechtigungen für Abfragen fehlen.

Im vorherigen Szenario haben Sie möglicherweise nicht bemerkt, dass die Abfrageberechtigungen fehlen oder falsch sind. In dem seltenen Fall, dass ein Ereignis nicht an Step Functions übermittelt oder von Step Functions verarbeitet werden kann, kann Ihre Ausführung hängen bleiben. 

 Um zu überprüfen, ob Ihre Abfrageberechtigungen korrekt konfiguriert sind, können Sie eine Ausführung in einer Umgebung ohne EventBridge Ereignisse auf folgende Weise ausführen 
+  Löschen Sie die verwaltete Regel EventBridge , die für die Weiterleitung von Ereignissen an Step Functions verantwortlich ist. 
**Anmerkung**  
 Da verwaltete Regeln von allen Zustandsmaschinen in Ihrem Konto gemeinsam genutzt werden, sollten Sie ein Test- oder Entwicklungskonto verwenden, um unbeabsichtigte Auswirkungen auf andere Zustandsmaschinen zu vermeiden. 
+ Sie können die spezifische verwaltete Regel, die gelöscht werden soll, anhand des `Resource` Felds ermitteln, das `events:PutRule` in der Richtlinienvorlage für den Zieldienst verwendet wird. Die verwaltete Regel wird neu erstellt, wenn Sie das nächste Mal eine Zustandsmaschine erstellen oder aktualisieren, die diese Dienstintegration verwendet. 
+  Weitere Informationen zum Löschen von EventBridge Regeln finden Sie unter Regel [deaktivieren oder löschen](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-delete-rule.html). 

## Berechtigungen zum Abbrechen von Workflows
<a name="iam-cancel-tasks"></a>

Wenn eine Aufgabe, die das Run a Job (.sync) -Muster verwendet, beendet wird, versucht Step Functions nach besten Kräften, die Aufgabe abzubrechen.

Das Abbrechen einer Aufgabe erfordert die Erlaubnis für `Cancel``Stop`,`Terminate`, oder `Delete` API-Aktionen wie oder. `batch:TerminateJob` `eks:DeleteCluster` Wenn diese Berechtigungen in Ihrer Rolle fehlen, kann Step Functions Ihre Aufgabe nicht stornieren, und es können zusätzliche Kosten anfallen, während sie weiterhin ausgeführt wird. Weitere Informationen zum Stoppen von Aufgaben finden Sie unter [Job ausführen](connect-to-resource.md#connect-sync).

**Erfahren Sie mehr über Integrationsmuster**  
 Weitere Informationen zu synchronen Aufgaben finden Sie unter[Entdecken Sie Serviceintegrationsmuster in Step Functions](connect-to-resource.md).

## IAM-Richtlinien für Step Functions Functions-Zustandsmaschinen nur für Aktivitäten
<a name="activities-iam"></a>

Verwenden Sie für eine Zustandsmaschine, die nur `Activity` Aufgaben oder gar keine Aufgaben hat, eine IAM-Richtlinie, die den Zugriff auf alle Aktionen und Ressourcen verweigert.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

Weitere Hinweise zur Verwendung von ` Activity `-Aufgaben finden Sie unter [Erfahren Sie mehr über Aktivitäten in Step Functions](concepts-activities.md).

# IAM-Richtlinien für die Verwendung von Distributed Map-Status
<a name="iam-policies-eg-dist-map"></a>

Wenn Sie Workflows mit der Step Functions-Konsole erstellen, kann Step Functions automatisch IAM-Richtlinien auf der Grundlage der Ressourcen in Ihrer Workflow-Definition generieren. Generierte Richtlinien beinhalten die geringsten Rechte, die erforderlich sind, damit die State-Machine-Rolle die `[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)` API-Aktion für den *Distributed Map-Status* aufrufen und auf AWS Ressourcen wie Amazon S3 S3-Buckets und -Objekte sowie Lambda-Funktionen zugreifen kann.

Wir empfehlen, nur die erforderlichen Berechtigungen in Ihre IAM-Richtlinien aufzunehmen. Wenn Ihr Workflow beispielsweise einen `Map` Status im Modus „Verteilt“ umfasst, beschränken Sie Ihre Richtlinien auf den spezifischen Amazon S3 S3-Bucket und -Ordner, der Ihre Daten enthält.

**Wichtig**  
Wenn Sie einen Amazon S3 S3-Bucket und ein Objekt oder ein Präfix mit einem [Referenzpfad](amazon-states-language-paths.md#amazon-states-language-reference-paths) zu einem vorhandenen Schlüssel-Wert-Paar in Ihrer *Distributed Map-Statuseingabe* angeben, stellen Sie sicher, dass Sie die IAM-Richtlinien für Ihren Workflow aktualisieren. Beschränken Sie die Richtlinien auf die Bucket- und Objektnamen, zu denen der Pfad zur Laufzeit aufgelöst wird.

## Beispiel für eine IAM-Richtlinie für die Ausführung eines Distributed-Map-Status
<a name="iam-policy-run-dist-map"></a>

Wenn Sie einen *Distributed Map-Status* in Ihre Workflows aufnehmen, benötigt Step Functions die entsprechenden Berechtigungen, damit die Zustandsmaschinenrolle die `[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)` API-Aktion für den *Distributed-Map-Status* aufrufen kann.

Das folgende Beispiel für eine IAM-Richtlinie gewährt Ihrer State-Machine-Rolle die geringsten Rechte, die für die Ausführung des Status *Distributed Map* erforderlich sind.

**Anmerkung**  
Stellen Sie sicher, dass Sie den Status `stateMachineName` durch den Namen des Zustandsmaschinen ersetzen, in dem Sie den *Status Distributed Map* verwenden. Beispiel, `arn:aws:states:region:account-id:stateMachine:mystateMachine`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachineName"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution"
      ],
      "Resource": "arn:aws:states:us-east-1:123456789012:execution:myStateMachineName:*"
    }
  ]
}
```

## Beispiel für eine IAM-Richtlinie für redriving eine Distributed Map
<a name="iam-policy-redrive-dist-map"></a>

Sie können erfolglose untergeordnete Workflow-Ausführungen in einem Map Run von [redriving](redrive-executions.md)Ihrem [übergeordneten](state-map-distributed.md#dist-map-orchestrate-parallel-workloads-key-terms) Workflow neu starten. Ein redriven übergeordneter Workflow mit redrives allen erfolglosen Status, einschließlich Distributed Map. Stellen Sie sicher, dass Ihre Ausführungsrolle über die geringsten Rechte verfügt, die erforderlich sind, um die `[RedriveExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html)` API-Aktion für den übergeordneten Workflow aufrufen zu können.

Das folgende Beispiel für eine IAM-Richtlinie gewährt Ihrer State-Machine-Rolle die geringsten Rechte, die für redriving einen *Distributed-Map-Status* erforderlich sind.

**Anmerkung**  
Stellen Sie sicher, dass Sie den Status `stateMachineName` durch den Namen des Zustandsmaschinen ersetzen, in dem Sie den *Status Distributed Map* verwenden. Beispiel, `arn:aws:states:region:account-id:stateMachine:mystateMachine`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:RedriveExecution"
      ],
      "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachineName/myMapRunLabel:*"
    }
  ]
}
```

## Beispiele für IAM-Richtlinien zum Lesen von Daten aus Amazon S3 S3-Datensätzen
<a name="iam-policy-eg-item-reader"></a>

Die folgenden Beispiele zeigen Techniken zur Gewährung der geringsten Rechte, die für den Zugriff auf Ihre Amazon S3 S3-Datensätze mithilfe der [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) - und [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)API-Aktionen erforderlich sind.

**Example Bedingung, bei der ein Amazon S3 S3-Objekt als Datensatz verwendet wird**  
Die folgende Bedingung gewährt die geringsten Rechte für den Zugriff auf Objekte in einem `processImages` Ordner eines Amazon S3 S3-Buckets.  

```
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ],
"Condition": {
   "StringLike": { 
      "s3:prefix": [ "processImages" ]
   }
}
```

**Example eine CSV-Datei als Datensatz verwenden**  
Das folgende Beispiel zeigt die Aktionen, die für den Zugriff auf eine CSV-Datei mit dem Namen erforderlich sind`ratings.csv`.  

```
"Action": [ "s3:GetObject" ],
"Resource": [
   "arn:aws:s3:::amzn-s3-demo-bucket/csvDataset/ratings.csv"
   ]
```

**Example Verwenden eines Amazon S3 S3-Inventars als Datensatz**  
Im Folgenden werden Beispielressourcen für ein Amazon S3 S3-Inventarmanifest und Datendateien gezeigt.  

```
"Resource": [
   "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/YYYY-MM-DDTHH-MMZ/manifest.json",
   "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/data/*"
   ]
```

**Example Verwenden Sie ListObjects V2, um sich auf ein Ordnerpräfix zu beschränken**  
Bei Verwendung von [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) werden zwei Richtlinien generiert. Eine ist erforderlich, um das **Auflisten** des Inhalts des Buckets (`ListBucket`) zu ermöglichen, und eine andere Richtlinie ermöglicht das **Abrufen von Objekten** im Bucket (`GetObject`).   
Im Folgenden werden Beispielaktionen, Ressourcen und eine Bedingung gezeigt:  

```
"Action": [ "s3:ListBucket" ],
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ],
"Condition": {
   "StringLike": {
      "s3:prefix": [ "/path/to/your/json/" ]
   }
}
```

```
"Action": [ "s3:GetObject" ],
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/path/to/your/json/*" ]
```
Beachten Sie, dass `GetObject` kein Gültigkeitsbereich angegeben wird und Sie einen Platzhalter (`*`) für das Objekt verwenden.

## Beispiel für eine IAM-Richtlinie zum Schreiben von Daten in einen Amazon S3 S3-Bucket
<a name="iam-policy-eg-result-writer"></a>

Das folgende Beispiel für eine IAM-Richtlinie gewährt die geringsten Rechte, die erforderlich sind, um die Ergebnisse der Workflow-Ausführung Ihres untergeordneten Workflows mithilfe der `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)` API-Aktion in einen Ordner zu schreiben, der *csvJobs* in einem Amazon S3 S3-Bucket benannt ist.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/csvJobs/*"
            ]
        }
    ]
}
```

### IAM-Berechtigungen für AWS KMS key verschlüsselten Amazon S3 S3-Bucket
<a name="multiupload-dmap-result-policy"></a>

*Distributed Map State* verwendet mehrteilige Uploads, um die Ergebnisse der untergeordneten Workflow-Ausführung in einen Amazon S3 S3-Bucket zu schreiben. Wenn der Bucket mit einem AWS Key Management Service (AWS KMS) Schlüssel verschlüsselt ist, müssen Sie auch Berechtigungen in Ihre IAM Richtlinie aufnehmen, um die `kms:GenerateDataKey` Aktionen `kms:Decrypt``kms:Encrypt`, und für den Schlüssel auszuführen. Diese Berechtigungen sind erforderlich, da Amazon S3 Daten aus den verschlüsselten Teilen der Datei entschlüsseln und lesen muss, bevor es den Multipart-Upload vornehmen kann.

Das folgende Beispiel für eine IAM-Richtlinie erteilt Berechtigungen für die `kms:GenerateDataKey` Aktionen `kms:Decrypt``kms:Encrypt`, und für den Schlüssel, der zur Verschlüsselung Ihres Amazon S3 S3-Buckets verwendet wurde.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:Decrypt",
      "kms:Encrypt",
      "kms:GenerateDataKey"
    ],
    "Resource": [
      "arn:aws:kms:us-east-1:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
    ]
  }
}
```

Weitere Informationen finden Sie unter [Uploading a large file to Amazon S3 with encryption using an AWS KMS key CMK (Hochladen einer großen Datei zu Amazon S3 mit Verschlüsselung über einen KMS-CMK)](https://aws.amazon.com/premiumsupport/knowledge-center/s3-large-file-encryption-kms-key/) im *AWS -Wissenscenter*.

Wenn Ihr IAM-Benutzer oder Ihre IAM-Rolle der gleiche ist AWS-Konto wie derKMS key, dann müssen Sie über diese Berechtigungen für die Schlüsselrichtlinie verfügen. Wenn Ihr IAM-Benutzer oder Ihre IAM-Rolle zu einem anderen Konto als dem gehörtKMS key, benötigen Sie die entsprechenden Berechtigungen sowohl für die Schlüsselrichtlinie als auch für Ihren IAM-Benutzer oder Ihre IAM-Rolle.

# Tag-basierte IAM-Richtlinien in Step Functions erstellen
<a name="tag-based-policies"></a>

Step Functions unterstützt Richtlinien, die auf Tags basieren. Sie könnten beispielsweise den Zugriff auf alle Step Functions-Ressourcen einschränken, die ein Tag mit dem Schlüssel `environment` und dem Wert enthalten`production`.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "states:TagResource",
                "states:UntagResource",
                "states:DeleteActivity",
                "states:DeleteStateMachine",
                "states:StopExecution"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/environment": "production"}
            }
        }
    ]
}
```

Diese Richtlinie setzt die Möglichkeit zum Löschen von Zustandsautomaten oder Aktivitäten auf `Deny` (Verweigern), stoppt Ausführungen und fügt allen Ressourcen, die als `environment/production` markiert wurden, neue Tags hinzu bzw. löscht diese.

Bei der Tag-basierten Autorisierung erben die Ressourcen zur Ausführung von Zustandsmaschinen, wie im folgenden Beispiel gezeigt, die einem Zustandsmaschine zugewiesenen Tags.

```
arn:partition:states:region:account-id:execution:<StateMachineName>:<ExecutionId>
```

Wenn Sie aufrufen [DescribeExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html)oder eine andere, APIs in der Sie den Ausführungsressourcen-ARN angeben, verwendet Step Functions Tags, die dem Zustandsmaschine zugeordnet sind, um die Anfrage anzunehmen oder abzulehnen, während die Tag-basierte Autorisierung durchgeführt wird. Auf diese Weise können Sie den Zugriff auf Zustandsmaschinenausführungen auf Zustandsmaschinenebene zulassen oder verweigern.

Weitere Informationen zum Tagging finden Sie hier:
+ [Zustandsmaschinen und Aktivitäten in Step Functions kennzeichnen](sfn-best-practices.md#concepts-tagging)
+ [Zugriffssteuerung mit IAM-Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)

# Behebung von Identitäts- und Zugriffsproblemen in Step Functions
<a name="security_iam_troubleshoot"></a>

Verwenden Sie die folgenden Informationen, um häufig auftretende Probleme zu diagnostizieren und zu beheben, die bei der Arbeit mit Step Functions und IAM auftreten können.

**Topics**
+ [Ich bin nicht berechtigt, eine Aktion in Step Functions durchzuführen](#security_iam_troubleshoot-no-permissions)
+ [Ich bin nicht berechtigt, iam auszuführen: PassRole](#security_iam_troubleshoot-passrole)
+ [Ich möchte Personen außerhalb von mir den Zugriff auf meine AWS-Konto Step Functions Functions-Ressourcen ermöglichen](#security_iam_troubleshoot-cross-account-access)

## Ich bin nicht berechtigt, eine Aktion in Step Functions durchzuführen
<a name="security_iam_troubleshoot-no-permissions"></a>

Wenn Sie die Fehlermeldung erhalten, dass Sie nicht zum Durchführen einer Aktion autorisiert sind, müssen Ihre Richtlinien aktualisiert werden, um die Aktion durchführen zu können.

Der folgende Beispielfehler tritt auf, wenn der `mateojackson`-Benutzer versucht, die Konsole zum Anzeigen von Details zu einer fiktiven `my-example-widget`-Ressource zu verwenden, jedoch nicht über `states:GetWidget`-Berechtigungen verfügt.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: states:GetWidget on resource: my-example-widget
```

In diesem Fall muss die Mateo-Richtlinie aktualisiert werden, damit er mit der `states:GetWidget`-Aktion auf die `my-example-widget`-Ressource zugreifen kann.

Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren AWS Administrator. Ihr Administrator hat Ihnen Ihre Anmeldeinformationen zur Verfügung gestellt.

## Ich bin nicht berechtigt, iam auszuführen: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Wenn Sie eine Fehlermeldung erhalten, dass Sie nicht berechtigt sind, die `iam:PassRole` Aktion auszuführen, müssen Ihre Richtlinien aktualisiert werden, damit Sie eine Rolle an Step Functions übergeben können.

Einige AWS-Services ermöglichen es Ihnen, eine bestehende Rolle an diesen Dienst zu übergeben, anstatt eine neue Servicerolle oder eine dienstverknüpfte Rolle zu erstellen. Hierzu benötigen Sie Berechtigungen für die Übergabe der Rolle an den Dienst.

Der folgende Beispielfehler tritt auf, wenn ein IAM-Benutzer mit dem Namen `marymajor` versucht, die Konsole zu verwenden, um eine Aktion in Step Functions auszuführen. Die Aktion erfordert jedoch, dass der Service über Berechtigungen verfügt, die durch eine Servicerolle gewährt werden. Mary besitzt keine Berechtigungen für die Übergabe der Rolle an den Dienst.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

In diesem Fall müssen die Richtlinien von Mary aktualisiert werden, um die Aktion `iam:PassRole` ausführen zu können.

Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren AWS Administrator. Ihr Administrator hat Ihnen Ihre Anmeldeinformationen zur Verfügung gestellt.

## Ich möchte Personen außerhalb von mir den Zugriff auf meine AWS-Konto Step Functions Functions-Ressourcen ermöglichen
<a name="security_iam_troubleshoot-cross-account-access"></a>

Sie können eine Rolle erstellen, mit der Benutzer in anderen Konten oder Personen außerhalb Ihrer Organisation auf Ihre Ressourcen zugreifen können. Sie können festlegen, wem die Übernahme der Rolle anvertraut wird. Für Dienste, die ressourcenbasierte Richtlinien oder Zugriffskontrolllisten (ACLs) unterstützen, können Sie diese Richtlinien verwenden, um Personen Zugriff auf Ihre Ressourcen zu gewähren.

Weitere Informationen dazu finden Sie hier:
+ Informationen darüber, ob Step Functions diese Funktionen unterstützt, finden Sie unter[Wie AWS Step Functions funktioniert mit IAM](security_iam_service-with-iam.md).
+ *Informationen dazu, wie Sie Zugriff auf Ihre Ressourcen gewähren können, AWS-Konten die Ihnen gehören, finden Sie im [IAM-Benutzerhandbuch unter Gewähren von Zugriff für einen IAM-Benutzer in einem anderen AWS-Konto , den Sie besitzen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html).*
+ Informationen dazu, wie Sie Dritten Zugriff auf Ihre Ressourcen gewähren können AWS-Konten, finden Sie [AWS-Konten im *IAM-Benutzerhandbuch* unter Gewähren des Zugriffs für Dritte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html).
+ Informationen dazu, wie Sie über einen Identitätsverbund Zugriff gewähren, finden Sie unter [Gewähren von Zugriff für extern authentifizierte Benutzer (Identitätsverbund)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) im *IAM-Benutzerhandbuch*.
+ Informationen zum Unterschied zwischen der Verwendung von Rollen und ressourcenbasierten Richtlinien für den kontoübergreifenden Zugriff finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.