IAMRichtlinien für Workflows - AWS Transfer Family

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.

IAMRichtlinien für Workflows

Wenn Sie einem Server einen Workflow hinzufügen, müssen Sie eine Ausführungsrolle auswählen. Der Server verwendet diese Rolle, wenn er den Workflow ausführt. Wenn die Rolle nicht über die richtigen Berechtigungen verfügt, AWS Transfer Family kann der Workflow nicht ausgeführt werden.

In diesem Abschnitt wird ein möglicher Satz von AWS Identity and Access Management (IAM) Berechtigungen beschrieben, mit denen Sie einen Workflow ausführen können. Weitere Beispiele werden später in diesem Thema beschrieben.

Anmerkung

Wenn Ihre Amazon S3 S3-Dateien Tags haben, müssen Sie Ihrer IAM Richtlinie eine oder zwei Berechtigungen hinzufügen.

  • s3:GetObjectTaggingFür eine Amazon S3 S3-Datei hinzufügen, die nicht versioniert ist.

  • s3:GetObjectVersionTaggingFür eine Amazon S3 S3-Datei hinzufügen, die versioniert ist.

Um eine Ausführungsrolle für Ihren Workflow zu erstellen
  1. Erstellen Sie eine neue IAM Rolle und fügen Sie der Rolle die AWS verwaltete Richtlinie AWSTransferFullAccess hinzu. Weitere Informationen zum Erstellen einer neuen IAM Rolle finden Sie unterErstellen Sie eine IAM Rolle und eine Richtlinie.

  2. Erstellen Sie eine weitere Richtlinie mit den folgenden Berechtigungen und fügen Sie sie Ihrer Rolle hinzu. Ersetzen Sie jeden user input placeholder durch Ihre Informationen.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ConsoleAccess", "Effect": "Allow", "Action": "s3:GetBucketLocation", "Resource": "*" }, { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": "s3:*Object", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid": "GetObjectVersion", "Effect": "Allow", "Action": "s3:GetObjectVersion", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid": "Custom", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name" ] }, { "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }
  3. Speichern Sie diese Rolle und geben Sie sie als Ausführungsrolle an, wenn Sie einem Server einen Workflow hinzufügen.

    Anmerkung

    AWS empfiehlt, beim Erstellen von IAM Rollen den Zugriff auf Ihre Ressourcen so weit wie möglich für Ihren Workflow einzuschränken.

Vertrauensbeziehungen im Arbeitsablauf

Rollen für die Workflow-Ausführung erfordern auch eine Vertrauensbeziehung mittransfer.amazonaws.com. Informationen zum Einrichten einer Vertrauensbeziehung für AWS Transfer Family finden Sie unterSo stellen Sie eine Vertrauensbeziehung her.

Während Sie Ihr Vertrauensverhältnis aufbauen, können Sie auch Maßnahmen ergreifen, um das Problem des verwirrten Stellvertreters zu vermeiden. Eine Beschreibung dieses Problems sowie Beispiele, wie es vermieden werden kann, finden Sie unterServiceübergreifende Confused-Deputy-Prävention.

Beispiel für eine Ausführungsrolle: Entschlüsseln, Kopieren und Markieren

Wenn Sie Workflows haben, die Schritte zum Markieren, Kopieren und Entschlüsseln beinhalten, können Sie die folgende Richtlinie verwenden. IAM Ersetzen Sie jeden user input placeholder durch Ihre Informationen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CopyRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::source-bucket-name/*" }, { "Sid": "CopyWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectTagging" ], "Resource": "arn:aws:s3:::destination-bucket-name/*" }, { "Sid": "CopyList", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::source-bucket-name", "arn:aws:s3:::destination-bucket-name" ] }, { "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": "arn:aws:s3:::destination-bucket-name/*", "Condition": { "StringEquals": { "s3:RequestObjectTag/Archive": "yes" } } }, { "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::destination-bucket-name" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::destination-bucket-name/*" }, { "Sid": "Decrypt", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-ID:secret:aws/transfer/*" } ] }

Beispiel für eine Ausführungsrolle: Funktion ausführen und löschen

In diesem Beispiel haben Sie einen Workflow, der eine AWS Lambda Funktion aufruft. Wenn der Workflow die hochgeladene Datei löscht und über einen Exception-Handler-Schritt verfügt, der auf eine fehlgeschlagene Workflow-Ausführung im vorherigen Schritt reagiert, verwenden Sie die folgende IAM Richtlinie. Ersetzen Sie jeden user input placeholder durch Ihre Informationen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Delete", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": "arn:aws:s3:::bucket-name" }, { "Sid": "Custom", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name" ] } ] }