As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Políticas do IAM para fluxos de trabalho
Ao adicionar um fluxo de trabalho a um servidor, você deve selecionar uma função de execução. O servidor usa essa função ao executar o fluxo de trabalho. Se a função não tiver as permissões adequadas, não será AWS Transfer Family possível executar o fluxo de trabalho.
Esta seção descreve um conjunto possível de permissões AWS Identity and Access Management (IAM) que você pode usar para executar um fluxo de trabalho. Outros exemplos são descritos mais adiante neste tópico.
nota
Se seus arquivos do Amazon S3 tiverem tags, você precisará adicionar uma ou duas permissões à sua política do IAM.
-
Adicione
s3:GetObjectTaggingpara obter um arquivo Amazon S3 que não tenha versão. -
Adicione
s3:GetObjectVersionTaggingpara obter um arquivo Amazon S3 que tenha versão.
Como criar uma função de execução para o seu fluxo de trabalho
-
Crie uma nova função do IAM e adicione a política AWS gerenciada
AWSTransferFullAccessà função. Para obter mais informações sobre como criar um perfil do IAM, consulte Criar uma política e um perfil do IAM. -
Crie outra política com as seguintes permissões e anexe-a ao seu perfil. Substitua cada
por suas próprias informações.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:::amzn-s3-demo-bucket" ] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": "s3:*Object", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "GetObjectVersion", "Effect": "Allow", "Action": "s3:GetObjectVersion", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "Custom", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:function-name" ] }, { "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
-
Salve essa função e especifique-a como a função de execução ao adicionar um fluxo de trabalho a um servidor.
nota
Ao criar funções do IAM, AWS recomenda que você restrinja o acesso aos seus recursos o máximo possível para seu fluxo de trabalho.
relação de confiança no fluxo de trabalho
As funções de execução do fluxo de trabalho também exigem uma relação de confiança com transfer.amazonaws.com. Para estabelecer uma relação de confiança para AWS Transfer Family, consulte Estabelecer um relacionamento de confiança.
Ao estabelecer sua relação de confiança, você também pode tomar medidas para evitar o problema substituto confuso. Para obter uma descrição desse problema, bem como exemplos de como evitá-lo, consulte Prevenção do problema do “confused deputy” entre serviços.
Exemplo de função de execução: descriptografar, copiar e marcar
Se você tiver fluxos de trabalho que incluem etapas de marcação, cópia e descriptografia, você pode usar a seguinte política do IAM. Substitua cada por suas próprias informações. user input
placeholder
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "CopyRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*" }, { "Sid": "CopyWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Sid": "CopyList", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*", "Condition": { "StringEquals": { "s3:RequestObjectTag/Archive": "yes" } } }, { "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Sid": "Decrypt", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:aws/transfer/*" } ] }
Exemplo de função de execução: executar função e excluir
Neste exemplo, você tem um fluxo de trabalho que invoca uma AWS Lambda função. Se o fluxo de trabalho excluir o arquivo carregado e tiver uma etapa de manipulador de exceções para agir em caso de falha na execução do fluxo de trabalho na etapa anterior, use a seguinte política do IAM. Substitua cada por suas próprias informações. 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:us-east-1:123456789012:function:function-name" ] } ] }