IAMpolitiche per l'utilizzo degli stati della mappa distribuita - AWS Step Functions

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à.

IAMpolitiche per l'utilizzo degli stati della mappa distribuita

Quando crei flussi di lavoro con la console Step Functions, Step Functions può generare automaticamente IAM policy basate sulle risorse nella definizione del flusso di lavoro. Queste politiche includono i privilegi minimi necessari per consentire al ruolo della macchina a stati di richiamare l'StartExecutionAPIazione per lo stato della Mappa distribuita. Queste policy includono anche i privilegi minimi necessari Step Functions per accedere alle AWS risorse, come i bucket e gli oggetti Amazon S3 e le funzioni Lambda. Ti consigliamo vivamente di includere solo le autorizzazioni necessarie nelle tue politiche. IAM Ad esempio, se il tuo flusso di lavoro include uno Map stato in modalità Distribuita, limita le policy allo specifico bucket e alla cartella Amazon S3 che contiene il set di dati.

Importante

Se specifichi un bucket Amazon S3 e un oggetto, o prefisso, con un percorso di riferimento a una coppia chiave-valore esistente nell'input dello stato della Mappa distribuita, assicurati di aggiornare le politiche per il tuo flusso di lavoro. IAM Definisci le policy fino ai nomi dei bucket e degli oggetti in cui il percorso si risolve in fase di esecuzione.

Esempio di IAM policy per l'esecuzione di uno stato della mappa distribuita

Quando includi uno stato della mappa distribuita nei flussi di lavoro, Step Functions necessita delle autorizzazioni appropriate per consentire al ruolo della macchina a stati di richiamare l'StartExecutionAPIazione per lo stato della mappa distribuita.

Il seguente esempio di IAM policy concede i privilegi minimi richiesti al ruolo della macchina a stati per l'esecuzione dello stato della mappa distribuita.

Nota

Assicurati di sostituirlo stateMachineName con il nome della macchina a stati in cui stai utilizzando lo stato Distributed Map. Ad esempio arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:region:accountID:stateMachine:stateMachineName" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": "arn:aws:states:region:accountID:execution:stateMachineName:*" } ] }

Esempio di IAM politica per redriving una mappa distribuita

È possibile riavviare le esecuzioni di workflow secondarie non riuscite in una mappa eseguita dal redrivingflusso di lavoro principale. Un flusso di lavoro redriven principale con redrives tutti gli stati non riusciti, inclusa Distributed Map. Assicurati che il tuo ruolo di esecuzione disponga dei privilegi minimi necessari per consentirgli di richiamare l'RedriveExecutionAPIazione sul flusso di lavoro principale.

Il seguente esempio di IAM policy concede i privilegi minimi richiesti al ruolo di macchina a stati per uno stato di Distributed redriving Map.

Nota

Assicurati di sostituirlo stateMachineName con il nome della macchina a stati in cui stai utilizzando lo stato Distributed Map. Ad esempio arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachine/myMapRunLabel:*" } ] }

Esempi di IAM politiche per la lettura dei dati dai set di dati di Amazon S3

I seguenti esempi di IAM policy garantiscono i privilegi minimi necessari per accedere ai set di dati di Amazon S3 utilizzando ListObjects V2 and actions. GetObjectAPI

Esempio IAMpolicy per oggetti Amazon S3 come set di dati

L'esempio seguente mostra una IAM politica che concede i privilegi minimi per accedere agli oggetti organizzati all'interno di un processImages bucket Amazon S3 denominato. myBucket

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::myBucket" ], "Condition": { "StringLike": { "s3:prefix": [ "processImages" ] } } } ] }
Esempio IAMpolitica per un file come set di dati CSV

L'esempio seguente mostra una IAM politica che concede i privilegi minimi per accedere a un CSV file denominato. ratings.csv

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::myBucket/csvDataset/ratings.csv" ] } ] }
Esempio IAMpolitica per un inventario Amazon S3 come set di dati

L'esempio seguente mostra una IAM politica che concede i privilegi minimi per accedere a un report di inventario di Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::destination-prefix/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json", "arn:aws:s3:::destination-prefix/source-bucket/config-ID/data/*" ] } ] }

Esempio di IAM policy per la scrittura di dati in un bucket Amazon S3

Il seguente esempio di IAM policy concede i privilegi minimi richiesti per scrivere i risultati dell'esecuzione del workflow secondario in una cartella denominata csvJobs in un bucket Amazon S3 utilizzando l'azione. PutObject API

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::resultBucket/csvJobs/*" ] } ] }

IAMautorizzazioni per il bucket Amazon S3 AWS KMS key crittografato

Lo stato della mappa distribuito utilizza caricamenti in più parti per scrivere i risultati dell'esecuzione del flusso di lavoro secondario in un bucket Amazon S3. Se il bucket è crittografato utilizzando una AWS Key Management Service (AWS KMS) chiave, devi includere anche le autorizzazioni per eseguire la IAM chiave e le kms:Decrypt azioni sulla chiave. kms:Encrypt kms:GenerateDataKey Queste autorizzazioni sono obbligatorie perché Amazon S3 deve decrittografare e leggere i dati dalle parti di file crittografate prima di completare il caricamento in più parti.

Il seguente esempio di IAM policy concede l'kms:Decryptautorizzazione e kms:GenerateDataKey le azioni sulla chiave utilizzata per crittografare il bucket Amazon S3. kms:Encrypt

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd" ] } }

Per ulteriori informazioni, consulta Caricamento di un file di grandi dimensioni su Amazon S3 con la crittografia utilizzando una AWS KMS key nel Knowledge Center di AWS .

Se il tuo IAM utente o ruolo è Account AWS uguale aKMS key, devi disporre di queste autorizzazioni sulla policy chiave. Se il tuo IAM utente o ruolo appartiene a un account diverso da quelloKMS key, devi disporre delle autorizzazioni sia per la policy chiave che per l'IAMutente o il ruolo.