如何在 SQS 队列下添加超过 20 个策略语句 - 权限

How can i add more than 20 policy statements under SQS Queue - Permissions

我们的环境中有 20 多个 S3 存储桶,我有一个 SQS 队列。现在我想要一个事件应该被触发到 SQS 事件,只要有一个文件被放置在 S3 Bucket 中。

我遇到的问题:

我最多只能向 SQS 队列添加 20 个策略语句(即我只能在 SQS 队列 - 权限选项卡下添加 20 个存储桶)

{
  "Version": "2012-10-17",
  "Id": "11111111",
  "Statement": [
    {
      "Sid": "11111111111",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:1111111111:myqueue",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:s3:*:*:mys3bucket"
        }
      }
    }

有什么方法可以添加超过 20 个桶?

你可以use multiple values in a condition。以下应该适合您:

  "Condition": {
    "ArnLike": {
      "aws:SourceArn": [ "arn:aws:s3:*:*:mys3bucket", "arn:aws:s3:*:*:others3bucket" ]
    }