

 **協助改進此頁面** 

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

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

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

# 使用 Pod 身分識別指派 IAM 角色到 Amazon EKS 附加元件
<a name="update-addon-role"></a>

某些 Amazon EKS 附加元件需要 IAM 角色及許可。在新增更新的 Amazon EKS 附加元件以使用 Pod 身分識別關聯之前，確認要使用的角色及政策。如需詳細資訊，請參閱 [擷取 Amazon EKS 附加元件的相關 IAM 資訊](retreive-iam-info.md)。

1. 確定：
   +  `cluster-name` – 待安裝附加元件的叢集名稱。
   +  `addon-name` – 待安裝附加元件名稱。
   +  `service-account-name` – 附加元件使用的 Kubernetes 服務帳戶名稱。
   +  `iam-role-arn` – 具有充足附加元件許可的 IAM 角色的 ARN。角色必須具有 EKS Pod 身分識別所需的信任政策。如需更多資訊，請參閱[建立 Pod Identity 關聯AWS （主控台）](pod-id-association.md#pod-id-association-create)。

1. 使用 CLI AWS 更新附加元件。您亦可在建立附加元件時，使用相同的 `--pod-identity-assocations` 語法來指定 Pod 身分識別關聯。請注意，若在更新附加元件時指定 Pod 身分識別關聯，所有之前的 Pod 身分識別關聯均會被覆寫。

   ```
   aws eks update-addon --cluster-name <cluster-name> \
   --addon-name <addon-name> \
   --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
   ```

   例如：

   ```
   aws eks update-addon --cluster-name mycluster \
   --addon-name aws-ebs-csi-driver \
   --pod-identity-associations 'serviceAccount=ebs-csi-controller-sa,roleArn=arn:aws:iam::123456789012:role/StorageDriver'
   ```

1. 請驗證是否已建立 Pod 身分識別關聯：

   ```
   aws eks list-pod-identity-associations --cluster-name <cluster-name>
   ```

   如果執行成功，您應該會看到類似下列的輸出。注意 EKS 附加元件的 OwnerARN。

   ```
   {
       "associations": [
           {
               "clusterName": "mycluster",
               "namespace": "kube-system",
               "serviceAccount": "ebs-csi-controller-sa",
               "associationArn": "arn:aws:eks:us-west-2:123456789012:podidentityassociation/mycluster/a-4wvljrezsukshq1bv",
               "associationId": "a-4wvljrezsukshq1bv",
               "ownerArn": "arn:aws:eks:us-west-2:123456789012:addon/mycluster/aws-ebs-csi-driver/9cc7ce8c-2e15-b0a7-f311-426691cd8546"
           }
       ]
   }
   ```