从 S3 下载工件时代码构建访问被拒绝

2024-03-05

我的 CodeBuild 配置有 CodePipeline。 S3是我的神器商店。尽管已附加具有足够访问权限的 IAM 角色,但我仍然收到访问被拒绝消息。

错误消息的屏幕截图

我已经检查了与 Codebuild 关联的服务角色。它附有以下政策。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Resource": [
            "arn:aws:logs:ap-southeast-1:682905754632:log-group:/aws/codebuild/Build",
            "arn:aws:logs:ap-southeast-1:682905754632:log-group:/aws/codebuild/Build:*"
        ],
        "Action": [
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents"
        ]
    },
    {
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::codepipeline-ap-southeast-1-*"
        ],
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion"
        ]
    }
]

}

但是当我使用 IAM 策略验证器测试它时,我收到以下错误消息。

根据这个问题的公认答案,我目前拥有的策略应该允许我毫无问题地从 S3 获取工件 -下载源代码时 AWS Codebuild 失败。消息:访问被拒绝 https://stackoverflow.com/questions/48225778/aws-codebuild-fails-while-downloading-source-message-access-denied

如何消除访问被拒绝的消息?


当您已有 CodeBuild 项目并将其集成到 CodePipeline 管道时,通常会发生这种情况。当您将 Codebuild 项目与 CodePipeline 集成时,该项目将从 CodePipeline Source 输出中检索其源代码。源输出将存储在工件存储位置中,该位置是一个 S3 存储桶,可以是 CodePipeline 创建的默认存储桶,也可以是您在创建管道时指定的存储桶。

因此,您需要向 CodeBuild Service 角色提供访问 S3 中的 CodePipline 存储桶的权限。该角色需要将 S3 对象放入存储桶以及获取对象的权限。

我尝试过的政策同样有效:

{
  "Version": "2012-10-17",
  "Statement": [
{
  "Sid": "CodeBuildDefaultPolicy",
  "Effect": "Allow",
  "Action": [
    "codebuild:*",
    "iam:PassRole"
  ],
  "Resource": "*"      
},
{
  "Sid": "CloudWatchLogsAccessPolicy",
  "Effect": "Allow",
  "Action": [
    "logs:FilterLogEvents",
    "logs:GetLogEvents"
  ],
  "Resource": "*"
},
{
  "Sid": "S3AccessPolicy",
  "Effect": "Allow",
  "Action": [
    "s3:CreateBucket",
    "s3:GetObject",
    "s3:List*",
    "s3:PutObject"
  ],
  "Resource": "*"
  }
 ]
}

政策模拟器

