

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

# 平行運算服務的 IAM AWS 執行個體描述檔
<a name="security-instance-profiles"></a>

在 EC2 執行個體上執行的應用程式必須在其提出的任何 AWS API 請求中包含 AWS 登入資料。我們建議您使用 IAM 角色來管理 EC2 執行個體上的臨時登入資料。您可以定義執行個體描述檔來執行此操作，並將其連接到您的執行個體。如需詳細資訊，請參閱[《Amazon Elastic Compute Cloud 使用者指南》中的 Amazon EC2 的 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)。 **

**注意**  
當您使用 AWS 管理主控台 為 Amazon EC2 建立 IAM 角色時，主控台會自動建立執行個體描述檔，並為其提供與 IAM 角色相同的名稱。如果您使用 AWS CLI、 AWS API 動作或 AWS SDK 來建立 IAM 角色，您可以將執行個體描述檔建立為個別動作。如需詳細資訊，請參閱《*Amazon Elastic Compute Cloud 使用者指南*》中的[執行個體描述](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#ec2-instance-profile)檔。

建立運算節點群組時，您必須指定執行個體描述檔的 Amazon Resource Name (ARN)。您可以為部分或全部運算節點群組選擇不同的執行個體描述檔。

## 要求
<a name="security-instance-profiles_requirements"></a>

### 執行個體描述檔的 IAM 角色
<a name="security-instance-profiles_requirements_role"></a>

與執行個體描述檔相關聯的 IAM 角色必須在其路徑`/aws-pcs/`中具有 ，或其名稱必須以 開頭`AWSPCS`。

**IAM 角色 ARNs範例**
+  `arn:aws:iam::*:role/AWSPCS-example-role-1` 
+  `arn:aws:iam::*:role/aws-pcs/example-role-2` 

### 許可
<a name="security-instance-profiles_requirements_permissions"></a>

 與 AWS PCS 執行個體描述檔相關聯的 IAM 角色必須包含下列政策。

------
#### [ JSON ]

****  

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

------

## 其他政策
<a name="security-instance-profiles_additional-policies"></a>

考慮將受管政策新增至執行個體描述檔。例如：
+  [AmazonS3ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3ReadOnlyAccess.html) 提供所有 S3 儲存貯體的唯讀存取權。
+ [AmazonSSMManagedInstanceCore](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) 啟用 AWS Systems Manager 服務核心功能，例如直接從 Amazon 管理主控台進行遠端存取。
+ [CloudWatchAgentServerPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchAgentServerPolicy.html) 包含在伺服器上使用 AmazonCloudWatchAgent 所需的許可。

您也可以包含自己的 IAM 政策，以支援您的特定使用案例。

# 建立 AWS PCS 的執行個體描述檔
<a name="security-instance-profiles_create"></a>

------
#### [ AWS PCS console ]

當您建立運算節點群組，讓 AWS PCS 使用最低必要政策為您建立基本**設定檔時，請選取建立設定檔**。

------
#### [ Amazon EC2 console ]

您可以直接從 Amazon EC2 主控台建立執行個體描述檔。如需詳細資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[使用執行個體描述](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)檔。

**重要**  
請務必在 IAM 角色名稱`AWSPCS`中使用必要的字首。

------
#### [ AWS CLI ]

**使用 AWS CLI 設定基本執行個體描述檔**
**注意**  
將下列範例中的 *example-role* 取代為您的 IAM 角色名稱。

1. 使用 `/aws-pcs/`作為路徑屬性或開頭為 的名稱來建立 IAM 角色`AWSPCS`。

   1. 將下列內容複製並貼到名為 的新文字檔案`trust_policy.json`。  
****  

      ```
      {  
          "Version":"2012-10-17",		 	 	   
          "Statement": [  
              {  
                  "Effect": "Allow",  
                   "Principal": {  
                      "Service": [  
                          "ec2.amazonaws.com"  
                      ]  
                  },  
                  "Action": [  
                      "sts:AssumeRole"  
                  ]  
              }  
          ]  
      }
      ```

   1. 使用下列 1 個命令來建立 IAM 角色。

      ```
      aws iam create-role --path /aws-pcs/ --role-name example-role --assume-role-policy-document file://trust_policy.json
      ```

      或

      ```
      aws iam create-role --role-name AWSPCS-example-role --assume-role-policy-document file://trust_policy.json
      ```

1. **連接許可。**

   1. 將下列內容複製並貼到名為 的新文字檔案`policy_document.json`。  
****  

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

   1. 將政策文件連接至角色。此命令會將政策附加為內嵌政策。

      ```
      aws iam put-role-policy \  
          --role-name example-role \  
          --policy-name pcsRegisterInstancePolicy \  
          --policy-document file://policy_document.json
      ```

1. **建立執行個體描述檔。將 *example-profile* 取代為您的執行個體描述檔名稱。**

   ```
   aws iam create-instance-profile --instance-profile-name example-profile
   ```

1. **將 IAM 角色與執行個體描述檔建立關聯。**

   ```
   aws iam add-role-to-instance-profile \  
      --instance-profile-name example-profile \  
      --role-name example-role
   ```

------

# 尋找與 AWS PCS 搭配使用的執行個體描述檔
<a name="security-instance-profiles_find"></a>

1. 如果您不知道 AWS PCS 的 IAM 角色的確切名稱，請使用下列 AWS CLI 命令列出符合 AWS PCS 名稱要求的 IAM 角色。

   ```
   aws iam list-roles --query "Roles[?starts_with(RoleName, 'AWSPCS') || contains(Path, '/aws-pcs/')].[RoleName]" --output text
   ```

1. 使用以下 AWS CLI 命令列出與特定 IAM 角色相關聯的執行個體描述檔。將 *role-name* 取代為符合 AWS PCS 名稱需求的 IAM 角色名稱。

   ```
   aws iam list-instance-profiles-for-role --role-name role-name
   ```