

 **協助改進此頁面** 

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

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

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

# Amazon EKS 自動模式節點 IAM 角色
<a name="auto-create-node-role"></a>

**注意**  
您無法使用用於建立任何叢集的相同角色。

建立節點之前，您必須先建立具有以下政策或同等許可的 IAM 角色：
+  [AmazonEKSWorkerNodeMinimalPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonEKSWorkerNodeMinimalPolicy) 
+  [AmazonEC2ContainerRegistryPullOnly](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly) 

## 檢查現有的節點角色
<a name="auto-create-node-role-check"></a>

您可使用以下程序，檢查您的帳戶是否已有 Amazon EKS 節點角色。

1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

1. 在左側導覽窗格中，選擇 **Roles** (角色)。

1. 搜尋 `AmazonEKSAutoNodeRole` 的角色清單。如果不存在具有該名稱的角色，請參閱下一節中的說明來建立角色。如果包含 `AmazonEKSAutoNodeRole` 的角色存在，請選取角色以檢視連接的政策。

1. 選擇**許可**。

1. 確保已附加上述所需的政策或同等的自訂政策。

1. 選擇 **Trust Relationships** (信任關係)，然後選擇 **Edit trust policy** (編輯信任政策)。

1. 確認信任關係包含下列政策。如果信任關係符合下列政策，請選擇 **Cancel** (取消)。如果信任關係不符合，請將政策複製到**編輯信任政策**視窗中，然後選擇**更新政策**。

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

## 建立 Amazon EKS 節點 IAM 角色
<a name="auto-create-node-role-iam"></a>

您可以使用 AWS 管理主控台 或 CLI 建立節點 IAM AWS 角色。

### AWS 管理主控台
<a name="auto-create-node-role-console"></a>

1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

1. 在左側導覽窗格中，選擇 **Roles** (角色)。

1. 在 **Roles** (角色) 頁面上，選擇 **Create role** (建立角色)。

1. 在 **Select trusted entity** (選取信任的實體) 頁面上，執行以下作業：

   1. 在**信任的實體類型**區段中，選擇** AWS 服務**。

   1. 在 **Use case** (使用案例) 下，選擇 **EC2**。

   1. 選擇**下一步**。

1. 在**新增許可**頁面上，選擇以下政策：
   +  [AmazonEKSWorkerNodeMinimalPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonEKSWorkerNodeMinimalPolicy) 
   +  [AmazonEC2ContainerRegistryPullOnly](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly) 

1. 在 **Name, review, and create** (命名、檢閱和建立) 頁面上，執行以下作業：

   1. 針對 **Role name** (角色名稱)，為您的角色輸入唯一名稱 (例如 `AmazonEKSAutoNodeRole`)。

   1. 針對 **Description** (描述)，請以描述性文字 (例如 `Amazon EKS - Node role`) 取代目前的文字。

   1. 藉由連接標籤做為鍵值對，在**新增標籤 (選用)** 下將中繼資料新增至角色。如需有關在 IAM 中使用標籤的詳細資訊，請參閱《IAM 使用者指南》**中的[標記 IAM 資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

   1. 選擇建**立角色**。

### AWS CLI
<a name="auto-create-node-role-cli"></a>

 **建立節點 IAM 角色** 

使用上一步中的 **node-trust-policy.json** 檔案來定義哪些實體可擔任該角色。執行下列命令以建立節點 IAM 角色：

```
aws iam create-role \
    --role-name AmazonEKSAutoNodeRole \
    --assume-role-policy-document file://node-trust-policy.json
```

 **請記下角色 ARN** 

建立角色後，擷取並儲存節點 IAM 角色的 ARN。您在後續步驟中將需要此 ARN。使用以下命令來取得 ARN：

```
aws iam get-role --role-name AmazonEKSAutoNodeRole --query "Role.Arn" --output text
```

 **連接必要的政策** 

將下列 AWS 受管政策連接至節點 IAM 角色，以提供必要的許可：

要連接 AmazonEKSWorkerNodeMinimalPolicy：

```
aws iam attach-role-policy \
    --role-name AmazonEKSAutoNodeRole \
    --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy
```

要連接 AmazonEC2ContainerRegistryPullOnly：

```
aws iam attach-role-policy \
    --role-name AmazonEKSAutoNodeRole \
    --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
```

 **連接選用政策** 

如果您要從公有 ECR 提取容器映像，您應該將下列 AWS 受管政策連接至節點 IAM 角色，以確保您的節點可以向公有 ECR 進行身分驗證，並提取映像而不限流。

若要連接 AmazonElasticContainerRegistryPublicReadOnly：

```
aws iam attach-role-policy \
    --role-name AmazonEKSAutoNodeRole \
    --policy-arn arn:aws: iam::aws:policy/AmazonElasticContainerRegistryPublicReadOnly
```