IAM-Richtlinien für die Verwendung des Distributed Map-Status - AWS Step Functions

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

IAM-Richtlinien für die Verwendung des Distributed Map-Status

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. Diese Richtlinien beinhalten die geringsten Rechte, die erforderlich sind, damit die Zustandsmaschinen-Rolle die StartExecution API-Aktion für den Status Distributed Map aufrufen kann. Diese Richtlinien beinhalten auch die Step Functions mit den geringsten Rechten, die für den Zugriff auf AWS Ressourcen wie Amazon S3 S3-Buckets und -Objekte sowie Lambda-Funktionen erforderlich sind. Wir empfehlen dringend, dass Sie nur die Berechtigungen in Ihre IAM-Richtlinien aufnehmen, die erforderlich sind. 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 Ihren Datensatz enthält.

Wichtig

Wenn Sie einen Amazon S3 S3-Bucket und ein Objekt oder ein Präfix mit einem Referenzpfad 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

Wenn Sie einen Distributed Map-Status in Ihre Workflows aufnehmen, benötigt Step Functions die entsprechenden Berechtigungen, damit die Zustandsmaschinen-Rolle die StartExecution 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. z. B. arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:region:accountID:stateMachine:stateMachineName" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": "arn:aws:states:region:accountID:execution:stateMachineName:*" } ] }

Beispiel für eine IAM-Richtlinie für redriving eine Distributed Map

Sie können erfolglose untergeordnete Workflow-Ausführungen in einem Map Run von redrivingIhrem übergeordneten 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 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. z. B. arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

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

Beispiele für IAM-Richtlinien zum Lesen von Daten aus Amazon S3 S3-Datensätzen

Die folgenden Beispiele für IAM-Richtlinien gewähren die geringsten Rechte, die für den Zugriff auf Ihre Amazon S3 S3-Datensätze mithilfe der ListObjectsV2 - und GetObjectAPI-Aktionen erforderlich sind.

Beispiel IAM-Richtlinie für Amazon S3 S3-Objekt als Datensatz

Das folgende Beispiel zeigt eine IAM-Richtlinie, die die geringsten Rechte für den Zugriff auf die Objekte gewährt, die processImages in einem Amazon S3 S3-Bucket mit dem Namen myBucket organisiert sind.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::myBucket" ], "Condition": { "StringLike": { "s3:prefix": [ "processImages" ] } } } ] }
Beispiel IAM-Richtlinie für eine CSV-Datei als Datensatz

Das folgende Beispiel zeigt eine IAM-Richtlinie, die die geringsten Zugriffsrechte auf eine CSV-Datei mit dem Namen gewährt. ratings.csv

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::myBucket/csvDataset/ratings.csv" ] } ] }
Beispiel IAM-Richtlinie für ein Amazon S3 S3-Inventar als Datensatz

Das folgende Beispiel zeigt eine IAM-Richtlinie, die die geringsten Rechte für den Zugriff auf einen Amazon S3 S3-Inventarbericht gewährt.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::destination-prefix/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json", "arn:aws:s3:::destination-prefix/source-bucket/config-ID/data/*" ] } ] }

Beispiel für eine IAM-Richtlinie zum Schreiben von Daten in einen Amazon S3 S3-Bucket

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 API-Aktion in einen Ordner mit dem Namen csvJobs in einem Amazon S3 S3-Bucket zu schreiben. PutObject

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

IAM-Berechtigungen für AWS KMS key verschlüsselten Amazon S3 S3-Bucket

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:Decryptkms: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:Decryptkms: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) 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.