為您的叢集建立 IAM OIDC 提供者 - Amazon EKS

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

為您的叢集建立 IAM OIDC 提供者

您的叢集有與其相關聯的 OpenID Connect 發行者 URL。若要使用服務帳號的 IAM 角色, 叢集必須存在 IAM OIDC 提供者。

Prerequisites

現有的 叢集。如果尚未擁有,您可以使用其中一個 入門Amazon EKS 指南來建立。

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

  1. 判斷您的叢集是否有現有的 IAM OIDC 提供者。

    檢視叢集的 OIDC 供應商 URL。

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

    輸出範例:

    https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E

    列出您帳號中的 IAM OIDC 供應商。Replace <EXAMPLED539D4633E53DE1B716D3041E> (包括 <>),並使用先前命令傳回的值。

    aws iam list-open-id-connect-providers | grep <EXAMPLED539D4633E53DE1B716D3041E>

    範例輸出

    "Arn": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E"

    如果前一個命令傳回 輸出,則您已經有 叢集的提供者。如果未傳回輸出,則必須建立 IAM OIDC 供應商。

  2. 使用下列命令為您的叢集建立 IAM OIDC 身分提供者。將 <cluster_name> (包括 <>) 取代為您自己的值。

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

使用 IAM為您的叢集建立 AWS 管理主控台 OIDC 身分提供者

  1. Open the Amazon EKS console at https://console.aws.amazon.com/eks/home#/clusters.

  2. 選取叢集的名稱,然後選取 Configuration (組態) 索引標籤。

  3. Details (詳細資料) 區段中,記下 OpenID Connect provider URL (OpenID Connect 提供者 URL) 的值。

  4. 開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  5. 在導覽窗格中,選擇 Identity Providers (身分提供者)。如果列出的提供者與叢集的 URL 相符,表示您已經有叢集的提供者。如果沒有列出與叢集 URL 相符的提供者,您必須建立一個提供者。

  6. 若要建立供應商,請選擇 Add Provider (新增供應商)。

  7. 針對 Provider Type (提供者類型),選擇 OpenID Connect (連接)。

  8. 針對 Provider URL (提供者 URL),貼上叢集的 OIDC 發行者 URL,然後選擇 Get cumbprint (取得指紋)。

  9. 針對 Audience (對象),輸入 sts.amazonaws.com ,然後選擇 Add provider (新增供應商)。