aws s3 存储桶策略
aws s3 bucket policy
我创建了一个简单的策略来为经过身份验证的(访问 key/password )用户访问特定的存储桶。以下是政策
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xxxxxxx/*"
]
}
]
}
但是用户无法访问它。如果我用 "arn:aws:s3:::*" 替换资源,它可以工作,但会向附加用户显示所有存储桶。
试试这个:
{
"Statement": [
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::xxxxxxx",
"arn:aws:s3:::xxxxxxx/*"
]
}
]
}
您需要在存储桶 (/*) 内授予访问权限,然后再授予存储桶本身的访问权限,这是您缺少的部分。
作为E.J。 Brennan 建议您可以将存储桶本身添加到资源列表,但这将赋予用户删除存储桶本身的权利。如果您只是想让他们查看存储桶并能够修改其中的对象,除了您当前拥有的权限之外,您还可以授予对存储桶的列表访问权限,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::xxxxxxx"
]
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xxxxxxx/*"
]
}
]
}
我创建了一个简单的策略来为经过身份验证的(访问 key/password )用户访问特定的存储桶。以下是政策
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xxxxxxx/*"
]
}
]
}
但是用户无法访问它。如果我用 "arn:aws:s3:::*" 替换资源,它可以工作,但会向附加用户显示所有存储桶。
试试这个:
{
"Statement": [
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::xxxxxxx",
"arn:aws:s3:::xxxxxxx/*"
]
}
]
}
您需要在存储桶 (/*) 内授予访问权限,然后再授予存储桶本身的访问权限,这是您缺少的部分。
作为E.J。 Brennan 建议您可以将存储桶本身添加到资源列表,但这将赋予用户删除存储桶本身的权利。如果您只是想让他们查看存储桶并能够修改其中的对象,除了您当前拥有的权限之外,您还可以授予对存储桶的列表访问权限,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::xxxxxxx"
]
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xxxxxxx/*"
]
}
]
}