CloudFormation

iam:PassRole vers une stack CloudFormation pour créer des ressources et exécuter des actions sous un rôle de stack privilégié.

1 min de lecturemis à jour le 12 oct. 2026florianamette1 contributeur
Demander à votre assistant (MCP)Modifier sur GitHub

CloudFormation peut déployer une stack en utilisant un rôle de service plutôt que vos propres autorisations. Avec iam:PassRole et cloudformation:CreateStack, vous passez un rôle privilégié et soumettez un modèle qui provisionne tout ce que ce rôle peut créer, y compris de nouveaux principaux ou politiques IAM.

Déployer avec un rôle passé#

bash
# template.yaml creates, for example, an admin user or attaches a policy
aws cloudformation create-stack --stack-name x \
  --template-body file://template.yaml \
  --role-arn arn:aws:iam::<acct>:role/<privileged-stack-role> \
  --capabilities CAPABILITY_NAMED_IAM

Comme c'est le rôle de stack qui réalise la création de ressources, un modèle qui crée un AWS::IAM::User avec une clé d'accès, ou attache AdministratorAccess, réussit même si votre propre principal ne le peut pas.

Notes d'exploitation#

  • CAPABILITY_NAMED_IAM est requis lorsque le modèle touche à IAM ; c'est le rôle, et non vous, qui doit détenir les autorisations IAM.
  • Mettre à jour une stack existante qui porte déjà un rôle privilégié est la variante ressources existantes et ne nécessite aucun PassRole.
  • Les sorties de la stack peuvent renvoyer directement la clé d'accès créée, de sorte qu'aucune étape de récupération séparée n'est nécessaire.

Outils#

  • AWS CLI (cloudformation create-stack).
  • Pacu : modules privesc et données de CloudFormation.

Références#