我创建了一个名为sally的IAM用户,并且在创建时未附加任何托管策略。然后在其上附加以下IAM策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "S3:*",
"Resource": [
"arn:aws:s3:::cat-pics",
"arn:aws:s3:::cat-pics/*"
],
"Effect": "Allow"
}
]
}
但是当我以Sally用户身份登录到控制台时,我不断收到以下错误: 错误 拒绝访问 基本上,用户看不到猫咪桶或上传到其中的任何对象。我在这里想念什么?我是否需要向用户添加任何托管策略?请让我知道。
谢谢
答案 0 :(得分:1)
对于试图通过控制台访问存储桶的用户来说,这是正确的策略文档。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "TheseActionsSupportBucketResourceType",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListBucketVersions"
],
"Resource": [
"arn:aws:s3:::cat-pics"
]
},
{
"Sid": "TheseActionsRequireAllResources",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListMultipartUploadParts"
],
"Resource": [
"*"
]
},
{
"Sid": "TheseActionsRequireSupportsObjectResourceType",
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::cat-pics/*"
]
}
]
}
此问题的详细说明在此处提供: https://aws.amazon.com/blogs/security/iam-policy-summaries-now-help-you-identify-errors-and-correct-permissions-in-your-iam-policies/ 谢谢
答案 1 :(得分:0)
问题在于此策略只允许完全访问此存储区,但是如果您使用控制台,则需要其他权限才能实现。 AWS documentation指出,您需要{bucket之外的GetBucketLocation
和ListAllMyBuckets
权限才能使用控制台。
将此添加到策略中,它应该可以工作:
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "*"
},