

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 容量保留的 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 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 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` 資源，如果您選擇的一個或多個動作支援資源層級許可，則編輯器會列出 `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" 
         ] 
      } 
   ] 
}
```