Sto cercando di elaborare il flusso logico per un modello AWS CloudFormation che assumerà un ruolo IAM in grado di estrarre file da un bucket S3 in un altro account AWS.Come posso utilizzare AssumeRole da un altro account AWS in un modello CloudFormation?
Quello che ho finora è:
- considerazione La ha un roleA
- roleA ha politica che permette STS: AssumeRole per un ruolo nel accountB: ARN: AWS: :: iam 11.122.233,444 mila: ruolo/AllowPullS3
- accountB ha un ruolo (AllowPullS3) con
- politica permettere: s3 listBucket + gET, PUT, eliminare
- relazione di trust per considerazione La: Azione: "STS: AssumeRole"
Se creo un'istanza EC2 manualmente con IAM: roleA e poi utilizzo la CLI per ottenere le credenziali del ruolo di presunzione, posso quindi estrarre i file dal secchio S3 dell'altro account come previsto.
Ma che cosa è necessario inserire nel mio account Un modello CF che consenta all'istanza EC2 di assumere il ruoloB e di estrarre il file dal sec di S3 dell'account come parte della formazione?
Ho provato a seguire un sacco di tutorial come this cfn-iam:init tutorial ma ancora non riesco a cogliere appieno cosa va dove.
Grazie per il vostro consiglio.
Art
Avete usare AssumeRole? Basterebbe una politica del bucket o stai cercando di evitarlo? Se hai creato manualmente il ruolo nell'accountA e lo hai allegato all'istanza EC2 utilizzando la proprietà IamInstanceProfile, puoi aggiungere il ruolo ARN dall'accountA a un criterio bucket sul bucket s3 nell'accountB se sei felice di farlo. È più semplice che scherzare con i ruoli degli account incrociati. – lokulin