某个 IAM 用户在尝试访问 Amazon S3 存储桶中的对象时收到 Access Denied 错误。该用户和存储桶位于同一个 AWS 账户中。该存储桶使用 AWS KMS 密钥 (SSE-KMS) 进行服务器端加密,并使用来自同一账户的客户管理密钥。没有存储桶策略。该用户的 IAM 策略允许对密钥执行 kms:Decrypt 操作,并允许对存储桶和对象执行 s3:List* 和 s3:Get* 操作。用户无法访问对象的可能原因是什么?
选择一个答案
点击一个选项来检查您的答案。
正确答案: KMS 密钥策略已修改,移除了 AWS 账户的完全访问权限。.
为什么这是答案
正确的答案是 KMS 密钥策略已修改,移除了 AWS 账户的完全访问权限。当 S3 对象使用 KMS 密钥加密时,访问对象不仅需要 S3 权限,还需要 KMS 密钥的解密权限。即使 IAM 用户策略允许 kms:Decrypt 操作,如果 KMS 密钥策略限制了 AWS 账户的访问权限,或者明确拒绝了该用户或账户的访问,用户也无法解密数据。 其他选项不正确: IAM 策略不需要额外允许 kms:DescribeKey 操作来解密数据。 存储桶更改为使用 AWS 托管 KMS 密钥不会导致此问题,因为用户策略已允许 kms:Decrypt。 如果没有存储桶策略,默认情况下 IAM 用户可以通过其 IAM 策略访问同一账户中的 S3 存储桶,因此不需要添加存储桶策略。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