aws / aws/aws-toolkit-azure-devops
Change defaults for CAPABILITY_IAM and CAPABILITY_NAMED_IAM in CloudFormationCreateOrUpdateStack
- Dominant language
- TypeScript
- Stars
- 258
- Forks
- 114
- PR merge metrics
- No merged PRs in 30d
Description
When using the AWS Toolkit for Azure DevOps, there is an issue with the default parameters for the CloudFormationCreateOrUpdateStack task.
If the pipeline YAML is created without specifying the "capabilityIAM" or "capabilityNamedIAM" parameters for this task, they are both assumed to be TRUE and CloudFormation is granted to ability to affect IAM changes.
As per the documentation regarding these parameters ([https://docs.aws.amazon.com/vsts/latest/userguide/cloudformation-create-update.html ](https://docs.aws.amazon.com/vsts/latest/userguide/cloudformation-create-update.html)) IAM changes should not be allowed unless the IAM cabaility has been explicitly set. It should not default to allowed if no explicit setting is made. This behaviour does not appear to align with any other method of using CloudFormation Stack Create/Update, such as through the console or CLI.
The Toolkit repo shows that the IAM Capapbilty parameters are set as not required and given a default of "true". See code here: https://github.com/aws/aws-toolkit-azure-devops/blob/9075418f4e431841b5c39aeaf4b529616662ae78/src/tasks/CloudFormationCreateOrUpdateStack/task.json
To match the behaviour of other methods of using CloudFormation, and the documentation, the two capabilities should default to false.
Contributor guide
Research direction
Start with src/tasks/CloudFormationCreateOrUpdateStack/task.json, which defines the capabilityIAM and capabilityNamedIAM parameters for the CloudFormationCreateOrUpdateStack task. Check their current defaults against the linked documentation and confirm that both are false when omitted; the task should no longer grant IAM capability unless explicitly enabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, devops
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 50/100