View a markdown version of this page

Politiche IAM per i flussi di lavoro - AWS Transfer Family

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Politiche IAM per i flussi di lavoro

Quando aggiungi un flusso di lavoro a un server, devi selezionare un ruolo di esecuzione. Il server utilizza questo ruolo quando esegue il flusso di lavoro. Se il ruolo non dispone delle autorizzazioni appropriate, non è AWS Transfer Family possibile eseguire il flusso di lavoro.

Questa sezione descrive un possibile set di autorizzazioni AWS Identity and Access Management (IAM) che puoi utilizzare per eseguire un flusso di lavoro. Altri esempi sono descritti più avanti in questo argomento.

Nota

Se i tuoi file Amazon S3 hanno tag, devi aggiungere una o due autorizzazioni alla tua policy IAM.

  • Aggiungi s3:GetObjectTagging un file Amazon S3 che non ha una versione.

  • Aggiungi s3:GetObjectVersionTagging un file Amazon S3 con versione.

Per creare un ruolo di esecuzione per il tuo flusso di lavoro
  1. Crea un nuovo ruolo IAM e aggiungi la policy AWS gestita AWSTransferFullAccess al ruolo. Per ulteriori informazioni sulla creazione di un nuovo ruolo IAM, consultaCrea un ruolo e una policy IAM.

  2. Crea un'altra policy con le seguenti autorizzazioni e allegala al tuo ruolo. Sostituisci ogni user input placeholder con le tue informazioni.

    { "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/*" ] } ] }
  3. Salva questo ruolo e specificalo come ruolo di esecuzione quando aggiungi un flusso di lavoro a un server.

    Nota

    Quando crei ruoli IAM, ti AWS consiglia di limitare l'accesso alle risorse il più possibile per il tuo flusso di lavoro.

Workflow: relazioni di fiducia

I ruoli di esecuzione del flusso di lavoro richiedono anche una relazione di fiducia contransfer.amazonaws.com. Per stabilire una relazione di fiducia per AWS Transfer Family, vederePer stabilire una relazione di trust.

Mentre stabilisci il tuo rapporto di fiducia, puoi anche prendere provvedimenti per evitare il confuso problema dei vice. Per una descrizione di questo problema e per esempi su come evitarlo, vediCross-service prevenzione sostitutiva confusa.

Esempio di ruolo di esecuzione: decifrare, copiare ed etichettare

Se disponi di flussi di lavoro che includono passaggi di codifica, copia e decrittografia, puoi utilizzare la seguente politica IAM. Sostituisci ogni user input placeholder con le tue informazioni.

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

Esempio di ruolo di esecuzione: Esegui la funzione ed elimina

In questo esempio, hai un flusso di lavoro che richiama una AWS Lambda funzione. Se il flusso di lavoro elimina il file caricato e dispone di una fase di gestione delle eccezioni che interviene in caso di esecuzione non riuscita del flusso di lavoro nel passaggio precedente, utilizza la seguente politica IAM. Sostituisci ogni user input placeholder con le tue informazioni.

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