【发布时间】:2017-01-30 11:58:20
【问题描述】:
在配置 S3 存储桶/对象的访问设置时,似乎访问控制列表 (ACL)、CORS 配置以及每个存储桶和对象的权限都会发挥作用。
有人能解释一下它们之间的区别以及它们如何协同工作吗?
【问题讨论】:
-
是的,我一直在阅读文档。我只是在寻找每种方法与其他方法有何不同的简洁描述,因为我在文档中没有找到它。
标签: amazon-web-services amazon-s3 cors acl
在配置 S3 存储桶/对象的访问设置时,似乎访问控制列表 (ACL)、CORS 配置以及每个存储桶和对象的权限都会发挥作用。
有人能解释一下它们之间的区别以及它们如何协同工作吗?
【问题讨论】:
标签: amazon-web-services amazon-s3 cors acl
它们是配置 S3 存储桶访问权限的推荐方法。策略是由语句组成的 JSON 文档。在每条语句中,您可以允许或拒绝对委托人(受策略影响的用户)执行操作。
考虑到遗留问题,它们早于存储桶策略的实施,但它们允许在文件级别设置权限。例如,如果您想限制对存储桶中特定文件的访问,而不是整个存储桶,则需要使用 ACL。
这是一个用于配置 CORS 标头的 XML 文件。您可以选择只允许 http 某些方法(例如 GET 和 POST)或全部。
More details in the AWS Documentation.
有关 CORS 的更多信息:What is CORS?。
它们类似于存储桶策略,不同之处在于您将它们附加到用户、组或角色,但存储桶除外。
如果 ACL/IAM 策略/Bucket 策略之间发生冲突,例如,如果允许和拒绝同时应用于同一资源和用户,则拒绝总是获胜。
解析权限的算法基本上是: - 如果有拒绝,拒绝访问 - 如果有允许,允许访问 - 如果没有,默认拒绝
应用最小权限原则(除非需要,否则不允许访问)。 不建议将策略直接附加到用户,而是创建一个具有附加权限的组,然后将用户添加到该组。 例如,您可以拥有一个对 S3 具有完全访问权限的开发人员组,一个具有只读访问权限的财务组。 如果您需要限制对存储桶的访问,请使用存储桶策略。 仅当您需要配置对单个文件的访问权限时才使用 ACL。
【讨论】: