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

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

사용자 지정 Amazon SQS 액세스 정책 언어 예제

다음은 일반적인 Amazon SQS 액세스 정책의 예입니다.

예제 1: 1개의 계정에 권한 부여

Amazon SQS 정책의 예는 다음과 같습니다. AWS 계정 [111122223333] 소유자에게 보내고 받을 수 있는 권한: queue2 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작업을 SQS 사용하여 Amazon에 업로드해야 합니다. SetQueueAttributes

{ "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작업을 SQS 사용하여 Amazon에 업로드해야 합니다. SetQueueAttributes

{ "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 계정. SetQueueAttributes작업에서는 대기열에 대한 액세스 거부가 허용되지 않으므로 (대기열에 대한 액세스 허용만 허용) AddPermission작업을 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 엔드포인트 ID vpce-1a2b3c4d (조건을 사용하여 지정) 에서만 SendMessageReceiveMessage작업을 수행할 수 있습니다. aws:sourceVpce 자세한 내용은 아마존용 Amazon Virtual Private 클라우드 엔드포인트 SQS 단원을 참조하십시오.

참고
  • aws:sourceVpce 조건에는 엔드포인트 ARN 리소스에 필요한 것이 아니라 VPC 엔드포인트 ID만 필요합니다. VPC

  • 두 번째 명령문에서 모든 Amazon SQS actions (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" } } } ] }