【问题标题】:AWS S3 - ACL vs. CORS configuration vs. bucket/object permissionsAWS S3 - ACL 与 CORS 配置与存储桶/对象权限
【发布时间】:2017-01-30 11:58:20
【问题描述】:

在配置 S3 存储桶/对象的访问设置时,似乎访问控制列表 (ACL)、CORS 配置以及每个存储桶和对象的权限都会发挥作用。

有人能解释一下它们之间的区别以及它们如何协同工作吗?

【问题讨论】:

标签: amazon-web-services amazon-s3 cors acl


【解决方案1】:

S3 存储桶策略

它们是配置 S3 存储桶访问权限的推荐方法。策略是由语句组成的 JSON 文档。在每条语句中,您可以允许拒绝对委托人(受策略影响的用户)执行操作

访问控制列表

考虑到遗留问题,它们早于存储桶策略的实施,但它们允许在文件级别设置权限。例如,如果您想限制对存储桶中特定文件的访问,而不是整个存储桶,则需要使用 ACL。

CORS 配置

这是一个用于配置 CORS 标头的 XML 文件。您可以选择只允许 http 某些方法(例如 GET 和 POST)或全部。

More details in the AWS Documentation.

有关 CORS 的更多信息:What is CORS?

IAM 政策

它们类似于存储桶策略,不同之处在于您将它们附加到用户、组或角色,但存储桶除外。

冲突

如果 ACL/IAM 策略/Bucket 策略之间发生冲突,例如,如果允许和拒绝同时应用于同一资源和用户,则拒绝总是获胜。

解析权限的算法基本上是: - 如果有拒绝,拒绝访问 - 如果有允许,允许访问 - 如果没有,默认拒绝

最佳做法

应用最小权限原则(除非需要,否则不允许访问)。 不建议将策略直接附加到用户,而是创建一个具有附加权限的组,然后将用户添加到该组。 例如,您可以拥有一个对 S3 具有完全访问权限的开发人员组,一个具有只读访问权限的财务组。 如果您需要限制对存储桶的访问,请使用存储桶策略。 仅当您需要配置对单个文件的访问权限时才使用 ACL。

【讨论】:

    猜你喜欢
    • 2017-09-21
    • 1970-01-01
    • 2022-01-03
    • 2015-01-08
    • 1970-01-01
    • 2020-04-09
    • 2018-12-08
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多