[英]Access control of AWS SQS subscription for AWS SNS topic
我有一个 NodeJS 应用程序,它将消息发布到 AWS SNS 主题字符串和一个 AWS SQS 订阅。 在 SQS 控制台上,我可以看到发布的消息。 但是,我对 SQS 队列的访问策略不是很清楚。
这个答案提到了使用"Principal": "*"
- 但是,这是非常广泛的。 可以使用"Principal": {"AWS": "*"}
; 但是,这也不窄。
{
"Version": "2012-10-17",
"Id": "Policy1607949016538",
"Statement": [
{
"Sid": "Stmt1607949012567",
"Effect": "Allow",
"Principal": "*",
"Action": [
"sqs:ReceiveMessage",
"sqs:SendMessage"
],
"Resource": "arn:aws:sqs:ap-south-1:463113000000:orders"
}
]
}
问题
"Principal": {"AWS": "*"}
时,我才能让消息流入队列。 那么,我应该如何定义一个限制性策略,使得消息仅作为订阅的结果写入队列?"Principal": {"AWS": "*"}
权限的队列的等效项是什么?Condition
可以使整体政策受到限制。 请参见下面的示例。限制对帐户 ID 的访问的示例策略文档。
{
"Version": "2012-10-17",
"Id": "Policy1607960702002",
"Statement": [
{
"Sid": "Stmt1607960701004",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"sqs:ReceiveMessage",
"sqs:SendMessage"
],
"Resource": "arn:aws:sqs:ap-south-1:463113000000:orders",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "463113000000"
}
}
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.