S3 使用 kms 加密
我用IAM用户和lambda(角色)测试了它来上传文件
因此,用户和 lambda 都需要 kms:GenerateDataKey 权限。
我以为我需要 kms:encrypt 权限,但为什么需要GenerateKey 权限?
它不起作用 - KMS 密钥策略
{
...
"Action": [
"kms:Encrypt"
],
"Resource": "*"
},
它有效 - KMS 密钥策略
{
...
"Action": [
"kms:GenerateDataKey"
],
"Resource": "*"
},
Lambda 测试代码
response = client.put_object(
Body='filetoupload',
Bucket='kms-key-test',
Key=file_name,
)
ps。我在 aws 文档中看到,GenerateDatakey 用于大于 4kb 的文件。所以,我测试了不大于 4kb 的文件