我在S3中有一个名为home的存储桶,其下有多个文件夹。我想允许特定用户能够访问path:home / A / B / folder1下的folder1。但是我不希望他在这个家庭桶中看到任何其他桶甚至其他文件夹。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
Amazon S3提供了多个User Policy Examples,并在Example: Allow each IAM user access to a folder in a bucket中探讨了所需的方案:
在此示例中,您希望两个IAM用户Alice和Bob可以访问您的存储桶examplebucket,以便他们可以添加,更新和删除对象。但是,您希望限制每个用户对存储桶中单个文件夹的访问权限。
正如那里所解释的那样,您可以为每个用户附加单独的政策,但同时最好使用IAM Policy Variables来解决:
不是将策略附加到单个用户,而是可以 编写一个使用策略变量并附加的策略 对集团的政策。 [...]以下示例策略允许一组 examplebucket / $ {aws:username}文件夹中的Amazon S3权限。 评估策略时,策略变量$ {aws:username}为 由请求者的用户名替换。 [...]
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource":"arn:aws:s3:::examplebucket/${aws:username}/*" } ] }