Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Políticas de IAM para flujos de trabajo
Al añadir un flujo de trabajo a un servidor, debe seleccionar un rol de ejecución. El servidor utiliza este rol cuando ejecuta el flujo de trabajo. Si el rol no tiene los permisos adecuados, AWS Transfer Family no podrá ejecutar el flujo de trabajo.
En esta sección se describe un posible conjunto de permisos AWS Identity and Access Management (IAM) que puede utilizar para ejecutar un flujo de trabajo. Más adelante en este tema se describen otros ejemplos.
nota
Si sus archivos de Amazon S3 tienen etiquetas, debe añadir uno o dos permisos a su política de IAM.
-
Añada
s3:GetObjectTagging
para un archivo de Amazon S3 que no tenga versiones. -
Añada
s3:GetObjectVersionTagging
para un archivo de Amazon S3 que tenga versiones.
Creación de un rol de ejecución para su flujo de trabajo
-
Cree un nuevo rol de IAM y añada la política AWS administrada
AWSTransferFullAccess
al rol. Para obtener más información sobre cómo crear un nuevo rol de IAM, consulte Creación de una política y un rol de IAM. -
Crear otra política con los siguientes permisos y asóciela al rol. Reemplace cada
por su propia información.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/*" ] } ] } -
Guarde este rol y especifíquelo como rol de ejecución cuando añada un flujo de trabajo a un servidor.
nota
Al crear funciones de IAM, le AWS recomienda que restrinja el acceso a sus recursos tanto como sea posible para su flujo de trabajo.
Relaciones de confianza del flujo de trabajo
Los roles de ejecución del flujo de trabajo también requieren una relación de confianza con transfer.amazonaws.com
. Para establecer una relación de confianza para AWS Transfer Family, consulte Para establecer una relación de confianza.
Mientras establece su relación de confianza, también puede tomar medidas para evitar el problema del suplente confuso. Para obtener una descripción de este problema, así como ejemplos de cómo evitarlo, consulte Prevención de la sustitución confusa entre servicios.
Ejemplo de rol de ejecución: descifrado, copiado y etiquetado
Si tiene flujos de trabajo que incluyen pasos de etiquetado, copiado y descifrado, puede utilizar la siguiente política de IAM. Reemplace cada
por su propia información. 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/*" } ] }
Ejemplo de rol de ejecución: ejecutar un rol y eliminarlo
En este ejemplo, tiene un flujo de trabajo que invoca una AWS Lambda función. Si el flujo de trabajo elimina el archivo cargado y tiene un paso de controlador de excepciones para actuar en caso de que se produzca un error en la ejecución del flujo de trabajo en el paso anterior, utilice la siguiente política de IAM. Reemplace cada
por su propia información. 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
" ] } ] }