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

如何配置AWS S3存储桶权限,使所有者仅可删除、仅指定用户可读

S3 高隐私场景权限配置方案

完全可以实现你要求的权限控制逻辑,无需用户掌握AWS/S3相关操作,仅需对方提供12位AWS账户ID即可完成配置。

核心实现逻辑

依托S3对象级权限与桶级权限分离的特性,通过「上传对象时指定专属ACL」+「桶策略限制所有者操作范围」的组合方案,即可实现:

  • 上传完成后仅指定用户拥有对象读取权限,无其他额外操作权限
  • 你方作为存储桶所有者仅拥有对象删除权限,无法读取文件内容、无法修改对象权限规则

具体操作步骤

  • 预先收集用户的12位AWS账户ID,记为TARGET_USER_ID
  • 作业运行完成输出数据到S3时,通过AWS CLI/SDK显式指定对象ACL,示例上传命令如下:
aws s3 cp /本地输出文件路径 s3://你的桶名/用户专属目录/输出文件名 \
  --grant-read id=${TARGET_USER_ID} \
  --acl private
  • 在桶策略中添加如下规则,限制你方账户的操作范围,仅保留删除权限:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": {"AWS": "你方的AWS账户ARN"},
            "Action": [
                "s3:GetObject",
                "s3:PutObjectAcl",
                "s3:PutObjectVersionAcl"
            ],
            "Resource": "arn:aws:s3:::你的桶名/用户专属目录/*"
        },
        {
            "Effect": "Allow",
            "Principal": {"AWS": "你方的AWS账户ARN"},
            "Action": "s3:DeleteObject",
            "Resource": "arn:aws:s3:::你的桶名/用户专属目录/*"
        }
    ]
}

效果验证

配置完成后权限逻辑如下:

  • 你方账户尝试读取/下载对象、修改对象权限时,会返回403访问拒绝
  • 你方账户可正常删除过期的用户输出文件
  • 对应用户仅可读取、下载自己的输出文件,无删除、修改权限,也无法访问桶内其他文件

注意事项

  • 不要开启桶的默认ACL继承,每次上传用户输出文件时都显式指定读权限仅对应用户
  • 无需给用户分配任何桶级权限,仅通过对象ACL即可完成授权,用户不需要做任何额外配置
  • 可将上述上传逻辑直接集成到作业完成的自动触发脚本中,无需人工干预

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:09:02