【发布时间】:2020-07-31 13:57:52
【问题描述】:
我正在尝试将账户 A 中的 Lambda 中的文本文件放入账户 B 中的 S3 存储桶中。S3 存储桶(测试存储桶)启用了 AWS-KMS 加密。我添加了以下权限:
-
将以下存储桶策略添加到账户 B 中的 S3 存储桶:
{"Version": "2012-10-17", "Id": "ExamplePolicy", "Statement": [ { "Sid": "ExampleStmt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountA:role/Lambda-Role" }, "Action": "s3:*", "Resource": "arn:aws:s3:::test-bucket/*" } ]}
-
在 KMS 密钥中添加了以下策略:
"Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountB:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountA:role/Lambda-Role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ]}
-
在账户 A 的内联策略下方添加 - Lambda 角色并授予对 KMS 密钥的访问权限:
{"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:GenerateDataKey",
"kms:DescribeKey",
"kms:ReEncrypt*"
],
"Resource": [
"arn:aws:kms:us-west-2:AccountB:key/KMS-ID"
]
}
]
}
文件也在账户 B S3 存储桶中上传,但无法查看/下载任何这些文件。得到这个错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>5H3KEXCJ7YSCJS</RequestId>
<HostId>hqwavZZo6D0asdddcvfff+prEtoBCwTFH0AYtzzzzzztqAaPflzs85aaaaa=</HostId>
</Error>
当我检查它具有的文件属性时:服务器端加密 - 拒绝访问。 不知道我在这里错过了什么。有人请指导。
【问题讨论】:
标签: amazon-web-services amazon-s3 aws-lambda amazon-iam