기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 Amazon SQS Access 정책 언어 예제
다음은 일반적인 Amazon SQS 액세스 정책의 예입니다.
예제 1: 1개의 계정에 권한 부여
다음 예제 Amazon SQS 정책은 111122223333에서 queue2
소유한 에 송수신할 수 있는 AWS 계정 권한을 부여합니다 AWS 계정 444455556666.
{ "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
작업을 SQS 사용하여 Amazon에 업로드해야 합니다.
{ "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일 정오(UTC) 이전에 액세스를 제한하고 IP 범위 에 대한 액세스를 제한하는 “예”를 기반으로 합니다203.0.113.0/24
. 이 작업은 대기열에 대한 액세스 권한을 부여할 때 IP 주소 제한을 지정하는 것을 허용하지 AddPermission
않으므로 이 정책을 작성하고 SetQueueAttributes
작업을 SQS 사용하여 Amazon에 업로드해야 합니다.
{ "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
작업을 SQS 사용하여 Amazon에 업로드해야 합니다.
{ "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 엔드포인트 IDvpce-1a2b3c4d
(aws:sourceVpce
조건을 사용하여 지정됨)에서만 SendMessage
및 ReceiveMessage
작업을 수행할 수 있습니다. 자세한 내용은 Amazon용 Amazon Virtual Private Cloud 엔드포인트 SQS 단원을 참조하십시오.
참고
-
이
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" } } } ] }