为什么S3可以访问我的账户下的KMS密钥资源?

0

【以下的问题经过翻译处理】 你好,正如标题所说,当我使用SSE-KMS时,S3可以直接访问我指定的KMS密钥,而无需授权S3扮演任何角色,为什么会这样?

profile picture
专家
已提问 5 个月前23 查看次数
1 回答
0

【以下的回答经过翻译处理】 在启用KMS加密的S3存储桶中执行操作时,相关的KMS操作将在发起S3操作的IAM主体的上下文中执行*[1]*。

例如,如果您在以IAM用户身份登录的情况下使用控制台上传对象,则会使用IAM用户主体向KMS发送kms:GenerateDataKey请求,而不是服务角色。仍然需要使用的主体在IAM策略中获得执行kms:GenerateDataKey的权限以及密钥策略。

默认情况下,客户管理的密钥策略将允许从帐户中的任何主体访问密钥,AWS管理的S3 KMS密钥允许使用"kms:ViaService":"s3.us-east-1.amazonaws.com"调用S3时的任何主体访问密钥。

仅当S3自身执行操作时才需要服务角色,例如复制。在这种情况下,复制角色需要被授权这些相同的权限 [2]

--

[1] https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-access-default-encryption/

[2] https://aws.amazon.com/premiumsupport/knowledge-center/s3-troubleshoot-replication/

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则