使用 CICD 管道的 cloudform 导入现有资源时 S3 访问被拒绝
我创建了一个 CICD 管道来导入 cloudformation 中的现有资源。我想导入现有的 S3 存储桶并对其进行加密,这一切都仅通过 codepipeline 进行。我已经使用了 codebuild & codepipeline 但我在运行 buildspec.yaml 时遇到错误:
调用 CreateChangeSet 时发生错误 (ValidationError) 操作:S3 错误:访问被拒绝
我可以使用控制台导入并处理同一件事,并且我在 codepipeline 和 codepipeline 中都添加了访问权限代码构建角色。
我的 buildspec.yml 部署以下命令:
- aws cloudformation create-change-set --stack-name ${STACK_NAME} --change-set-name ImportChangeSet --change-set-type IMPORT --resources-to-import file://ResourcesToImport.txt --template-url https://Bucket_Name.s3.eu-west-3.amazonaws.com/templates/Template_Import.yaml
I have created a cicd pipeline to import the existing resources in cloudformation. I want to Import the existing S3 bucket and encrypt it, all through the codepipeline only. I have used codebuild & codepipeline but I am getting an error while running the buildspec.yaml:
An error occurred (ValidationError) when calling the CreateChangeSet
operation: S3 error: Access Denied
I can import and work on the same thing using console, and I have added access in both codepipeline & codebuild roles.
My buildspec.yml deploys following command:
- aws cloudformation create-change-set --stack-name ${STACK_NAME} --change-set-name ImportChangeSet --change-set-type IMPORT --resources-to-import file://ResourcesToImport.txt --template-url https://Bucket_Name.s3.eu-west-3.amazonaws.com/templates/Template_Import.yaml
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于无法解决上述错误的人:
我尝试使用
--template-body
而不是--template-url
并且它有效,因为我在 cli 命令中提供的 url 有问题。于是上面的命令改成了这样:For those who couldn't solve the above error:
I tried with
--template-body
instead of--template-url
and it worked, because there was a issue with the url I provided in my cli command. So the above command changed to this: