IAMpolíticas para flujos de trabajo - AWS Transfer Family

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.

IAMpolíticas 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 IAM política.

  • 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
  1. Cree un nuevo IAM rol y añada la política AWS administrada AWSTransferFullAccess al rol. Para obtener más información sobre la creación de un nuevo IAM rol, consulteCrea un IAM rol y una política.

  2. Crear otra política con los siguientes permisos y asóciela al rol. Reemplace cada user input placeholder por su propia información.

    { "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. Guarde este rol y especifíquelo como rol de ejecución cuando añada un flujo de trabajo a un servidor.

    nota

    Al crear IAM roles, 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 tienes flujos de trabajo que incluyen pasos de etiquetado, copia y descifrado, puedes usar la siguiente IAM política. Reemplace cada user input placeholder por su propia información.

{ "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 función. AWS Lambda Si el flujo de trabajo elimina el archivo cargado y tiene un paso de control de excepciones para actuar en caso de una ejecución fallida del flujo de trabajo en el paso anterior, utilice la siguiente política. IAM Reemplace cada user input placeholder por su propia información.

{ "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" ] } ] }