[英]AWS S3: user policy for specifc bucket
我只是设置了我的AWS S3。 我的应用程序可以使用完整的admin-acces键,但是由于这样做可能会有风险,因此我想设置一个具有IAM组的IAM用户,并只允许他使用S3东西。 我的存储桶位于eu-central-1中,在以下策略中其名称为“ MYBCKET”:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::MYBCKET"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::MYBCKET/*"
]
}
]
}
这是行不通的。 如果我为用户提供以下政策,则该政策有效:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"*"
]
}
]
}
必须肯定与资源有关。 有人可以向我解释资源的内容,以便我可以理解并希望发现错误吗? 只是告诉您:我确定我的存储桶名称拼写正确,并且在资源arn:aws:s3:::MYBCKET/*
和arn:aws:s3:::MYBCKET
等资源中尝试了不同的组合工作。
感谢您的答复和时间。
如果您的意图是用户应以编程方式访问存储桶,则我认为您的策略没有任何问题。
如果用户还需要能够通过控制台访问策略,则可以尝试使用此方法,该方法将允许用户列出存储桶:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3::: MYBCKET"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3::: MYBCKET/*"]
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.