2017-02-06 2 views
0

У меня есть политика для пользователя IAM, который был создан для отправки и получения сообщений из определенной очереди SQS. При использовании AWS CLI и выдачи команды list-queues я получаю ошибку:AWS-CLI - очереди списка SQS

An error occurred (AccessDenied) when calling the ListQueues operation: Access to the resource https://queue.amazonaws.com/ is denied.

У меня есть пользовательские политики на IAM пользователю указать права доступа, как показано ниже:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1485992560000", 
      "Effect": "Allow", 
      "Action": [ 
       "sqs:ReceiveMessage", 
       "sqs:SendMessage", 
       "sqs:ListQueues" 
      ], 
      "Resource": [ 
       "arn:aws:sqs:us-east-1:XXXX:TestQueue" 
      ] 
     } 
    ] 
} 

С этим я установил, что я могу отправлять и получать сообщения из этой очереди с помощью AWS CLI. Если я изменю разрешения для пользователя и добавлю оператор, где действие sqs:ListQueues, а ресурс - "*", команда list-queues, использующая CLI AWS, возвращает ответ в TestQueue в ответе.

Неужели я считаю, что list-queue должен возвращать только очереди, на которые пользователю IAM было предоставлено это действие?

Любые рекомендации/советы приветствуются! Благодаря!

ответ

3

Такие функции, как sqs:ListQueues, не могут быть ограничены по их ресурсам. Они должны иметь спецификацию ресурса *. Это также означает, что вы не можете ограничить возвращаемые значения: они всегда будут возвращать все очереди, даже если пользователь не может выполнять действия над ними.

Это похоже на другие методы типа «листинг», такие как ec2:DescribeInstances и т. Д.

Смежные вопросы