

# 용량 예약에 대한 IAM 정책
<a name="capacity-reservations-iam-policy"></a>

용량 예약에 대한 액세스를 제어하려면 리소스 수준 IAM 권한이나 자격 증명 기반 IAM 정책을 사용합니다. IAM 정책을 사용할 때마다 IAM 모범 사례를 따라야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.

다음은 Athena용 절차입니다.

IAM용 정보는 이 단원 끝부분에 나와 있는 링크를 참조하세요. JSON 용량 예약 정책 예제에 대한 자세한 내용은 [용량 예약 정책 예제](example-policies-capacity-reservations.md) 섹션을 참조하세요.

**용량 예약 정책을 생성하기 위해 IAM 콘솔에서 시각적 편집기를 사용하려면**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **정책**을 선택한 후 **정책 생성**을 선택합니다.

1. **시각적 편집기**(Visual editor) 탭에서 **서비스 선택**(Choose a service)을 선택합니다. 그런 다음 Athena를 선택하여 정책에 추가합니다.

1. **작업 선택**(Select actions)을 선택한 후 정책에 추가할 작업을 선택합니다. 시각적 편집기에 Athena에서 사용할 수 있는 작업이 표시됩니다. 자세한 내용은 *서비스 권한 부여 참조*에서 [Amazon Athena에 사용되는 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html)를 참조하세요.

1. **작업 추가**를 선택하여 특정 작업을 입력하거나 와일드카드 문자(\$1)를 사용하여 여러 개의 작업을 지정합니다.

   기본적으로 사용자가 생성하는 정책은 사용자가 선택하는 작업을 허용합니다. Athena의 `capacity-reservation` 리소스에 대해 리소스 수준 권한을 지원하는 작업을 하나 이상 선택하면 편집기에 `capacity-reservation` 리소스가 나열됩니다.

1. **리소스**를 선택하여 정책에 대한 특정 용량 예약 리소스를 지정합니다. JSON 용량 예약 정책의 예제는 [용량 예약 정책 예제](example-policies-capacity-reservations.md) 섹션을 참조하세요.

1. 다음과 같이 `capacity-reservation` 리소스를 지정합니다.

   ```
   arn:aws:athena:<region>:<user-account>:capacity-reservation/<capacity-reservation-name>
   ```

1. **정책 검토**(Review policy)를 선택한 후 생성하려는 정책에 대한 **이름**(Name)과 **설명**(Description)(선택 사항)을 입력합니다. 정책 요약을 검토하여 의도한 권한을 부여했는지 확인합니다.

1. **정책 생성**(Create policy)을 선택하고 새로운 정책을 저장합니다.

1. ID 기반 정책을 사용자, 그룹 또는 역할에 연결합니다.

자세한 내용은 *서비스 권한 부여 참조*와 *IAM 사용 설명서*에서 다음 주제를 참조하세요.
+  [Amazon Athena에 사용되는 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html) 
+  [시각적 편집기를 사용하여 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) 
+  [IAM 정책 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) 
+  [리소스에 대한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources) 

JSON 용량 예약 정책의 예제는 [용량 예약 정책 예제](example-policies-capacity-reservations.md) 섹션을 참조하세요.

Amazon Athena 작업의 전체 목록은 [Amazon Athena API 참조](https://docs.aws.amazon.com/athena/latest/APIReference/)의 API 작업 이름을 참조하세요.

# 용량 예약 정책 예제
<a name="example-policies-capacity-reservations"></a>

이 섹션에서는 용량 예약에서 다양한 작업을 활성화하는 데 사용할 수 있는 정책 예제를 설명합니다. IAM 정책을 사용할 때마다 IAM 모범 사례를 따라야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.

용량 예약은 Athena가 관리하는 IAM 리소스입니다. 따라서 용량 예약 정책에서 `capacity-reservation`을 입력으로 사용하는 작업을 사용할 경우 다음과 같이 용량 예약의 ARN을 지정해야 합니다.

```
"Resource": [arn:aws:athena:<region>:<user-account>:capacity-reservation/<capacity-reservation-name>]
```

여기에서 `<capacity-reservation-name>`은 용량 예약 이름입니다. 예를 들어 다음과 같이 `test_capacity_reservation`이라는 용량 예약에서 이를 리소스로 지정합니다.

```
"Resource": ["arn:aws:athena:us-east-1:123456789012:capacity-reservation/test_capacity_reservation"]
```

Amazon Athena 작업의 전체 목록은 [Amazon Athena API 참조](https://docs.aws.amazon.com/athena/latest/APIReference/)의 API 작업 이름을 참조하세요. IAM 정책에 대한 자세한 내용은 *IAM 사용 설명서*의 [시각적 편집기로 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor)을 참조하세요.

**Example 용량 예약을 나열하는 정책 예제**  
다음 정책에서는 모든 사용자가 모든 용량 예약을 나열하도록 허용합니다.    
****  

```
{ 
    "Version":"2012-10-17",		 	 	  
    "Statement": [ 
        { 
            "Effect": "Allow", 
            "Action": [ 
                "athena:ListCapacityReservations" 
            ], 
            "Resource": "*" 
        } 
    ] 
}
```

**Example 관리 작업을 위한 정책 예제**  
다음 정책에서는 사용자가 `test_capacity_reservation` 용량 예약을 생성 및 취소하고 세부 정보를 확인하며 업데이트하도록 허용합니다. 또한 이 정책에서는 사용자가 `workgroupA` 및 `workgroupB`를 `test_capacity_reservation`에 할당하도록 허용합니다.    
****  

```
{ 
   "Version":"2012-10-17",		 	 	  
   "Statement":[ 
      { 
         "Effect": "Allow", 
         "Action": [ 
             "athena:CreateCapacityReservation", 
             "athena:GetCapacityReservation", 
             "athena:CancelCapacityReservation", 
             "athena:UpdateCapacityReservation", 
             "athena:GetCapacityAssignmentConfiguration", 
             "athena:PutCapacityAssignmentConfiguration" 
         ], 
         "Resource": [ 
             "arn:aws:athena:us-east-1:123456789012:capacity-reservation/test_capacity_reservation", 
             "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA", 
             "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupB" 
         ] 
      } 
   ] 
}
```