如何阻止其他用户看到上传到Amazon S3的文件



我有一个带有一个文件夹的Amazon S3桶。我的要求是让许多IAM用户通过管理控制台将文件上传到该文件夹。但是,用户必须看不到/下载其他IAM用户上传的文件。

创建另一个文件夹并编写IAM策略以访问存储库并将文件夹名称前缀是可以的,但是我们不希望这样做,因为我们有大约100个用户可以上传文件。

<</p>

存储策略 iam策略是唯一的选择。

S3对象没有内置的用户求解(例如其他本地文件系统,例如NTFS或EXT3/4)。

因此

但是您无法使用水桶策略逃脱。您可以通过智能使用策略变量来避免编写许多政策,例如:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket"],
      "Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
    },
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
    }
  ]
}

来源:IAM策略变量概述

通过使用$(aws:username}变量,您可以将此策略应用于所有用户。只是让他们将自己的文件放在名称中的用户名中的文件夹中。

相关内容

  • 没有找到相关文章