使用 IAM 角色限制对 s3 存储桶的访问
Limiting Access to s3 Buckets using IAM roles
我正在尝试为用户创建 访问权限,以便能够 上传 和 下载 到亚马逊 AWS 控制台上 s3 中的特定存储桶。目前我的代码限制了对 s3 中其他存储桶的访问,但他们仍然可以查看 其他存储桶。我想限制这些其他存储桶的查看 和访问,以便他们只能查看和访问我允许的存储桶。
{
"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:::My_Bucket",
"arn:aws:s3:::My_Bucket_Uploaded"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::My_Bucket/*",
"arn:aws:s3:::My_Bucket_uploaded/*"
]
}
]
}
您的问题似乎已经得到解答here。
TLDR; 您不能将列表限制为您存储桶的一个子集。您要么使用 API 并提前知道您的存储桶名称,要么允许用户在控制台上查看所有存储桶名称,尽管他们在每个存储桶中的权限可能会根据您的意愿受到限制。
我正在尝试为用户创建 访问权限,以便能够 上传 和 下载 到亚马逊 AWS 控制台上 s3 中的特定存储桶。目前我的代码限制了对 s3 中其他存储桶的访问,但他们仍然可以查看 其他存储桶。我想限制这些其他存储桶的查看 和访问,以便他们只能查看和访问我允许的存储桶。
{
"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:::My_Bucket",
"arn:aws:s3:::My_Bucket_Uploaded"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::My_Bucket/*",
"arn:aws:s3:::My_Bucket_uploaded/*"
]
}
]
}
您的问题似乎已经得到解答here。
TLDR; 您不能将列表限制为您存储桶的一个子集。您要么使用 API 并提前知道您的存储桶名称,要么允许用户在控制台上查看所有存储桶名称,尽管他们在每个存储桶中的权限可能会根据您的意愿受到限制。