AWS 参考 https://docs.aws.amazon.com/codebuild/latest/userguide/setting-up.html#setting-up-service-role

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 S3 下载工件时代码构建访问被拒绝 的相关文章

  • S3 Java 客户端经常失败,并出现“内容长度分隔消息正文过早结束”或“java.net.SocketException 套接字已关闭”

    我有一个在 S3 上做很多工作的应用程序 主要是从中下载文件 我看到很多此类错误 我想知道这是否是我的代码中的问题 或者服务是否真的像这样不可靠 我用来从 S3 对象流读取的代码如下 public static final void wri
  • AWS Glue 3.0 容器不适用于 Jupyter 笔记本本地开发

    我正在 AWS 中开发 Glue 并尝试在本地开发中进行测试和调试 我按照这里的说明进行操作https aws amazon com blogs big data developing aws glue etl jobs locally u
  • AWS SNS 发布到订阅的 Lambda 函数记录空字段

    试图将其发布到 AWS 论坛 但无论这意味着什么 我的帐户似乎 尚未准备好 我设置了一个 AWS Lambda 函数 用 Java 编写 该函数接受 POJO 以允许自动反序列化 JSON 我使用的测试 JSON 如下所示 表示一旦一切启动
  • 如何从 docker-compose 链接到 Amazon RDS

    我的 docker compose yml 看起来像这样 django build user django links LINK TO AMAZON RDS command gunicorn sh env file config setti
  • 如何获取AWS ec2中区域的可用容量?

    AWS 终止了我的运行位置 并出现错误 实例终止容量超额订阅 有没有办法查看不同 ec2 区域中实例类型的可用容量 这样我就可以在更 可用 的区域创建我的新位置 查看 现货实例历史记录 这不会告诉您未来 但会给您迄今为止的良好指示 此链接将
  • 用于格式化和挂载所有可用实例存储设备的脚本

    Amazon 提供实例存储 http docs amazonwebservices com AWSEC2 latest UserGuide InstanceStorage html对于 EC2 实例 如果您使用自己的 AMI 则不会自动为您
  • 将文件从 CodeCommit 部署到 S3

    我想将推送到 CodeCommit 存储库中的某些文件部署到 S3 存储桶中 我正在尝试使用存储库上的 Lambda 触发器来执行此操作 但是 我无法获取提交中更改的文件列表 也无法使用 AWS CodeCommit API 从 CodeC
  • 使用 AWS SSO 时 AWS Java SDK 未找到配置文件

    当我使用 AWS SSO 登录时 我无法访问 aws 我使用以下方式从计算机登录 aws sso login profile staging 配置文件的配置如下 profile staging sso start url https som
  • 在 aws lambda 更新过程中请求会发生什么情况?

    If I 触发 AWS Lambda 部署 更新 在第 1 步完成之前触发对 AWS Lambda 的请求 请求会直接命中旧的 lambda 吗 会报错吗 到目前为止 在我的测试中 似乎没有 停机时间 它几乎立即将旧的换成新的 尽管对新 l
  • 从 Flask 中的 S3 返回 PDF

    我正在尝试在 Flask 应用程序的浏览器中返回 PDF 我使用 AWS S3 来存储文件 并使用 boto3 作为与 S3 交互的 SDK 到目前为止我的代码是 s3 boto3 resource s3 aws access key id
  • 访问 AWS 上的 Tensorboard

    我正在尝试访问 AWS 上的 Tensorboard 这是我的设置 张量板 tensorboard host 0 0 0 0 logdir train 在端口 6006 上启动 TensorBoard b 39 您可以导航到http 172
  • 如何动态更新我的 AWS CloudWatch 控制面板?

    我在 CloudWatch 中有几个仪表板 它们代表我的基础设施的静态视图 例如 自动扩展工作组中当前正在运行的实例数量 或者各种关键 EC2 实例的 CPU 磁盘状态 但是 当我添加新实例时 我总是需要手动更新仪表板以将它们包含在显示中
  • AWS API Gateway 403 禁止

    我在 AWS API Gateway 中创建了一个 API 在该 API 中 我创建了一个带有自定义 http 端点的代理资源 但是当我访问API网关端点时https 2r3g3ttr6y execute api eu east 1 ama
  • DynamoDB 中的时间戳应使用什么数据类型?

    我是 DynamoDB 新手 我希望创建一个使用 DeviceID 作为哈希键 时间戳作为范围键和一些数据的表 DeviceID 123 Timestamp 2016 11 11T17 21 07 5272333Z X 12 Y 35 在
  • 输出和导出之间的区别

    在 CloudFormation 中 我们能够从模板输出一些值 以便其他进程 堆栈等可以检索它们 这通常是某个名称 可能是 URL 或在堆栈创建 部署 过程中生成的名称等 我们还能够从模板 导出 返回值作为 输出 与 导出 之间有什么区别
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • 在 RedShift 中声明变量

    SQL Server能够声明一个变量 然后在查询中调用该变量 如下所示 DECLARE StartDate date SET StartDate 2015 01 01 SELECT FROM Orders WHERE OrderDate g
  • AWS SQS Batch SendMessageBatchRequest 非常慢

    我的应用程序使用 SendMessageBatchRequest 将每个请求发布 10 条消息到 AWS SQS 每条消息的大小小于250字节 该应用程序预计每天发布约一百万条记录 但要实现这一目标 消息发布的速度非常慢 AmazonSQS
  • 从 Amazon API 网关终端节点输出纯文本内容

    使用 Amazon 的 API Gateway 我可以创建一个端点 该端点将调用输出纯文本的 lambda 函数 但是 当我在端点上发出请求时 输出会返回默认内容类型 application json 这将输出用引号括起来的纯文本响应 我想
  • 在 Serverless Framework 1.0 中使用路径参数

    我想使用路径参数 customer customerId of a GET请求以使用 AWS Lambda 查询客户 functions createCustomer handler handler createCustomer event

