调用 ListQueues 操作时 AccessDenied
AccessDenied when calling the ListQueues operation
这很奇怪,除非我将 Resource 的值设置为 arn:aws:sqs:*:*:*
。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sqs:*",
"Resource": "arn:aws:sqs:*:45*****65:local-*"
}
]
}
我希望下面的命令应该 return 所有以 local-* 开头的队列,但我得到了 AccessDenied。
aws sqs list-queues --queue-name-prefix local-*
但是对于同一个队列,我能够得到它的属性。
aws sqs get-queue-attributes --queue-url https://us-west-2.queue.amazonaws.com/0****5/local-myqueue --attribute-names All
我是否需要更改策略或列表队列的行为是否不同?
提前致谢。
根据Actions, Resources, and Condition Keys for Amazon SQS - AWS Identity and Access Management,SQS 命令不接受条件。因此,ListQueues()
命令要么完全工作(显示 所有 匹配队列),要么不 return 任何东西(由于访问被拒绝)。限制 returned 队列的唯一方法是使用 queue-name-prefix
.
策略中的 Resource
属性将决定各种命令可以针对哪个队列 运行,这就是为什么您能够获取与 local-*
匹配的队列的属性。如果您尝试获取名为 public-xxx
的队列的详细信息,它将被拒绝。 (但是 ListQueues
在 服务 上运行,而不是特定队列。)
这很奇怪,除非我将 Resource 的值设置为 arn:aws:sqs:*:*:*
。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sqs:*",
"Resource": "arn:aws:sqs:*:45*****65:local-*"
}
]
}
我希望下面的命令应该 return 所有以 local-* 开头的队列,但我得到了 AccessDenied。
aws sqs list-queues --queue-name-prefix local-*
但是对于同一个队列,我能够得到它的属性。
aws sqs get-queue-attributes --queue-url https://us-west-2.queue.amazonaws.com/0****5/local-myqueue --attribute-names All
我是否需要更改策略或列表队列的行为是否不同?
提前致谢。
根据Actions, Resources, and Condition Keys for Amazon SQS - AWS Identity and Access Management,SQS 命令不接受条件。因此,ListQueues()
命令要么完全工作(显示 所有 匹配队列),要么不 return 任何东西(由于访问被拒绝)。限制 returned 队列的唯一方法是使用 queue-name-prefix
.
策略中的 Resource
属性将决定各种命令可以针对哪个队列 运行,这就是为什么您能够获取与 local-*
匹配的队列的属性。如果您尝试获取名为 public-xxx
的队列的详细信息,它将被拒绝。 (但是 ListQueues
在 服务 上运行,而不是特定队列。)