我试图让特定用户可以访问整个S3存储桶,但是当我尝试添加策略时:
{
"Id": "Policy1504234405196",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1505369345344",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::testhjh/*",
"Principal": {
"AWS": [
"arn:aws:iam::3164343231:user/testdfs"
]
}
}
]
}
错误:策略操作无效。
请告诉我上述政策出了什么问题?
答案 0 :(得分:2)
如果您希望授予特定用户或一组用户(例如系统管理员)的访问权限,不使用广告系列政策。
相反,直接将权限分配给IAM用户。
例如,您可以将此政策添加到IAM中的testdfs
用户:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowGetPut",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3::: testhjh/*"
]
}
]
}
这使得Bucket Policy更加清晰,如果用户离开您的组织,则更容易清理。
(如果您想知道自己的政策有什么问题,可能就是Id
字段。)