2017-02-06 3 views
0

특정 SQS 대기열에서 메시지를 보내고 받기 위해 작성된 IAM 사용자에 대한 정책이 있습니다. 아래 그림과 같이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를 사용하고 list-queues 명령을 실행 할 때 나는 오류 정책을 적용한 후 AWS CLI를 사용하여이 대기열에서 메시지를 보내고받을 수 있음을 확인했습니다. 사용자에 대한 사용 권한을 수정하고 동작이 sqs:ListQueues이고 리소스가 "*" 인 문을 추가하면 AWS CLI를 사용하는 list-queues 명령이 응답의 TestQueue에 대한 URL을 반환합니다.

list-queue은 IAM 사용자에게 해당 작업이 부여 된 대기열 만 반환해야한다고 생각하는 것이 잘못 되었습니까?

모든 안내/조언을 환영합니다! 감사!

답변

3

sqs:ListQueues과 같은 명령은 리소스에서 제한 될 수 없습니다. 자원 지정은 *이어야합니다. 이것은 반환 값을 제한 할 수 없다는 것을 의미합니다. 즉, 사용자가 작업을 수행 할 수 없더라도 항상 모든 대기열을 반환합니다.

ec2:DescribeInstances 등의 다른 "목록"유형 방법과 유사한 동작입니다.