

# キャパシティ予約の 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 マネジメントコンソール にサインインして、IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. 左側のナビゲーションペインで、[**Policies**] (ポリシー)、[**Create policy**] (ポリシーの作成) の順にクリックします。

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` リソースに対するリソースレベルのアクセス許可をサポートするアクションを 1 つ、または複数選択すると、エディタが `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. このアイデンティティベースのポリシーをユーザー、グループ、またはロールにアタッチします。

詳細については、「*サービス認可リファレンス*」と「*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" 
         ] 
      } 
   ] 
}
```