사용자 지정 Amazon SQS Access 정책 언어 예제 - Amazon Simple Queue Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 지정 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조건을 사용하여 지정됨)에서만 SendMessageReceiveMessage 작업을 수행할 수 있습니다. 자세한 내용은 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" } } } ] }