기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SQS 정책의 기본 예제
이 단원에서는 일반 Amazon SQS 사용 사례에 대한 정책 예제를 보여줍니다.
콘솔을 사용하여 정책을 사용자에게 연결할 때 각 정책의 효과를 확인할 수 있습니다. 처음에 사용자는 권한을 가지고 있지 않으며 콘솔에서 어떠한 작업도 수행할 수 없습니다. 정책을 사용자에게 연결하면 사용자가 콘솔에서 다양한 작업을 수행할 수 있는지 확인할 수 있습니다.
두 개의 브라우저 창을 사용하는 것이 좋습니다. 하나는 권한을 부여하고 다른 하나는 권한을 부여할 때 사용자의 자격 증명을 AWS Management Console 사용하여에 로그인하여 권한을 확인하는 것입니다.
예제 1: 하나의에 하나의 권한 부여 AWS 계정
다음 예제 정책은 미국 동부(오하111122223333
이오) 리전444455556666/queue1
에 있는 라는 대기열에 대한 SendMessage
권한을 AWS 계정 번호에 부여합니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_SendMessage",
"Effect": "Allow",
"Principal": {
"AWS": [
"111122223333"
]
},
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:us-east-2:444455556666:queue1"
}]
}
예제 2: 한에 두 가지 권한 부여 AWS 계정
다음 예제 정책은 이라는 대기열에 대해 SendMessage
및 ReceiveMessage
권한을 AWS 계정 111122223333
모두 부여합니다444455556666/queue1
.
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_Send_Receive",
"Effect": "Allow",
"Principal": {
"AWS": [
"111122223333"
]
},
"Action": [
"sqs:SendMessage",
"sqs:ReceiveMessage"
],
"Resource": "arn:aws:sqs:*:444455556666:queue1"
}]
}
예제 3: 2에 모든 권한 부여 AWS 계정
다음 예제 정책은 Amazon SQS가 미국 동부(111122223333
오하이오444455556666
) 리전123456789012/queue1
에서 라는 대기열에 대한 공유 액세스를 허용하는 모든 작업을 사용할 수 있는 두 개의 서로 다른 AWS 계정 번호( 및 )를 부여합니다. Amazon SQS
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_AllActions",
"Effect": "Allow",
"Principal": {
"AWS": [
"111122223333",
"444455556666"
]
},
"Action": "sqs:*",
"Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
}]
}
예제 4: 역할과 사용자 이름에 교차 계정 권한 부여
다음 예제 정책은 Amazon SQS가 미국 동부(오하이오) 리전123456789012/queue1
에 있는 라는 대기열에 대한 공유 액세스를 허용하는 모든 작업을 사용할 수 있는 111122223333
교차 계정 권한을 AWS 계정 및 번호 role1
username1
아래에 부여합니다.
다음 작업에는 교차 계정 권한이 적용되지 않습니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_AllActions",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333
:role/role1",
"arn:aws:iam::111122223333
:user/username1"
]
},
"Action": "sqs:*",
"Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
}]
}
예제 5: 모든 사용자에게 권한 부여
다음 정책 예제에서는 111122223333/queue1
이라는 대기열에 대한 ReceiveMessage
권한을 모든 사용자(익명 사용자)에게 부여합니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_AnonymousAccess_ReceiveMessage",
"Effect": "Allow",
"Principal": "*",
"Action": "sqs:ReceiveMessage",
"Resource": "arn:aws:sqs:*:111122223333
:queue1"
}]
}
예제 6: 모든 사용자에게 시간 제한적인 권한 부여
다음 정책 예제는 모든 사용자(익명 사용자)에게 111122223333/queue1
라는 이름의 대기열에 대한 ReceiveMessage
권한을 부여하지만, 2009년 1월 31일에는 오후 12시(정오)부터 오후 3시까지만 가능합니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_AnonymousAccess_ReceiveMessage_TimeLimit",
"Effect": "Allow",
"Principal": "*",
"Action": "sqs:ReceiveMessage",
"Resource": "arn:aws:sqs:*:111122223333
:queue1",
"Condition" : {
"DateGreaterThan" : {
"aws:CurrentTime":"2009-01-31T12:00Z"
},
"DateLessThan" : {
"aws:CurrentTime":"2009-01-31T15:00Z"
}
}
}]
}
예제 7: CIDR 범위의 모든 사용자에게 모든 권한 부여
다음 정책 예제에서는 모든 사용자(익명 사용자)에게 111122223333/queue1
이라는 대기열에서 공유 가능한 모든 Amazon SQS 작업을 사용할 수 있는 권한을 부여하지만, 이것은 요청이 192.0.2.0/24
CIDR 범위에서 들어오는 경우에 한합니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_AnonymousAccess_AllActions_AllowlistIP",
"Effect": "Allow",
"Principal": "*",
"Action": "sqs:*",
"Resource": "arn:aws:sqs:*:111122223333
:queue1",
"Condition" : {
"IpAddress" : {
"aws:SourceIp":"192.0.2.0/24"
}
}
}]
}
예제 8: 서로 다른 CIDR 범위의 사용자에게 권한 허용(화이트리스트) 및 차단(블랙리스트)
다음의 정책 예제에는 문이 2개입니다.
-
첫 번째 문은 192.0.2.0/24
CIDR 범위(192.0.2.188
제외)에 있는 모든 사용자(익명 사용자)에게 111122223333
/queue1이라는 대기열에서 SendMessage
작업을 사용할 수 있는 권한을 부여합니다.
-
두 번째 설명은 12.148.72.0/23
CIDR 범위의 모든 사용자(익명 사용자)가 대기열을 사용하지 못하도록 차단합니다.
- JSON
-
-
{
"Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_AnonymousAccess_SendMessage_IPLimit",
"Effect": "Allow",
"Principal": "*",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:*:111122223333
:queue1",
"Condition" : {
"IpAddress" : {
"aws:SourceIp":"192.0.2.0/24"
},
"NotIpAddress" : {
"aws:SourceIp":"192.0.2.188/32"
}
}
}, {
"Sid":"Queue1_AnonymousAccess_AllActions_IPLimit_Deny",
"Effect": "Deny",
"Principal": "*",
"Action": "sqs:*",
"Resource": "arn:aws:sqs:*:111122223333
:queue1",
"Condition" : {
"IpAddress" : {
"aws:SourceIp":"12.148.72.0/23"
}
}
}]
}