随机推荐

  • Google Apps 脚本中字符串的最大大小是多少?

    我正在将 csv 文件从 Gmail 附件导入到现有的 Google 电子表格中 我使用 getDataAsString 来保存整个 csv 内容 我已经尝试过不同的大小 最多可达 6000 个字符 该字符串可以包含的最大字符数是否存在 G
  • jquery ajax调用点击事件提交按钮

    我构建了一个 ajax 调用 当用户单击提交按钮时会提交该调用 我已经包含了 jquery 并编写了以下代码 取自 jquery 文档
  • 如何将两个 System.IO.Stream 实例连接成一个?

    假设我想连续向用户传输三个文件 但他不是给我一个Stream对象将字节向下推 我必须给他一个Stream他将从中提取字节的对象 我想带上我的三个FileStream对象 或者甚至更聪明 一个IEnumerable
  • 如何在 Laravel 中显示带有法语符号的验证消息?

    在 Laravel 验证中 制定了验证我的字段的规则 当我收到错误时 它会向我显示此错误 但没有法语符号 Le cin a d u00e9j u00e0 u00e9t u00e9 请注意 而不是显示此消息 Le cin a t d j pr
  • 如何在 Windows 10 上的 Visual Studio 2012 中添加 Edge 作为我的调试浏览器?

    我昨天将笔记本电脑升级到了 Windows 10 我希望在 Visual Studio 2012 中调试代码时能够使用 MS Edge 我找不到浏览器可执行文件 也不知道是否需要任何特殊的命令行参数才能使其正常工作 对此有任何提示或技巧吗
  • 修复 ColdFusion 中的 Unicode 转换问题/漏洞

    我们最近升级了安全扫描仪 它报告了一个新问题 建议的修复方法是什么 我们碰巧在 ACF9 另外 如果您有针对 CF 的漏洞利用示例 我将不胜感激 Unicode transformation issues Severity High Typ
  • ASIHTTPRequest 傻瓜书

    我是 ASIHTTPRequest 中的一个完整的虚拟人 我刚刚下载了该库并将其添加到我的项目中 现在我正在尝试了解使用它的基础知识 我找到了一些很好的例子here http iphone example blogspot com p as
  • 有没有办法发现哪些IP地址连接到数据库?

    我可以通过以下方式确定当前的连接数 db serverStatus connections 但给我的只是当前的连接数 是否有办法确定哪些 ip 已连接以及它们已分配给哪个连接号 从 mongo shell 中 这将打印客户端 IP 端口以及
  • 使用 cat 在闪亮的文本输出中插入换行符

    我正在尝试使用插入一些换行符cat and n使用一些文本输出shiny 这是我的相关部分ui R and server R 假设我想获得 t 检验的结果 并为 t df 和 p 值 单独设置一行 我正在使用闪亮的仪表板布局 样本数据 Gr
  • 如何实现一个非随机的随机数生成器?

    我需要一个随机数生成器来生成 n 和 m 之间的各种数字 但没有相同的概率 我想设置一个介于 n 和 m 之间的值 x 其中可能性最高 有没有一种简单的方法可以使用 Random 类来做到这一点 可能性应该具有二项分布或类似的形式 精确的二
  • SecCertificateRef:如何获取证书信息?

    我有一个证书 SecCertificateRef 我可以检查它是否有效 并且可以使用 SecCertificateCopySubjectSummary 提取 摘要 总结 到底是什么 我不理解术语 包含人类可读的证书内容摘要的字符串 在苹果文
  • 获取绑定到 Entry 小部件的 StringVar

    我正在编写一个简单的 GUI 程序 需要从 ini 文件加载默认值 我已经为 Entry 小部件指定了名称 并且可以通过以下方式获取它nametowidget方法 但是 我找不到访问绑定到条目小部件的 StringVar 并更新其值的方法
  • 右浮动 div 和最小宽度,div 在浏览器调整大小时移动到新行

    抱歉 标题没有很好地解释 但我会尽力在这里解释问题 如果我可以这样称呼它 那么这个特定问题可能有一个非常简单的解决方案 但我只是无法仅使用 css 来解决它 基本上我有一个父级 包装器 div 它设置了最小宽度和2个浮动子级 当我创建动态页
  • Docker-compose 链接与 external_links

    我相信这是一个简单的问题 但我仍然没有从 Docker compose 文档中得到它 链接和外部链接有什么区别 我喜欢 external links 因为我想要核心 docker compose 并且我想在不覆盖核心链接的情况下扩展它 我到
  • MongoParseError:URI 没有主机名、域名和 tld

    当我尝试将我的应用程序 nodejs 连接到 mongodb 时 出现此错误 我真的很感谢你在这里的帮助 MongoParseError URI does not have hostname domain name and tld at p
  • Android 旋转提示

    我有一个问题android prompt对于一个旋转器 我在 XML 文件中使用了以下代码 但它不起作用
  • 保存和加载数据(iphone sdk)

    我想知道在 iPhone 应用程序中保存和加载数据的最佳方法是什么 我正在尝试将字符串保存到文本文件或类似的文件中 然后将它们加载到表视图中 以便文本文件中的第一个条目是表视图中的第一行 依此类推 有人有一个想法我怎么能意识到这一点 提前致
  • npm 安装期间 libssh2 中“C 编译器无法创建可执行文件”

    我在 npm install 期间遇到以下错误nodegit http www nodegit org gt email protected cdn cgi l email protection preinstall home mhu no
  • 通过 SQL 身份验证连接时如何获取域用户名

    我有一个连接到 SQL Server 2000 的应用程序 使用通用 SQL 登录和 SQL 身份验证 我想通过触发器实现一些日志记录来跟踪数据更改 我不能使用USER NAME 因为这会返回通用帐户 我已经翻阅过master syspro
  • 从 S3 下载工件时代码构建访问被拒绝

    我的 CodeBuild 配置有 CodePipeline S3是我的神器商店 尽管已附加具有足够访问权限的 IAM 角色 但我仍然收到访问被拒绝消息 错误消息的屏幕截图 我已经检查了与 Codebuild 关联的服务角色 它附有以下政策