기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 Amazon SQS 액세스 정책 언어 예제
다음은 일반적인 Amazon SQS 액세스 정책의 예제입니다.
예제 1: 1개의 계정에 권한 부여
다음 Amazon SQS 정책 예제는AWS 계정 444455556666이 소유한 queue2에 대해 전송 및 수신할 수 있는 권한을AWS 계정 111122223333에 부여합니다.
- JSON
-
-
{
"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에 업로드해야 합니다.
- JSON
-
-
{
"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에 업로드해야 합니다.
- JSON
-
-
{
"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에 업로드해야 합니다.
- JSON
-
-
{
"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 엔드포인트를 통해서만 해야 하도록 규정하게 될 것이므로 앞으로 사용자가 대기열 권한을 수정하지 못하게 될 가능성이 있습니다.
- JSON
-
-
{
"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"
}
}
}
]
}