S3 存储桶策略 - 使用 "Any Authenticated User" 还是存储桶策略?

S3 Bucket Policy - use "Any Authenticated User" or bucket policy?

我已经设置了一个 S3 存储桶和一个对该存储桶具有完全访问权限的 IAM 用户。

我对如何限制对存储桶的访问感到困惑,以便只有该用户和云端可以访问它。云前端策略是在云前端控制面板中为我自动生成的。

但是至于只允许我的 IAM 用户访问,我:

Any Authenticated User 表示拥有亚马逊 AWS 账户的任何用户。

您可能希望将策略附加到 IAM 用户而不处理存储桶策略。或者添加存储桶策略以仅允许该 IAM 用户。两者的示例位于:IAM Policies and Bucket Policies

示例 S3 存储桶策略

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": ["arn:aws:iam::111122223333:user/Alice",
                "arn:aws:iam::111122223333:root"]
      },
      "Action": "s3:*",
      "Resource": ["arn:aws:s3:::my_bucket",
                   "arn:aws:s3:::my_bucket/*"]
    }
  ]
}

示例 IAM 策略

{
  "Version": "2012-10-17",
  "Statement":[{
    "Effect": "Allow",
    "Action": "s3:*",
    "Resource": ["arn:aws:s3:::my_bucket",
                 "arn:aws:s3:::my_bucket/*"]
    }
  ]
}