配置SSE-KMS强制加密策略的S3桶如何通过AWS控制台上传文件
AWS控制台适配强制SSE-KMS规则的S3上传方法
完全可以通过AWS控制台完成合规上传,无需移除桶策略中的Deny限制。之前上传被拒绝的核心原因,是控制台默认的上传流程没有显式携带符合桶策略校验要求的请求头,直接触发了权限拒绝逻辑。
具体操作步骤
- 进入目标存储桶的「对象」页面,点击「上传」按钮进入上传配置界面,不要直接拖拽文件触发快速上传
- 在上传配置页面下拉到「加密设置」板块(旧版控制台路径为「额外上传选项」)
- 加密配置项选择:
- 服务端加密类型勾选使用AWS KMS密钥,不要选择默认的SSE-S3(AES256)加密
- 密钥选择对应你策略中配置的客户托管KMS密钥:
arn:aws:kms:eu-west-1:12345678:key/1234-abcd-dcba-4321
- 添加待上传的文件/文件夹,确认加密配置无错误后,点击上传按钮即可完成合规上传
常见踩坑点
- 不要默认依赖存储桶的默认加密配置:控制台如果没有显式指定加密类型,部分场景下会携带不符合要求的加密请求头,哪怕桶本身开了默认SSE-KMS加密,也会被Deny规则拦截
- 跨桶复制文件上传时,需要在复制操作的配置页同步检查加密设置,避免控制台自动将源文件的SSE-S3加密配置覆盖你的选择
- 确认当前控制台登录的身份,已经被加入KMS密钥策略的允许列表:你提供的KMS策略仅对
MyRole角色开放了密钥使用权限,若登录身份不在该Principal范围内,就算加密参数配置正确,依然会返回KMS调用权限拒绝的错误 - 现有桶策略仅校验加密类型值是否等于
aws:kms,并未强制要求必须使用客户托管KMS密钥,选择AWS托管的aws/s3密钥也能通过规则校验,但如果需要匹配你IAM策略中的密钥权限配置,仍需手动选择对应的客户托管密钥
内容的提问来源于stack exchange,提问作者Sagar Jadhav
相关产品推荐
相关产品推荐

