使用IAM User上传对象到S3失败

0

【以下的问题经过翻译处理】 基于此文档:

https://docs.aws.amazon.com/AmazonS3/latest/dev/example-policies-s3.html#iam-policy-ex0

我创建了一个IAM用户,并附加了类似于此的策略(唯一的区别是使用实际存储桶名称而不是“examplebucket”):

{
   "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:::examplebucket"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::examplebucket/*"
      }
   ]
}

当我作为新的IAM用户通过控制台登录时,可以进入S3并列出所有S3存储桶,但存在两个问题:

  1. 在主S3窗口中,每个存储桶的“Access”列中都有一个“错误”指示。屏幕截图在这里:

https://testify4love.s3-us-west-2.amazonaws.com/maxi_bucket_access_error.jpg

  1. 当我尝试上传文件到examplebucket或其下的文件夹时,上传失败。

欢迎提出任何建议。

profile picture
EXPERTE
gefragt vor 5 Monaten31 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 你好,

请尝试将以下策略附加到你的用户组。使用此策略后,我可以将文件上传到指定的存储桶并且访问列会正确显示。注意:第一个“Action”是必需的,以正确显示访问列表。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation",
                "s3:GetBucketPublicAccessBlock",
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketPolicyStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject*"
            ],
            "Resource": [
                "arn:aws:s3:::examplebucket/*",
                "arn:aws:s3:::examplebucket"
            ]
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::examplebucket/*"
        }
    ]
}

希望这可以帮到你!

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen