0

我似乎无法弄清楚必须向我的策略添加哪些权限才能允许 IAM 用户访问查看/下载对象的先前版本。

目前,我的策略包含以下权限。登录 AWS 控制台网站后,用户确实可以看到存储桶中所有对象的先前版本的完整历史记录:

    "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:GetBucketVersioning",
        "s3:ListBucketVersions",
        "s3:GetObjectTagging",
        "s3:PutObjectTagging"]

但是,当单击其中一个对象查看以前的版本时,打开或下载文件失败,并显示“访问被拒绝”错误。

我也发现了这个API 调用,但它也只要求设置“s3:ListBucketVersions”权限,就是这种情况。

此外,对于以前的版本(而不仅仅是最新版本)执行“get”或“put”需要什么?

4

1 回答 1

1

这是我正在使用的政策。您需要对象的 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   
于 2021-11-22T18:30:03.850 回答