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

3분 분량
0

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이 메시지를 대기열로 보낼 수 있도록 허용합니다.

이러한 정책에 대한 자세한 내용은IAM 정책 유형: 사용 방법 및 시기를 참조하세요.

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"
   }]
}

AWS 공식
AWS 공식업데이트됨 2년 전