84 votes

Erreur de mise à jour AWS Stack: fonctionnalités requises: [CAPABILITY_IAM]

Lors de la création d'une pile avec CloudFormation, j'obtiens cette erreur:

 Stack update error: Requires capabilities : [CAPABILITY_IAM]
 

Je ne trouve pas de modèle pour ajouter CAPABILITIES_IAM à la configuration CloudFormation.

Quelles sont les options pour résoudre les erreurs CAPABILITIES_IAM

139voto

Eric Nord Points 1384

Vous devez cocher une case sur le dernier écran de la création de la pile.

Dans CodePipeline CloudFormation vous pouvez l'ajouter comme ceci pour permettre l'exécution de la créé change_set dans le déploiement de l'action:

Configuration:
        StackName: !Ref GitHubRepository
        ActionMode: CHANGE_SET_REPLACE
        Capabilities: CAPABILITY_NAMED_IAM
        RoleArn: arn:aws:iam::818272543125:role/events-list-codepiplinerole
        ChangeSetName: !Join ["",[!Ref GitHubRepository, "-changeset"]]
        TemplatePath: MyAppBuild::sam_post.yaml

Dans aws cli ajouter

--capabilities CAPABILITY_IAM

ou

--capabilities CAPABILITY_NAMED_IAM

Pour votre commande comme ceci:

aws cloudformation create-stack --stack-name message-store --template-body file://bucket_with_keys.yaml --parameters file://cfg_bucket_with_keys.json --capabilities CAPABILITY_NAMED_IAM

Cela ne s'applique pas à cloudformation --valider-modèle, car elle n'est pas réellement de la création de ressources.

12voto

fmtn07 Points 191

Si vous utilisez l'AWS CLI, vous pouvez ajouter un paramètre supplémentaire à la commande aws cloudformation create-stack qui indique explicitement que vous souhaitez que ces capacités soient fournies.

(c'est l'équivalent CLI de cocher la case dans l'autre réponse ici).

Le paramètre est --capabilities CAPABILITY_IAM , donc votre commande ressemblerait à:

aws cloudformation create-stack --stack-name $STACK_NAME --capabilities CAPABILITY_IAM

J'espère que cela pourra aider

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X