

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

# Amazon SQS 정책의 기본 예제
<a name="sqs-basic-examples-of-sqs-policies"></a>

이 단원에서는 일반 Amazon SQS 사용 사례에 대한 정책 예제를 보여줍니다.

콘솔을 사용하여 정책을 사용자에게 연결할 때 각 정책의 효과를 확인할 수 있습니다. 처음에 사용자는 권한을 가지고 있지 않으며 콘솔에서 어떠한 작업도 수행할 수 없습니다. 정책을 사용자에게 연결하면 사용자가 콘솔에서 다양한 작업을 수행할 수 있는지 확인할 수 있습니다.

**참고**  
두 개의 브라우저 창을 사용하는 것이 좋습니다. 하나는 권한을 부여하고 다른 하나는 권한을 부여할 때 사용자의 자격 증명을 AWS Management Console 사용하여에 로그인하여 권한을 확인하는 것입니다.

## 예제 1: 하나의에 하나의 권한 부여 AWS 계정
<a name="grant-one-permission-to-one-account"></a>

다음 예제 정책은 미국 동부(오하`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 계정
<a name="grant-two-permissions-to-one-account"></a>

다음 예제 정책은 이라는 대기열에 대해 `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 계정
<a name="grant-all-permissions-to-two-accounts"></a>

다음 예제 정책은 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: 역할과 사용자 이름에 교차 계정 권한 부여
<a name="grant-cross-account-permissions-to-role-and-user-name"></a>

다음 예제 정책은 Amazon SQS가 미국 동부(오하이오) 리전`123456789012/queue1`에서 라는 대기열에 대한 공유 액세스를 허용하는 모든 작업을 사용할 수 있는 `111122223333` 교차 계정 권한을 및 AWS 계정 번호 `role1` `username1` 아래에 부여합니다.

다음 작업에는 교차 계정 권한이 적용되지 않습니다.
+ `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
+ `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
+ `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
+ `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
+ `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
+ `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
+ `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
+ `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
+ `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
+ `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
+ `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
+ `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

------
#### [ 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: 모든 사용자에게 권한 부여
<a name="grant-permissions-to-all-users"></a>

다음 정책 예제에서는 `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: 모든 사용자에게 시간 제한적인 권한 부여
<a name="grant-time-limited-permission-to-all-users"></a>

다음 정책 예제는 모든 사용자(익명 사용자)에게 `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 범위의 모든 사용자에게 모든 권한 부여
<a name="grant-all-permissions-to-all-users-in-cidr-range"></a>

다음 정책 예제에서는 모든 사용자(익명 사용자)에게 `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 범위의 사용자에게 권한 허용(화이트리스트) 및 차단(블랙리스트)
<a name="allowlist-blocklist-permissions-for-users-in-different-cidr-ranges"></a>

다음의 정책 예제에는 문이 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"
         }
      }
   }]
}
```

------