Amazon IAM 附加元件的 EKS 角色 - Amazon EKS

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

Amazon IAM 附加元件的 EKS 角色

某些 Amazon EKS 附加元件需要 IAM 角色和 call AWS APIs 的許可。例如,Amazon VPC CNI 附加元件會呼叫 certain AWS APIs 來設定您帳戶中的網路資源。這些附加元件需要使用 IAM 授予許可。更具體地說,執行附加元件的 Pod 服務帳戶需要與具有特定 IAM 政策的 IAM 角色建立關聯。

授予叢集工作負載 AWS 許可的建議方法是使用 Amazon EKS 功能 Pod 身分。您可以使用 Pod Identity Association 將附加元件的服務帳戶映射至 IAM 角色。如果 Pod 使用具有關聯的服務帳戶,Amazon EKS 會在 Pod 的容器中設定環境變數。環境變數會設定 AWS SDKs,包括 AWS CLI,以使用 EKS Pod Identity 憑證。如需詳細資訊,請參閱 了解如何 EKS Pod Identity 授予 Pod 對 AWS 服務的存取權

Amazon EKS 附加元件可協助管理對應至附加元件之 Pod 身分關聯的生命週期。例如,您可以在單一 EKS 呼叫中建立或更新 Amazon API 附加元件和必要的 Pod 身分關聯。Amazon EKS 也提供 API,用於擷取建議的 IAM 政策。

  1. 確認您的叢集上已設定 Amazon EKS Pod 身分代理程式。

  2. 判斷您要安裝的附加元件是否需要使用 IAM 操作的 AWS CLI describe-addon-versions 許可。如果requiresIamPermissions旗標為 true,則您應該使用 describe-addon-configurations操作來判斷附加元件所需的許可。回應包含建議的 受管 IAM 政策清單。

  3. 使用 IAM 操作擷取 Kubernetes Service 帳戶和 CLI describe-addon-configuration 政策的名稱。根據您的安全需求評估建議政策的範圍。

  4. 使用建議的許可政策以及 Pod Identity 所需的信任政策來建立 IAM 角色。如需詳細資訊,請參閱建立 Pod Identity AWS 關聯 (主控台)

  5. 使用 EKS 建立或更新 Amazon CLI 附加元件。指定至少一個 Pod 身分關聯。Pod 身分關聯是 Kubernetes 服務帳戶,以及 ARN 角色的 IAM。

    • 使用附加元件 APIs 建立的 Pod 身分關聯屬於個別附加元件。如果您刪除附加元件,也會刪除 Pod 身分關聯。使用 AWS CLI 或 API 刪除附加元件時,您可以使用 preserve選項來防止此串聯刪除。您也可以視需要直接更新或刪除 Pod 身分關聯。附加元件無法取得現有 Pod 身分關聯的所有權。您必須刪除現有的關聯,並使用附加元件建立或更新操作重新建立關聯。

    • Amazon EKS 建議使用 Pod 身分關聯來管理附加元件的 IAM 許可。先前的方法 - 服務帳戶的 IAM 角色 (IRSA) 仍受支援。您可以為附加元件指定 IRSA serviceAccountRoleArn和 Pod 身分關聯。如果叢集上安裝 EKS Pod 身分代理程式,serviceAccountRoleArn則會忽略 ,而 EKS 會使用提供的 Pod 身分關聯。如果未啟用 Pod Identity,serviceAccountRoleArn則會使用 。

    • 如果您更新現有附加元件的 Pod 身分關聯,Amazon EKS 會啟動附加元件 Pod 的滾動重新啟動。