首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以上传文件,但不能列出S3桶对象。获取访问拒绝错误

可以上传文件,但不能列出S3桶对象。获取访问拒绝错误
EN

Stack Overflow用户
提问于 2016-03-05 07:23:03
回答 2查看 6.3K关注 0票数 11

我试图列出我的S3桶中的所有文件。但是不断地拒绝错误访问。我认为我在我的IAM用户中拥有必要的权限:

代码语言:javascript
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "SID",
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:GetBucketAcl",
                "s3:GetBucketCORS",
                "s3:GetBucketLocation",
                "s3:GetBucketLogging",
                "s3:GetBucketNotification",
                "s3:GetBucketPolicy",
                "s3:GetBucketRequestPayment",
                "s3:GetBucketTagging",
                "s3:GetBucketVersioning",
                "s3:GetBucketWebsite",
                "s3:GetLifecycleConfiguration",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectTorrent",
                "s3:GetObjectVersion",
                "s3:GetObjectVersionAcl",
                "s3:GetObjectVersionTorrent",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListBucketVersions",
                "s3:ListMultipartUploadParts",
                "s3:PutBucketAcl",
                "s3:PutBucketCORS",
                "s3:PutBucketLogging",
                "s3:PutBucketNotification",
                "s3:PutBucketPolicy",
                "s3:PutBucketRequestPayment",
                "s3:PutBucketTagging",
                "s3:PutBucketVersioning",
                "s3:PutBucketWebsite",
                "s3:PutLifecycleConfiguration",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:PutObjectVersionAcl",
                "s3:RestoreObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket/*"
            ]
        }
    ]
}

如果我授予对S3的完全访问权限,(AmazonS3FullAccess策略),我可以列出对象。可能会有什么问题?我认为我只删除了在自定义策略中删除和创建桶的权限。

当我添加对同一策略的完全访问时:

代码语言:javascript
复制
        "Action": [
            "s3:*"
        ],

但我还是不能列出对象。但是有了当前的权限,我可以上传和删除对象。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-05 08:30:51

找到答案了!策略中允许的操作是正确的。问题在于Resource。我在用这个:

代码语言:javascript
复制
"Resource": [
   "arn:aws:s3:::bucket/*"
]

但看起来它并没有赋予桶的根以权限。不能完全进入。因此,为了使其正常工作,我们必须像这样删除/

代码语言:javascript
复制
"Resource": [
   "arn:aws:s3:::bucket*"
]

现在它就像一种魅力。

票数 10
EN

Stack Overflow用户

发布于 2017-10-25 12:50:07

我也有同样的问题。我使用了两台机器,一台是创建了aws配置文件,我可以列出s3桶,但是在第二台机器上,我的配置文件没有创建,我使用的是Set-AWSCredential命令,我无法列出s3桶。创建配置文件的那一刻,我就能够访问s3 ls。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35811337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档