【发布时间】:2021-12-01 20:25:28
【问题描述】:
我们设置了 CodePipeline 流程,除 CodeDeploy 阶段外,所有阶段都可以工作。
我们的流水线阶段如下:
- 为 CloudFormation 生成更改集
- CloudFormation 的 ExecuteChangeSet
- 为 CodeDeploy 部署
这些阶段由 CodeStar 设置和配置。
我们的 GenerateChangeSet 阶段尝试访问 s3 以获取我们的 BuildArtifact,但失败并出现以下错误:
Action execution failed
Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 40P7HSHQGWXSRA72; S3 Extended Request ID: I6hiCC7xx+YmnQMLfUnMzZziLDz/5b8uJWzOqWNZwSiVRCS14Q6UyVfss6q80teO5MAGuR9Xft4=; Proxy: null)
这表明 CloudFormation 无法访问 s3,但我已经检查并重新检查了它使用的策略,它肯定具有访问 s3 的正确权限。
我不太确定为什么会发生此错误,因为角色策略确实可以访问 s3。我什至选择了授予此角色对 s3 的完全控制权的核选项(以期在我解决问题后恢复),但无济于事,错误仍然发生。
有没有人遇到过这种情况?有人知道为什么会这样吗?
【问题讨论】:
-
您的 S3 存储桶是否已加密?您可以查看 Cloudtrail 事件吗?
-
您能否分享您的完整政策以及您的
GenerateChangeSet步骤的详细信息? -
您应该检查该策略是否已正确附加到角色,并且您将角色分配给您的管道(而不是云形成)。
标签: amazon-web-services amazon-s3 amazon-cloudformation aws-code-deploy