Amazon SQS 대기열에 액세스하려면 어떤 권한이 필요합니까?

최종 업데이트 날짜: 2021년 8월 24일

Amazon Simple Queue Service(Amazon SQS) 대기열에 액세스하려고 합니다. 대기열에 액세스하려면 어떤 SQS 액세스 정책 및 AWS Identity and Access Management(IAM) 정책 권한이 필요합니까?

해결 방법

Amazon SQS 대기열에 액세스하려면 SQS 액세스 정책, IAM 정책 또는 둘 다에 권한을 추가해야 합니다. 특정 권한 요구 사항은 SQS 대기열과 IAM 역할이 동일한 계정의 것인지에 따라 다릅니다.

동일 계정

SQS 액세스 정책 또는 IAM 정책에서 액세스를 허용하는 명령문이 필요합니다.

참고: SQS 액세스 정책 또는 IAM 정책에서 액세스를 명시적으로 허용하지만 다른 정책에서 액세스를 명시적으로 거부하면 대기열에 대한 액세스가 거부됩니다.

IAM 사용자 정책 SQS 액세스 정책 결과
허용 허용 허용
허용 허용 또는 거부 안 함 허용
허용 거부 거부
허용 또는 거부 안 함 허용 허용
허용 또는 거부 안 함 허용 또는 거부 안 함 암시적 거부
허용 또는 거부 안 함 거부 거부
거부 허용 거부
거부 허용 또는 거부 안 함 거부
거부 거부 거부

다른 계정

SQS 액세스 정책과 IAM 정책 모두에서 액세스를 허용하는 명령문이 필요합니다.

IAM 사용자 정책 SQS 액세스 정책 결과
허용 허용 허용
허용 허용 또는 거부 안 함 암시적 거부
허용 거부 거부
허용 또는 거부 안 함 허용 암시적 거부
허용 또는 거부 안 함 허용 또는 거부 안 함 암시적 거부
허용 또는 거부 안 함 거부 거부
거부 허용 거부
거부 허용 또는 거부 안 함 거부
거부 거부 거부

예제 정책 문

다음 예제 정책은 SQS 대기열에 대한 교차 계정 액세스를 허용하기 위해 IAM 정책 및 SQS 대기열 액세스 정책에 설정해야 하는 권한을 보여 줍니다.

첫 번째 정책은 username1이 리소스arn:aws:sqs:us-east-1:123456789012:queue_1로 메시지를 보낼 수 있는 권한을 부여합니다.

두 번째 정책은 username1이 메시지를 대기열로 보낼 수 있도록 허용합니다.

username1에 대한 IAM 정책 문 예제

{
   "Version": "2012-10-17",
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
   }]
}

queue_1에 대한 SQS 리소스 정책 문 예제

{
   "Version": "2012-10-17",
   "Id": "Queue1_Policy",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "arn:aws:iam::111122223333:user/username1"
         ]
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:123456789012:queue_1"
   }]
}

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?