我正在尝试按照本指南将消息从未加密的SNS主题传递到加密的SQS队列。我能够完成“为AWS服务配置KMS权限”步骤,但在“为生产者配置KMS权限”步骤中遇到了问题。我已经创建了IAM角色,但是将这个角色附加到我的SNS主题是我特别困惑的地方。以下是我自己的研究无法回答的一些问题:
非常感谢您的任何帮助。
编辑:
以下是我当前的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": "*"
}
]
}
每当我将以下语句添加到列表中的KMS密钥策略中时,就会出现错误“MalformedPolicyDocumentException-策略包含没有主体的语句”:
{
"Effect": "Allow",
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "${kms_customer_managed_key_arn}"
},
{
"Effect": "Allow",
"Action": [
"sqs:SendMessage"
],
"Resource": "${sqs_queue_arn}"
}
如果没有,还有什么其他方法可以授予特定项目的权限?
链接中的权限附加到您的KMS CMK密钥策略。
当说明书提到“制作人”时,这是指SNS主题还是指拥有SNS主题的AWS帐户?
生产者是发送消息的任何人或任何东西。它可以是lambda函数、ec2实例或IAM用户/角色。在这种情况下,您授予生产者sendMessage
的权限并使用KMS密钥。对于lambda,它将处于lambda执行角色,例如,它将处于实例角色。
我对策略变量${aws: username}感到困惑,即它是我在AWS帐户中登录的IAM用户名,还是我在创建实例时手动输入的标记值。 实际上,我想实现ec2实例的唯一所有者应该是执行操作
我正在尝试从CloudWatch启动StepFunction。当事件源是一个时间表时,这就像一个魅力。但是,当我尝试创建事件模式来观看相应的SNS主题时,CloudWatch看不到它的发布。我尝试了两种默认模式: 并使用arn: 在这两种情况下,当我发布到主题时都没有发生任何事情。我做错了什么?更新:不幸的是,我不明白“事件模式”规则是干什么的,它在其他情况下不起作用——即使事件是从lambda手
我想设置IAM策略以允许用户发布到SNS以发送SMS并发布到特定的SNS arn。 我找到了一种允许短信发布而不允许任何SNS发布的方法:使用亚马逊SNS客户端发送短信时的授权 但是这个策略明确拒绝所有其他SNS发布,所以我不能添加允许特定SNS发布的策略。 问题是SMS发布没有特定的arn。 所以我正在寻找一种方法来限制只允许发布短信的条件。但是具体的短信参数(phone number cf h
我有一个SNS(用KMS加密)是由两个lambda订阅的。我正在尝试向其中一个订阅添加重新驱动策略。问题中的DLQ已加密。 添加重新驱动策略会给我一个错误‘无法检查Amazon SQS队列权限。请确保队列存在,并且您的帐户具有读取队列属性的权限。要允许Amazon SNS主题向Amazon SQS队列发送消息,您必须创建Amazon SQS队列策略‘
为了进一步加强我们解决方案的安全性,我们现在正在研究使用的SNS主题和SQS队列。我们的所有组件都位于同一个AWS帐户中。 首先,我们希望限制对基于IP的SQS队列的访问。因此,只允许来自NAT网关IP的请求。我们不允许匿名访问SQS队列。 但似乎没有办法实现这一点,因为SQS队列的创建者(AWS帐户id)在默认情况下具有访问权限。因此,您无法在同一AWS帐户id中为其他用户创建有效权限。因为新创
以下gCloud留档 将IAM策略绑定添加到IAM服务帐户 https://cloud.google.com/sdk/gcloud/reference/iam/service-accounts/add-iam-policy-binding 要将角色/编辑器的角色的IAM策略绑定添加到服务号test-proj1@example.domain.com,请运行: 为项目添加IAM策略绑定 https:/