在两个不同的AWS账户中提供SQS队列

时间:2017-01-31 05:29:57

标签: amazon-web-services aws-sdk amazon-sqs aws-java-sdk

为了将消息放入SQS队列并获得连接,我们需要为帐户/用户提供密钥。

我想将消息提供给两个不同AWS账户中可用的队列。我怎样才能做到这一点?据我所知,我们只能设置一个访问/密钥凭证,因此我们无法与两个不同AWS账户中的两个队列通信。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用来自一个帐户(“帐户A”)的凭据在其他帐户(“帐户B”)中对Amazon SQS队列进行API调用。

只需将策略添加到目标帐户(帐户B)中的SQS队列。以下是Using Identity-Based Policies (IAM) Policies for Amazon SQS文档中的示例政策:

  

以下示例策略授予AWS账号111122223333对美国东部(俄亥俄州)地区名为444455556666 / queue1的队列的SendMessage权限。

{
  "Version": "2012-10-17",
  "Id": "Queue1_Policy_UUID",
  "Statement": [
    {
      "Sid":"Queue1_SendMessage",
      "Effect": "Allow",
      "Principal": {
        "AWS": "111122223333"
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue1"
    }
  ]  
}