Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
IAMpolitiques relatives aux flux de travail
Lorsque vous ajoutez un flux de travail à un serveur, vous devez sélectionner un rôle d'exécution. Le serveur utilise ce rôle lorsqu'il exécute le flux de travail. Si le rôle ne dispose pas des autorisations appropriées, il AWS Transfer Family ne peut pas exécuter le flux de travail.
Cette section décrit un ensemble possible d'autorisations AWS Identity and Access Management (IAM) que vous pouvez utiliser pour exécuter un flux de travail. D'autres exemples sont décrits plus loin dans cette rubrique.
Note
Si vos fichiers Amazon S3 comportent des balises, vous devez ajouter une ou deux autorisations à votre IAM politique.
-
Ajoutez
s3:GetObjectTagging
un fichier Amazon S3 qui n'est pas versionné. -
Ajoutez
s3:GetObjectVersionTagging
un fichier Amazon S3 versionné.
Pour créer un rôle d'exécution pour votre flux de travail
-
Créez un nouveau IAM rôle et ajoutez-y
AWSTransferFullAccess
la politique AWS gérée. Pour plus d'informations sur la création d'un nouveau IAM rôle, consultezCréation d'un IAM rôle et d'une politique. -
Créez une autre politique avec les autorisations suivantes et associez-la à votre rôle. Remplacez chaque
par vos propres informations.user input placeholder
{ "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
/*" ] } ] } -
Enregistrez ce rôle et spécifiez-le comme rôle d'exécution lorsque vous ajoutez un flux de travail à un serveur.
Note
Lorsque vous créez des IAM rôles, il est AWS recommandé de restreindre l'accès à vos ressources autant que possible pour votre flux de travail.
Relations de confiance en matière de flux
Les rôles d'exécution du flux de travail nécessitent également une relation de confiance avectransfer.amazonaws.com
. Pour établir une relation de confiance pour AWS Transfer Family, voirÉtape 1 : Établir une relation d'approbation.
Pendant que vous établissez votre relation de confiance, vous pouvez également prendre des mesures pour éviter le problème de confusion des adjoints. Pour une description de ce problème, ainsi que des exemples permettant de l'éviter, reportez-vous àPrévention du problème de l’adjoint confus entre services.
Exemple de rôle d'exécution : déchiffrer, copier et étiqueter
Si vos flux de travail incluent des étapes de balisage, de copie et de déchiffrement, vous pouvez appliquer la politique suivanteIAM. Remplacez chaque
par vos propres informations. user input
placeholder
{ "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/*" } ] }
Exemple de rôle d'exécution : Exécuter la fonction et supprimer
Dans cet exemple, vous avez un flux de travail qui appelle une AWS Lambda fonction. Si le flux de travail supprime le fichier chargé et comporte une étape de gestion des exceptions pour agir en cas d'échec de l'exécution du flux de travail à l'étape précédente, appliquez la politique suivanteIAM. Remplacez chaque
par vos propres informations. user input placeholder
{ "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
" ] } ] }