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 può eseguire il flusso di lavoro.

Questa sezione descrive un possibile set di autorizzazioni AWS Identity and Access Management (IAM) che è possibile 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 per un file Amazon S3 senza versione.

  • Aggiungi s3:GetObjectVersionTagging per 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 associala 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:::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. 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 tue risorse il più possibile per il tuo flusso di lavoro.

Relazioni di fiducia nel workflow

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 stabilite il vostro rapporto di fiducia, potete anche prendere provvedimenti per evitare il confuso problema del vicesceriffo. Per una descrizione di questo problema e per alcuni esempi su come evitarlo, consultaPrevenzione del problema "confused deputy" tra servizi.

Esempio di ruolo di esecuzione: decrittografia, copia e tag

Se disponi di flussi di lavoro che includono passaggi di etichettatura, 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:::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/*" } ] }

Esempio di ruolo di esecuzione: Esegui la funzione ed elimina

In questo esempio, avete un flusso di lavoro che richiama una AWS Lambda funzione. Se il flusso di lavoro elimina il file caricato e prevede un passaggio di gestione delle eccezioni che interviene in caso di esecuzione non riuscita del flusso di lavoro nel passaggio precedente, utilizza la seguente policy 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:region:account-id:function:function-name" ] } ] }