0

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

S3_KEY = "whateverkeything"
S3_SECRET = "mykeysecret"

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

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

4

1 回答 1

1

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

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

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

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

于 2013-03-19T01:37:44.657 回答