一位安全工程师创建了一个 Amazon S3 存储桶策略,其中包含一个显式拒绝(explicit deny),该策略阻止所有用户访问。几天后,工程师添加了一个新语句,允许特定员工只读访问。该员工仍然收到“访问被拒绝”(Access Denied)错误。最可能的原因是什么?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 存储桶策略中的显式拒绝覆盖了允许语句。.
为什么这是答案
在 AWS IAM 策略评估逻辑中,显式拒绝(explicit deny)始终优先于任何允许(allow)语句。这意味着,即使存在一个允许特定操作的策略语句,如果同时存在一个显式拒绝相同操作的语句,那么该操作将被拒绝。在这种情况下,最初的存储桶策略包含一个显式拒绝所有用户访问的语句。当工程师添加了一个允许特定员工只读访问的新语句时,这个新的允许语句会被原有的显式拒绝语句覆盖,导致员工仍然无法访问。因此,要解决此问题,需要修改显式拒绝语句,使其不再拒绝该特定员工的访问,或者更精确地定义拒绝的范围。存储桶ACL通常用于控制与S3对象所有权相关的权限,而不是细粒度的访问控制。IAM策略和存储桶策略的更改通常会很快传播。用户的IAM策略如果允许访问,但存储桶策略拒绝,仍然会遇到拒绝访问。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