【问题标题】:AWS IAM policy for Event-Bridge to SQS with deny事件桥到 SQS 的 AWS IAM 策略与拒绝
【发布时间】:2022-10-01 11:12:41
【问题描述】:

我想限制我的 sqs 只接受来自事件桥规则,下面的 IAM 规则看起来正确,拒绝到位,但 sqs 没有收到消息,任何输入表示赞赏。

{   \"Id\": \"Policy\",   \"Version\": \"2012-10-17\",   \"Statement\": [
    {
      \"Sid\": \"sid\",
      \"Action\": [
        \"sqs:SendMessage\"
      ],
      \"Effect\": \"Deny\",
      \"Resource\": \"arn:aws:sqs:us-east-1:***:sri-test-queue-3\",
      \"Condition\": {
        \"ArnNotEquals\": {
          \"aws:SourceArn\": \"arn:aws:events:us-east-1:***:rule/sri-test-bus/sri-test-sqs-rule\"
        }
      },
      \"Principal\": \"*\"
    }   ] }

由 Event-bridge 生成的允许 sqs 访问的看起来像这样

{
  \"Version\": \"2008-10-17\",
  \"Id\": \"__default_policy_ID\",
  \"Statement\": [
    {
      \"Sid\": \"AWSEvents_sri-test-sqs-rule_Id12\",
      \"Effect\": \"Allow\",
      \"Principal\": {
        \"Service\": \"events.amazonaws.com\"
      },
      \"Action\": \"sqs:SendMessage\",
      \"Resource\": \"arn:aws:sqs:us-east-1:***:sri-test-queue-3\",
      \"Condition\": {
        \"ArnEquals\": {
          \"aws:SourceArn\": \"arn:aws:events:us-east-1:***:rule/sri-test-bus/sri-test-sqs-rule\"
        }
      }
    }
  ]
}
  • 最下面的有什么问题?
  • 它还允许其他资源向 SQS 发布消息,例如:来自同一帐户的 lambda 可以发布消息,因为它具有 sqs:* 访问权限

标签: amazon-web-services amazon-iam amazon-sqs aws-event-bridge aws-iam-policy


【解决方案1】:

使用底部策略。 SQS 策略默认拒绝,因此您无需担心其他资源向 SQS 发布消息。该策略将仅允许 arn:aws:events:us-east-1:***:rule/sri-test-bus/sri-test-sqs-rule 发送消息。

您编写的策略声明的问题是您没有“允许”声明,因此 SQS 拒绝来自每个来源的 SendMessage 操作。

【讨论】:

    猜你喜欢
    • 2023-01-05
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多