我正在尝试创建一个仅具有将对象 (PutObject) 访问名为“desking”的 S3 存储桶权限的用户。
在 IAM 中我创建了一个用户,并应用了此策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPut",
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::desking/*"
]
}
]
}
但是,当我进入“模拟策略”时,出现错误:implicitly denied (no matching statements found)
我也尝试向实际的“办公桌”存储桶添加一项策略:
{
"Id": "Policy1447457038043",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1447457035535",
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::desking/*",
"Principal": "*"
}
]
}
但是,仍然是同样的错误。
我是否需要针对存储桶和用户制定策略?或者针对用户的策略就足够了吗?
答案1
所以,事实证明我使用模拟器的方式是错误的。
我需要点击模拟器内的服务列表并将其添加到 ARN:
arn:aws:s3:::办公桌/*
现在就可以了。只需要用户策略,不需要两者。