在 EKS 叢集上啟用服務帳戶的 IAM 角色 (IRSA) - Amazon EMR

在 EKS 叢集上啟用服務帳戶的 IAM 角色 (IRSA)

服務帳戶的 IAM 角色功能適用於 Amazon EKS 1.14 版和更高版本,以及在 2019 年 9 月 3 日或之後更新至第 1.13 版或更高版本的 EKS 叢集。若要使用此功能,可將現有 EKS 叢集更新至 1.14 版或更新版本。如需詳細資訊,請參閱更新 Amazon EKS 叢集 Kubernetes 版本

如果您的叢集支援服務帳戶的 IAM 角色,則會有相關聯的 OpenID Connect 發行者 URL。可以在 Amazon EKS 主控台中檢視此 URL,也可以使用下列 AWS CLI 命令來擷取 URL。

重要

必須使用最新版本的 AWS CLI,才能接收此命令的正確輸出。

aws eks describe-cluster --name cluster_name --query "cluster.identity.oidc.issuer" --output text

預期輸出如下。

https://oidc.eks.<region-code>.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E

若要在叢集中使用服務帳戶的 IAM 角色,則必須使用 eksctlAWS Management Console 來建立 OIDC 身分提供者。

使用 eksctl 為您的叢集建立 IAM OIDC 身分提供者

使用以下命令檢查您的 eksctl 版本。此程序假設您已安裝 eksctl,且您的 eksctl 版本為 0.32.0 或更高版本。

eksctl version

如需有關安裝或升級 eksctl 的詳細資訊,請參閱安裝或升級 eksctl

使用下列命令為您的叢集建立 OIDC 身分提供者。使用自己的值取代 cluster_name

eksctl utils associate-iam-oidc-provider --cluster cluster_name --approve

使用 AWS Management Console 為您的叢集建立 IAM OIDC 身分提供者

從 Amazon EKS 主控台中的叢集描述擷取 OIDC 發行者 URL,或使用以下 AWS CLI 命令。

使用下列命令,從 AWS CLI 中擷取 OIDC 發行者 URL。

aws eks describe-cluster --name <cluster_name> --query "cluster.identity.oidc.issuer" --output text

使用下列命令,從 Amazon EKS 主控台中擷取 OIDC 發行者 URL。

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

  2. 在導覽面板中,選擇身分提供者,然後選擇建立提供者

    1. 處理 Provider Type (提供者類型) 時,請選擇 Choose a provider type (選擇提供者類型),然後選擇 OpenID Connect

    2. 針對 Provider URL (提供者 URL),貼上叢集的 OIDC 發行者 URL。

    3. 如果為「對象」,則輸入 sts.amazonaws.com,然後選擇下一步

  3. 確認供應商資訊是否正確,然後選擇 Create (建立) 來建立您的身分提供者。