

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.

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