调用 PutObject 操作时拒绝访问 - AWS Lambda Pipeline

Access Denied when calling the PutObject operation - AWS Lambda Pipeline

这是我第一次使用 AWS。我正在尝试为基本的 hello world python 代码创建 CICD 管道。

Git 集线器集成,变更检测在 AWS Code Pipeline 中运行良好,但在 build 阶段,我一次又一次地收到此错误。

错误: 无法上传工件。应用程序的 CodeUri 参数引用 resource.An 调用 PutObject 操作时发生错误 (AccessDenied):Access Denied

以下是关于我的项目的详细信息。

Github(用于 Python 代码,buildspec.yaml 和 template.yaml 文件)- https://github.com/prahamurali/awscicd.git

Error Message

IAM Roles

Pipeline

S3 Permissions

从您的问题来看,IAM Roles 中显示的角色不明确。但是,它似乎是与 CodeBuild.

无关的角色

如果是这种情况,那么您需要将 S3 访问权限添加到您的 CodeBuild 项目 的角色,而不是 CodePipeline 或 CloudFormation。原因是 CodeBuild 是实际将您的对象上传到 S3 的服务,因此它需要这样的权限。