允许跨区域的AWS SQS队列访问

时间:2015-09-11 16:23:17

标签: amazon-web-services amazon-sqs

我有一个AWS SQS队列,其权限策略如下所示:

{
  "Version": "2012-10-17",
  "Id": "arn:aws:sqs:us-east-1:123123123:default_staging/SQSDefaultPolicy",
  "Statement": [
    {
      "Sid": "Sid123123123123",
      "Effect": "Allow",
      "Principal": {
        "AWS": "123123123123"
      },
      "Action": "SQS:*",
      "Resource": "arn:aws:sqs:us-east-1:123123123123123:default_staging"
    }
  ]
}

不幸的是,我无法从我位于不同地区的AWS服务器向default_staging队列添加消息。

如果我将权限政策设置为大开,我可以从我的其他区域向default_staging添加邮件。

如何调整我的政策以允许我所有地区的SQS:*行动?

1 个答案:

答案 0 :(得分:14)

通过正确的SQS权限以及您需要提供给IAM的{​​{1}}权限,可以跨地区共享SQS URL

您可以在此处找到有关Queue and Message Identifiers的更多信息。

这是一个策略示例,可以应用于队列,为该队列提供名为AWS SDK权限的IAM用户:

SQSUser

这是重要的部分:

{
  "Version": "2012-10-17",
  "Id": "arn:aws:sqs:us-east-1:123123123123:default_staging/SQSDefaultPolicy",
  "Statement": [
    {
      "Sid": "Sid89345945989988",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123123123123:user/SQSUser"
      },
      "Action": "SQS:*",
      "Resource": "arn:aws:sqs:us-east-1:123123123123:default_staging"
    }
  ]
}
相关问题