【问题标题】:Understand Amazon S3 Bucket permissions了解 Amazon S3 存储桶权限
【发布时间】:2019-10-31 07:15:35
【问题描述】:

我们有一个要存储备份的存储桶。

存储桶设置为私有而不是公共(因为它是备份),但是当我尝试授予 IAM 用户对其进行读取和写入的权限时,AWS 说该存储桶是私有的。

还有另一个存储桶设置为公开,我们在其中存储图像和任何用户都应该能够看到的东西,但 AWS 抱怨说这个存储桶设置为公开并且存在安全风险。

所以不太确定应该应用哪个设置。目前的主要目标是允许对存储桶的受限写入访问以备份数据库。

非常欢迎任何帮助:)谢谢

【问题讨论】:

  • 能否分享一下您正在使用的 IAM 用户权限?

标签: amazon-web-services amazon-s3


【解决方案1】:

最佳做法是保持存储桶私有并根据需要授予权限,始终使用最小权限原则。在您的情况下,您需要使用 IAM 策略授予用户读写权限,例如示例:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::examplebucket"]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": ["arn:aws:s3:::examplebucket/*"]
    }
  ]
}

更多信息,您可以查看:https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/

【讨论】:

  • 谢谢!会试一试的。
  • 我仍然收到“在此策略中授予公共访问权限将被阻止,因为此存储桶的阻止公共访问设置已打开。要确定哪些设置已打开,请检查您的阻止公共访问设置。”我注意到上面不包含我已为用户设置的主体。这是我能看到的唯一区别,但生成器声明:“您必须输入一个或多个委托人。”
  • @bldcaveman 我相信您指的是存储桶策略,对吗?您应该向授权访问存储桶的 IAM 用户添加 IAM 策略,或者使用该策略创建一个组并将用户添加到该组。请分享您的政策(删除敏感数据),以便我们了解详细信息。
  • 我认为那是他们过于热心了,因为它在您按您放置的顺序并带有星号时起作用:)
  • @bldcaveman 澄清一下...该政策应该适用于 IAM 用户,而不是存储桶政策。
猜你喜欢
  • 1970-01-01
  • 2014-12-06
  • 2019-12-05
  • 2021-09-06
  • 2022-01-03
  • 1970-01-01
  • 2018-04-24
  • 2017-04-30
  • 1970-01-01
相关资源
最近更新 更多