我在 S3 中有一个名为 home 的存储桶,它下面有多个文件夹。我希望允许特定用户能够访问路径下的文件夹 1:home/A/B/folder1。但是,我不希望他看到此主存储桶中的任何其他存储桶甚至其他文件夹。
任何人都可以帮助我制定这项政策吗?
我在 S3 中有一个名为 home 的存储桶,它下面有多个文件夹。我希望允许特定用户能够访问路径下的文件夹 1:home/A/B/folder1。但是,我不希望他看到此主存储桶中的任何其他存储桶甚至其他文件夹。
任何人都可以帮助我制定这项政策吗?
Amazon S3提供了几个用户策略示例,示例中探索了所需的场景:允许每个 IAM 用户访问存储桶中的文件夹:
在此示例中,您希望两个 IAM 用户 Alice 和 Bob 有权访问您的存储桶 examplebucket,以便他们可以添加、更新和删除对象。但是,您希望限制每个用户对存储桶中单个文件夹的访问。
正如那里所解释的,您可以为每个用户附加单独的策略,但是,同时最好使用IAM 策略变量来解决:
但是,您可以编写使用策略变量的单个策略并将该策略附加到组,而不是将策略附加到单个用户。[...] 以下示例策略允许在 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}/*" } ] }