【发布时间】:2021-08-25 20:40:32
【问题描述】:
我正在尝试将消息从未加密的 SNS 主题传递到 this guide 之后的加密 SQS 队列。我能够完成“为 AWS 服务配置 KMS 权限”步骤,但在“为生产者配置 KMS 权限”时遇到问题 " 步骤。我创建了 IAM 角色,但是将此角色附加到我的 SNS 主题是我特别困惑的地方。以下是我自己的研究无法回答的一些问题:
- 能否将 IAM 角色附加到特定项目(SNS 主题、SQS 队列等...)?如果没有,还有什么其他方式可以授予特定项目的权限?
- 说明中提到“生产者”时,是指 SNS 主题还是拥有该 SNS 主题的 AWS 账户?
非常感谢任何和所有帮助。
编辑:
这是我当前的 AWS KMS 密钥策略:
{
"Version": "2012-10-17",
"Id": "key-consolepolicy-3",
"Statement": [
{
"Sid": "Allow administration of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::${aws_account_id}:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "Allow SNS to use KMS",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*"
}
]
}
每当我将以下语句添加到 Statement 列表中的 KMS 密钥策略时,我都会收到错误消息“MalformedPolicyDocumentException - 策略包含没有主体的语句”:
{
"Effect": "Allow",
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "${kms_customer_managed_key_arn}"
},
{
"Effect": "Allow",
"Action": [
"sqs:SendMessage"
],
"Resource": "${sqs_queue_arn}"
}
【问题讨论】:
-
进展如何?还是不清楚制作人是什么?
标签: amazon-web-services amazon-iam amazon-sqs amazon-sns