기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 Amazon SQS 액세스 정책 언어 예제
다음은 일반적인 Amazon SQS 액세스 정책의 예제입니다.
예제 1: 1개의 계정에 권한 부여
다음 Amazon SQS 정책 예제는 AWS 계정
444455556666이 소유한 queue2
에 대해 전송 및 수신할 수 있는 권한을 AWS 계정
111122223333에 부여합니다.
{ "Version": "2012-10-17", "Id": "UseCase1", "Statement" : [{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2" }] }
예제 2: 1개 이상의 계정에 권한 부여
다음 예제 Amazon SQS 정책은 특정 기간 동안 계정이 소유한 대기열에 대한 액세스 AWS 계정 권한을 하나 이상 부여합니다. AddPermission
작업은 대기열에 대한 액세스 권한을 부여할 때 시간 제한 지정을 허용하지 않기 때문에 이 정책을 작성하고 SetQueueAttributes
작업을 사용하여 Amazon SQS에 업로드해야 합니다.
{ "Version": "2012-10-17", "Id": "UseCase2", "Statement" : [{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": [ "111122223333", "444455556666" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2", "Condition": { "DateLessThan": { "AWS:CurrentTime": "2009-06-30T12:00Z" } } }] }
예제 3: Amazon EC2 인스턴스의 요청에 권한 부여
다음 예제 Amazon SQS 정책에서는 Amazon EC2 인스턴스에서 오는 요청에 대한 액세스를 부여합니다. 이 예제는 "예제 2: 1개 이상의 계정에 권한 부여" 예제를 보강한 것으로, 2009년 6월 30일 12시(정오)(UTC) 이전까지 액세스할 수 있고 액세스 IP 범위를 203.0.113.0/24
로 제한합니다. AddPermission
작업은 대기열에 대한 액세스 권한을 부여할 때 IP 주소 제한 지정을 허용하지 않기 때문에 이 정책을 작성하고 SetQueueAttributes
작업을 사용하여 Amazon SQS에 업로드해야 합니다.
{ "Version": "2012-10-17", "Id": "UseCase3", "Statement" : [{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2", "Condition": { "DateLessThan": { "AWS:CurrentTime": "2009-06-30T12:00Z" }, "IpAddress": { "AWS:SourceIp": "203.0.113.0/24" } } }] }
예제 4: 특정 계정에 대한 액세스 거부
다음 예제 Amazon SQS 정책은 대기열에 대한 특정 AWS 계정 액세스를 거부합니다. 이 예제는 "예제 1: 1개의 계정에 권한 부여" 예제를 기반으로 합니다. 지정된에 대한 액세스를 거부합니다 AWS 계정. AddPermission
작업은 대기열에 대한 액세스 거부를 허용하지 않고 대기열에 대한 액세스 권한 부여만 허용하기 때문에 이 정책을 작성하고 SetQueueAttributes
작업을 사용하여 Amazon SQS에 업로드해야 합니다.
{ "Version": "2012-10-17", "Id": "UseCase4", "Statement" : [{ "Sid": "1", "Effect": "Deny", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2" }] }
예제 5: VPC 엔드포인트에서 온 액세스가 아닌 경우 액세스 거부
다음 예제 Amazon SQS 정책은 queue1
에 대한 액세스를 제한합니다. 111122223333은 VPC 엔드포인트 ID vpce-1a2b3c4d
(aws:sourceVpce
조건을 사용하여 지정됨)에서만 SendMessage
및 ReceiveMessage
작업을 수행할 수 있습니다. 자세한 내용은 Amazon SQS용 Amazon Virtual Private Cloud 엔드포인트 단원을 참조하십시오.
참고
-
aws:sourceVpce
조건은 VPC 엔드포인트 리소스의 ARN을 요구하지 않고 VPC 엔드포인트 ID만 요구합니다. -
두 번째 문의 모든 Amazon SQS 작업(
sqs:*
)을 거부하도록 다음 예제를 수정하여 특정 VPC 엔드포인트에 대한 모든 작업을 제한할 수 있습니다. 그러나 그러한 정책 문은 모든 작업(대기열 권한 수정을 위한 관리 작업 포함)을 정책에 정의된 특정 VPC 엔드포인트를 통해서만 해야 하도록 규정하게 될 것이므로 앞으로 사용자가 대기열 권한을 수정하지 못하게 될 가능성이 있습니다.
{ "Version": "2012-10-17", "Id": "UseCase5", "Statement": [{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1" }, { "Sid": "2", "Effect": "Deny", "Principal": "*", "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1", "Condition": { "StringNotEquals": { "aws:sourceVpce": "vpce-1a2b3c4d" } } } ] }