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 servizi integrati
Quando si crea una macchina a stati nella AWS Step Functions console, Step Functions produce una policy AWS Identity and Access Management (IAM) basata sulle risorse utilizzate nella definizione della macchina a stati come segue:
-
Se la tua macchina a stati utilizza una delle integrazioni ottimizzate, Step Functions creerà una policy con le autorizzazioni e i ruoli necessari per la tua macchina a stati. (Eccezione: MediaConvert l'integrazione richiede la configurazione manuale delle autorizzazioni, vedi.) Politiche IAM per AWS Elemental MediaConvert
-
Se la tua macchina a stati utilizza una delle integrazioni AWS SDK, verrà creato un ruolo IAM con autorizzazioni parziali. Successivamente, puoi utilizzare la console IAM per aggiungere eventuali policy relative ai ruoli mancanti.
Gli esempi seguenti mostrano come Step Functions genera una policy IAM basata sulla definizione della macchina a stati. Le voci nel codice di esempio, come
, vengono sostituite con le risorse statiche elencate nella definizione della tua macchina a stati. Se disponi di più risorse statiche, sarà presente una voce per ciascuna nel ruolo IAM.[[resourceName]]
Risorse dinamiche e statiche
Le risorse statiche sono definite direttamente nello stato task della tua macchina a stati. Quando includi le informazioni sulle risorse che desideri chiamare direttamente negli stati delle attività, Step Functions crea un ruolo IAM solo per quelle risorse.
Le risorse dinamiche sono quelle che vengono trasferite all'input dello stato e sono accessibili attraverso un percorso (consulta Percorsi). Se stai passando risorse dinamiche alla tua attività, Step Functions creerà una politica più privilegiata che specifica:. "Resource": "*"
Autorizzazioni aggiuntive per le attività che utilizzano il pattern Run a Job
Per le attività che utilizzano il pattern Run a Job (quelle che terminano con.sync
), sono necessarie autorizzazioni aggiuntive per monitorare e ricevere una risposta dalle azioni API dei servizi connessi. Le politiche correlate includono più autorizzazioni rispetto alle attività che utilizzano i modelli Request Response o Wait for Callback. Modelli di integrazione dei serviziPer informazioni sulle attività sincrone, vedere.
Nota
È necessario fornire autorizzazioni aggiuntive per le integrazioni di servizi che supportano il pattern Run a Job (.sync).
Step Functions utilizza due metodi per monitorare lo stato di un lavoro quando un lavoro viene eseguito su un servizio connesso, sondaggi ed eventi.
Il polling richiede l'autorizzazione Describe
o le azioni Get
dell'API, come ecs:DescribeTasks
o. glue:GetJobRun
Se nel tuo ruolo mancano queste autorizzazioni, Step Functions potrebbe non essere in grado di determinare lo stato del tuo lavoro. Questo perché alcune integrazioni di servizi Run a Job (.sync) non supportano EventBridge gli eventi e alcuni servizi inviano eventi solo se possibile.
Gli eventi inviati dai AWS servizi ad Amazon EventBridge vengono indirizzati a Step Functions utilizzando una regola gestita e richiedono autorizzazioni per events:PutTargets
events:PutRule
, eevents:DescribeRule
. Se nel tuo ruolo mancano queste autorizzazioni, potrebbe verificarsi un ritardo prima che Step Functions venga a conoscenza del completamento del tuo lavoro. Per ulteriori informazioni sugli EventBridge eventi, consulta Events from AWS services.
Nota
Per le attività Run a Job (.sync) che supportano sia il polling che gli eventi, l'attività potrebbe comunque essere completata correttamente utilizzando gli eventi. Ciò può verificarsi anche se il ruolo non dispone delle autorizzazioni necessarie per il polling. In questo caso, potresti non accorgerti immediatamente che i permessi di sondaggio sono errati o mancanti. Nel raro caso in cui l'evento non venga inviato o elaborato da Step Functions, l'esecuzione potrebbe bloccarsi. Per verificare che i permessi di polling siano configurati correttamente, è possibile eseguire un'esecuzione in un ambiente senza EventBridge eventi nei seguenti modi:
-
Elimina la regola gestita da EventBridge, che è responsabile dell'inoltro degli eventi a Step Functions. Questa regola gestita è condivisa da tutte le macchine a stati del tuo account, quindi dovresti eseguire questa azione solo in un account di test o di sviluppo per evitare qualsiasi impatto involontario su altre macchine a stati. È possibile identificare la regola gestita specifica da eliminare esaminando il
Resource
campo utilizzato nel modello di policy perevents:PutRule
il servizio di destinazione. La regola gestita verrà ricreata la prossima volta che si crea o si aggiorna una macchina a stati che utilizza l'integrazione del servizio. Per ulteriori informazioni sull'eliminazione EventBridge delle regole, vedere Disabilitazione o eliminazione di una regola. -
Esegui il test con Step Functions Local, che non supporta l'uso di eventi per completare le attività Run a Job (.sync). Per utilizzare Step Functions Local, assumi il ruolo IAM utilizzato dalla tua macchina a stati. Potrebbe essere necessario modificare la relazione di fiducia. Imposta le variabili di
AWS_SESSION_TOKEN
ambienteAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
, e sui valori del ruolo assunto, quindi avvia Step Functions Local utilizzandojava -jar StepFunctionsLocal.jar. Infine, usa il --endpoint-url parametro AWS CLI with the per creare una macchina a stati, avviare un'esecuzione e ottenere la cronologia delle esecuzioni. Per ulteriori informazioni, consulta Test di macchine a stato locale.
Se un'attività che utilizza il pattern Run a Job (.sync) viene interrotta, Step Functions farà il possibile per annullarla. Ciò richiede l'autorizzazione a Cancel
Stop
Terminate
, o azioni Delete
API, come batch:TerminateJob
o. eks:DeleteCluster
Se nel tuo ruolo mancano queste autorizzazioni, Step Functions non sarà in grado di annullare l'attività e potresti addebitare costi aggiuntivi mentre questa continua a essere eseguita. Per ulteriori informazioni sull'interruzione delle attività, consulta Run a Job.
Modelli di policy utilizzati per creare ruoli IAM
I seguenti argomenti includono i modelli di policy utilizzati quando scegli che Step Functions crei un nuovo ruolo per te.
Nota
Consulta questi modelli per capire come Step Functions crea le tue policy IAM e come esempio di come creare manualmente policy IAM per Step Functions quando lavori con altri AWS servizi. Per ulteriori informazioni sulle integrazioni dei servizi Step Functions, vedereUtilizzo AWS Step Functions con altri servizi.
Argomenti
- Politiche IAM per Amazon API Gateway
- Politiche IAM per Amazon Athena
- Politiche IAM per AWS Batch
- IAM policies for Amazon Bedrock
- Politiche IAM per AWS CodeBuild
- Politiche IAM per Amazon DynamoDB
- Politiche IAM per Amazon ECS/AWS Fargate
- Politiche IAM per Amazon EKS
- Politiche IAM per Amazon EMR
- Politiche IAM per Amazon EMR su EKS
- Policy IAM per Amazon EMR Serverless
- Politiche IAM per Amazon EventBridge
- Politiche IAM per AWS Lambda
- Politiche IAM per AWS Elemental MediaConvert
- Politiche IAM per AWS Glue
- Politiche IAM per AWS Glue DataBrew
- Politiche IAM per Amazon SageMaker
- Politiche IAM per Amazon SNS
- Politiche IAM per Amazon SQS
- Politiche IAM per AWS Step Functions
- Politiche IAM per AWS X-Ray
- Attività o nessuna attività