如何设置对 view/restore AWS S3 对象版本历史的权限
How to set permissions to view/restore AWS S3 object version history
我似乎无法弄清楚我必须向我的策略添加哪些权限才能允许 IAM 用户访问 view/download 以前版本的对象。
目前,我的策略包含以下权限。登录 AWS 控制台网站后,用户确实可以看到存储桶中所有对象的先前版本的完整历史记录:
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:GetBucketVersioning",
"s3:ListBucketVersions",
"s3:GetObjectTagging",
"s3:PutObjectTagging"]
但是,当单击其中一个对象查看以前的版本时,打开或下载文件失败,并显示“拒绝访问”错误。
我也找到了这个API call,但它也只要求设置“s3:ListBucketVersions”权限,就是这样。
除最新版本外,还需要为以前的版本执行“获取”或“放置”什么?
这是我正在使用的政策。您需要对象的 GetObject、GetObjectVersion(以及 Put 操作)和存储桶的 ListBucket、ListBucketVersion。
- PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- s3:GetObject
- s3:GetObjectVersion
Effect: 'Allow'
Resource:
- !Sub ${ResourcesBucket.Arn}/*
- Action:
- s3:ListBucket
- s3:ListBucketVersions
Effect: 'Allow'
Resource:
- !GetAtt ResourcesBucket.Arn
我似乎无法弄清楚我必须向我的策略添加哪些权限才能允许 IAM 用户访问 view/download 以前版本的对象。
目前,我的策略包含以下权限。登录 AWS 控制台网站后,用户确实可以看到存储桶中所有对象的先前版本的完整历史记录:
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:GetBucketVersioning",
"s3:ListBucketVersions",
"s3:GetObjectTagging",
"s3:PutObjectTagging"]
但是,当单击其中一个对象查看以前的版本时,打开或下载文件失败,并显示“拒绝访问”错误。
我也找到了这个API call,但它也只要求设置“s3:ListBucketVersions”权限,就是这样。
除最新版本外,还需要为以前的版本执行“获取”或“放置”什么?
这是我正在使用的政策。您需要对象的 GetObject、GetObjectVersion(以及 Put 操作)和存储桶的 ListBucket、ListBucketVersion。
- PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- s3:GetObject
- s3:GetObjectVersion
Effect: 'Allow'
Resource:
- !Sub ${ResourcesBucket.Arn}/*
- Action:
- s3:ListBucket
- s3:ListBucketVersions
Effect: 'Allow'
Resource:
- !GetAtt ResourcesBucket.Arn