J'essaie de définir le flux logique d'un modèle AWS CloudFormation qui assumera un rôle IAM pouvant extraire des fichiers d'un compartiment S3 dans un autre compte AWS.Comment puis-je utiliser AssumeRole à partir d'un autre compte AWS dans un modèle CloudFormation?
Ce que j'ai à ce jour est la suivante:
- a une roleA compte Pour
- roleA a une politique qui permet m: AssumeRole pour un rôle dans CompteB: arn: aws: iam :: 11122233444: rôle/AllowPullS3
- CompteB a un rôle (AllowPullS3) avec
- politique permet: s3 listBucket + get, put, supprimer
- relation de confiance pour compte pour: action: "m: AssumeRole"
Si je crée manuellement une instance EC2 avec IAM: roleA et que j'utilise ensuite l'interface de ligne de commande pour obtenir les informations d'identification assumer-rôle, je peux extraire les fichiers du compartiment S3 de l'autre compte comme prévu. Mais qu'est-ce que j'ai besoin de mettre où dans mon modèle accountA CF qui permettra à l'instance EC2 d'assumer le rôle B et tirer le fichier du seau accountB S3 dans le cadre de la formation?
J'ai essayé de suivre beaucoup de tutoriels tels que this cfn-iam:init tutorial mais je n'arrive toujours pas à comprendre ce qui se passe.
Merci pour votre avis.
Art
Avez-vous d'utiliser AssumeRole? Est-ce qu'une politique de seau suffirait ou essayez-vous d'éviter cela? Si vous avez créé manuellement le rôle dans accountA et l'avez attaché à l'instance EC2 à l'aide de la propriété IamInstanceProfile, vous pouvez ajouter l'ARN de rôle de accountA à une stratégie de compartiment dans le compartiment s3 du compteB si vous le souhaitez. C'est plus simple que de jouer avec des rôles inter-comptes. – lokulin