【发布时间】:2020-09-16 10:04:18
【问题描述】:
我正在尝试在 S3 的对象级别限制用户访问。
s3 存储桶中有 2 个文件夹。我正在尝试仅授予对对象中一个文件夹的访问权限。
这两个文件夹是:
- 经纪人
- 载体
这是 IAM 角色政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::lodeobucket"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": "arn:aws:s3:::lodeobucket/broker/*"
}
]
}
但用户也可以访问运营商文件夹。
谁能建议我错过了什么?
【问题讨论】:
-
这是 IAM 策略,而不是存储桶策略。那么有问题的用户是否附加了此政策?
-
@Marcin 是的,这是 IAM 政策,我也应该有任何存储桶政策吗?
-
默认存储桶是私有的。因此,如果用户有权访问它,则意味着还有其他一些策略可以启用它。如果您想要该特定用户,您可以明确拒绝对该文件夹的访问。
-
@Marcin 用户只附加了该策略。但是,他仍然能够看到 'carrier' 文件夹中的对象
-
@Marcin 我正在寻找除了“经纪人”之外的任何其他文件夹。这可能吗?
标签: amazon-web-services amazon-s3 amazon-iam