You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置S3存储桶权限,让EC2 Image Builder执行S3Download操作?

解决EC2 Image Builder S3Download 403权限问题

核心原因

Image Builder构建实例使用的IAM角色缺少S3对象的s3:HeadObject和s3:GetObject权限,导致无法读取目标脚本文件。

配置步骤

1. 定位Image Builder使用的IAM角色

  • 打开Image Builder控制台,进入你的流水线详情页
  • 找到「基础设施配置」中的实例配置文件,记录关联的IAM角色名称

2. 为IAM角色添加S3权限

编辑该IAM角色的权限策略,添加以下JSON内容(替换为你的桶名和对象路径):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:HeadObject",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::nimbus3-scripts-2/SetEnvironmentVariables.ps1"
        }
    ]
}

若需要允许访问桶内所有脚本,可将Resource改为arn:aws:s3:::nimbus3-scripts-2/*

3. 检查S3桶公共访问设置

  • 进入S3控制台,打开目标桶的「权限」标签
  • 确认「阻止公共访问」设置未限制IAM角色的合法访问(默认的公共访问阻止规则不会影响IAM角色,但若有自定义拒绝规则需调整)

4. 配置S3桶策略(可选)

若IAM角色权限添加后仍报错,需在桶策略中明确允许该角色访问:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::你的AWS账户ID:role/ImageBuilder使用的角色名"
            },
            "Action": [
                "s3:HeadObject",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::nimbus3-scripts-2/SetEnvironmentVariables.ps1"
        }
    ]
}

注意替换其中的AWS账户ID和角色ARN。

5. 验证权限

使用IAM控制台的「策略模拟」工具,测试该角色是否拥有指定的S3操作权限,确保资源路径匹配无误。

内容的提问来源于stack exchange,提问作者Salman Banani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:17:40