簡體   English   中英

AWS CloudFormation 僅將 SNS 限制為特定的 SQS 隊列

[英]AWS CloudFormation Restricting SNS to specific SQS Queues only

我正在修改 AWS CloudFormation 模板,以確保SNS 主題 A是唯一可以發布到SQS Queue 1SQS Queue 2 的主題 這就是我所擁有的:

SomeOtherQueue:
    Type: AWS::SQS::Queue
InboundQueue:
    Type: AWS::SQS::Queue
InboundCopyQueue:
    Type: AWS::SQS::Queue

InboundTopic:
  Type: AWS::SNS::Topic
  Properties:
    Subscription:
    - Endpoint:
        Fn::GetAtt:
        - InboundQueue
        - Arn
       Protocol: sqs

InboundQueuePolicy:
  Type: AWS::SQS::QueuePolicy
  Properties:
    PolicyDocument:
      Version: '2012-10-17'
      Id: InboundQueuePolicy
      Statement:
      - Sid: Allow-SendMessage-To-Inbound-Queue-Only
        Effect: Allow
        Principal:
          Service:
            - sns.amazonaws.com
        Action:
          - sqs:SendMessage
        Resource: "*"
    Queues:
      - Ref: InboundQueue
      - Ref: InboundCopyQueue

上面定義了一組隊列,一個訂閱了一些相關隊列的主題和一個隊列策略,用於限制哪個主題可以發布到引用的隊列。

我想要了解的是如何去確保InboundQueuePolicy僅適用於InboundTopic。 我似乎無法找到正確的語法引用InboundTopic作為InboundQueuePolicy資源。

任何獲得正確語法的幫助將不勝感激。

謝謝

我相信您可以在使用aws:SourceArn鍵的策略中添加一個條件。 AWS 全局條件上下文鍵 - 源 ARN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM