【发布时间】:2020-05-16 00:35:36
【问题描述】:
我有一个应用程序,我在其中使用 Cognito 对用户进行身份验证并授予对 AWS 控制台的临时访问权限,但该用户能够查看所有其他存储桶,我希望该用户应该能够查看或访问他创建的存储桶。
目前,我已向 Cognito 用户提供 S3FullAccess 策略。谁能建议我应该附加哪个政策?
根据我的研发,我可以有一些政策可以限制特定用户或允许特定用户,但我的用户将是动态的,所以我不能硬编码这些值和政策,比如允许/限制对特定存储桶的访问,我希望只有创建存储桶的用户才能访问其他用户。
这是我发现的东西
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucket-name",
"Condition": {
"StringLike": {
"s3:prefix": [
"",
"home/",
"home/${aws:userid}/*"
]
}
}
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket-name/home/${aws:userid}",
"arn:aws:s3:::bucket-name/home/${aws:userid}/*"
]
}
]
}
但这是列出所有存储桶,唯一可访问的存储桶是上面代码中的内容,我想要新用户,它不应该显示任何内容,并且在创建时,它应该只显示
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-cognito