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
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 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 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 Zustandsmaschinenrolle 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 durch den Namen des Zustandsmaschinen ersetzen, in dem Sie den Status Distributed Map verwenden. Beispiel, stateMachineNamearn: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
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 durch den Namen des Zustandsmaschinen ersetzen, in dem Sie den Status Distributed Map verwenden. Beispiel, stateMachineNamearn: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
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 - und GetObjectAPI-Aktionen erforderlich sind.
Beispiel 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 Ordner eines Amazon S3 S3-Buckets.processImages
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "Condition": { "StringLike": { "s3:prefix": [ "processImages" ] } }
Beispiel 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" ]
Beispiel 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/*" ]
Beispiel Verwenden Sie ListObjects V2, um sich auf ein Ordnerpräfix zu beschränken
Bei Verwendung von ListObjectsV2 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 dieser GetObject Bereich nicht berücksichtigt 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
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 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
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)
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.