背景:我的应用程序从AWS SQS队列中读取。我在一个AWS帐户下拥有我所有的AWS资源[不是IAM用户帐户,而是主要的AWS根帐户]。
问题:我必须访问在AWS帐户下创建的SQS队列,该帐户与我所有AWS资源的帐户不同。我的问题是这会奏效吗。我只有一个账户可以尝试,无法测试我自己的场景。
感谢您的帮助。
干杯。
是的,可以授予权限,允许不同的AWS帐户将消息推送到您的SQS队列。
参见:亚马逊SQS政策示例
如果你想测试这个过程,创建另一个AWS帐户很简单。您甚至可以通过合并账单链接您的账户。额外帐户不收费。
有可能:https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies-access-policy-examples.html
您只需指定正确的策略!
例如:
{
"Version": "2012-10-17",
"Id": "UseCase2",
"Statement" : [{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": [
"111122223333",
"444455556666"
]
},
"Action": [
"sqs:SendMessage",
"sqs:ReceiveMessage"
],
"Resource": "arn:aws:sqs:us-east-2:444455556666:queue2",
"Condition": {
"DateLessThan": {
"AWS:CurrentTime": "2009-06-30T12:00Z"
}
}
}]
}
享受吧!