【问题标题】:Custom user permissions for S3S3 的自定义用户权限
【发布时间】:2013-03-19 09:37:44
【问题描述】:

我有一个 Django 应用程序,它会定期将内容上传到 S3。我认为将 S3 密钥和秘密存储在我的设置文件中很容易:

S3_KEY = "whateverkeything"
S3_SECRET = "mykeysecret"

然后,考虑到安全性和在适用时限制权限的想法,重新考虑了这种方法。我的应用程序只需要 GET 和 PUT/POST 对象,从不删除对象,从不创建或删除存储桶等。另外,如果有人可以访问我的 AWS 密钥和秘密,他们可能会启动 100 个大型 EC2 实例,运行我成吨的债务。

有没有办法限制访问并为 S3 创建一个仅具有所述权限的新“用户”?还是我太偏执了?

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    您绝对应该创建一个只有必要权限的用户。使用 IAM(身份和访问管理)很容易做到。您可以在现有 AWS 账户上创建一个新用户(从 AWS 控制台最容易做到),然后为其提供所需的最低权限。这样,如果凭据以某种方式受到损害,损害范围就会受到限制。

    另一种选择是为您的服务器分配 IAM 角色,但我不知道 PHP 工具是否可以使用角色。

    使用控制台的策略编辑器非常容易分配 S3 权限。您只需选择特定的操作(似乎是 GET 对象和 PUT 对象)并给出要应用它的资源的“ARN”。如果您的存储桶名为“mybucket”,则 ARN 将为 arn:aws:s3:::mybucket/* 。如果您还需要列出存储桶中的资源,您可以为列表存储桶添加第二个策略,其 ARN 为 arn:aws:s3:::mybucket(没有尾部斜杠或星号)。

    IAM User Guide 中提供了有关 IAM 用户和角色的信息。

    【讨论】:

      猜你喜欢
      • 2014-01-10
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 2010-12-24
      • 1970-01-01
      • 2019-01-24
      相关资源
      最近更新 更多