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

为何配置IAM策略限制S3特定对象版本访问后,list命令仍返回全部版本?

问题

我的S3桶中有一个对象的三个版本,我试图创建IAM角色以使用户仅能访问该对象的特定版本,当前使用的IAM策略如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions"
            ],
            "Resource": "arn:aws:s3:::my-bucket"
        },
        {
            "Effect": "Allow",
            "Action": "s3:GetObjectVersion",
            "Resource": "arn:aws:s3:::my-bucket/photo.jpg"
        },
        {
            "Effect": "Deny",
            "Action": "s3:GetObjectVersion",
            "Resource": "arn:aws:s3:::my-bucket/photo.jpg",
            "Condition": {
                "StringNotEquals": {
                    "s3:VersionId": "X9R5gJiVUszzxtlsBdMi_cfvftr43"
                }
            }
        }
    ]
}

但执行aws s3api list-object-versions --bucket my-bucket --prefix photo.jpg命令时,仍返回该文件的全部三个版本,请问我哪里配置错误?

答案

你的策略只限制了**获取特定对象版本(s3:GetObjectVersion)的权限,但完全放开了列出对象版本(s3:ListBucketVersions)**的权限,没有对该操作做任何版本过滤,所以执行list-object-versions时会返回所有版本信息。

要解决这个问题,需要给s3:ListBucketVersions的权限添加版本限制,有两种常见方式:

方式1:仅允许列出指定版本

修改原策略中s3:ListBucketVersions的Allow语句,添加Condition过滤目标版本ID:

{
    "Effect": "Allow",
    "Action": [
        "s3:ListBucketVersions"
    ],
    "Resource": "arn:aws:s3:::my-bucket",
    "Condition": {
        "StringEquals": {
            "s3:VersionId": "X9R5gJiVUszzxtlsBdMi_cfvftr43"
        }
    }
}

方式2:拒绝列出非目标版本

保留原Allow语句,新增一条Deny语句,拒绝列出除目标版本外的其他版本:

{
    "Effect": "Deny",
    "Action": "s3:ListBucketVersions",
    "Resource": "arn:aws:s3:::my-bucket",
    "Condition": {
        "StringNotEquals": {
            "s3:VersionId": "X9R5gJiVUszzxtlsBdMi_cfvftr43"
        }
    }
}

修改后,执行list-object-versions命令就只会返回你指定的那个版本信息,同时原有的GetObjectVersion权限限制依然生效,用户只能获取该特定版本的对象内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:15:36