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

如何为特定用户授予私有S3存储桶内指定文件的访问权限

S3私有存储桶向特定用户授予部分对象访问权限的实现方案

根据授权对象的不同,可选择以下对应方案:

场景1:授权对象为同一AWS账号下的IAM用户

两种实现方式可选:

  • 方式1:给目标IAM用户附加权限策略
    直接在IAM控制台找到对应用户,新增权限策略即可,无需修改存储桶配置,参考策略示例:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::你的存储桶名称",
            "Condition": {
                "StringLike": {
                    "s3:prefix": ["允许访问的前缀/*", "允许访问的前缀"]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::你的存储桶名称/允许访问的前缀/*"
        }
    ]
}
  • 方式2:配置S3桶策略
    在S3控制台的存储桶「权限」tab下找到桶策略配置项,填入对应策略即可,无需修改IAM用户的原有权限配置,参考策略示例:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::你的AWS账号ID:user/目标用户名"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::你的存储桶名称",
            "Condition": {
                "StringLike": {
                    "s3:prefix": ["允许访问的前缀/*", "允许访问的前缀"]
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::你的AWS账号ID:user/目标用户名"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::你的存储桶名称/允许访问的前缀/*"
        }
    ]
}

场景2:授权对象为其他AWS账号下的用户/身份

直接使用上述桶策略方案即可,将策略中Principal字段的ARN替换为目标用户/角色的对应ARN即可,注意目标账号侧也需要给对应用户放开对应S3操作的权限,才可以正常访问资源。

场景3:授权对象为无AWS账号的外部用户

使用预签名URL即可,你可以通过AWS CLI、SDK生成指定对象的临时访问链接,持有链接的所有人都可以在有效期内访问对应对象,无需拥有AWS身份。
参考CLI命令:aws s3 presign s3://存储桶名称/对象路径 --expires-in 3600
上述命令可生成有效期为1小时的访问链接,使用永久IAM密钥生成时最长可设置7天有效期,使用临时安全凭证生成时有效期不超过凭证本身的有效期。

注意事项

  • 所有权限配置遵循最小权限原则,仅授予必要的操作权限,不要随意放开s3:*类的全量权限
  • 如果不需要用户列出存储桶内的对象,可以直接删除s3:ListBucket相关的配置项
  • 不推荐使用对象级ACL做权限管控,目前AWS官方优先推荐使用IAM策略、桶策略做统一权限管理,避免出现权限配置冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:45:03