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

问题描述

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

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

错误 无法上传工件。由应用程序资源的CodeUri参数引用。调用PutObject操作时发生错误(AccessDenied):访问被拒绝

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

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的服务,因此它需要这种权限。