EKS クラスターでサービスアカウント (IRSA) の IAM ロールを有効にする - Amazon EMR

EKS クラスターでサービスアカウント (IRSA) の IAM ロールを有効にする

サービスアカウントの IAM ロール機能は、Amazon EKS バージョン 1.14 以降、および 2019 年 9 月 3 日以降にバージョン1.13 に更新された EKS クラスターで利用できます。この機能を使用するために、既存の EKS クラスターをバージョン 1.14 以降に更新できます。詳細については、「Amazon EKS クラスターの Kubernetes バージョンの更新」を参照してください。

クラスターがサービスアカウントの IAM ロールをサポートしている場合、OpenID Connect 発行者 URL が関連付けられます。この URL は、Amazon EKS コンソールで表示するか、次の AWS CLI コマンドを使用して取得できます。

重要

このコマンドで適切な出力を得るには、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 ロールを使用するには、eksctl または AWS Management Console のいずれかを使用して OIDC ID プロバイダーを作成する必要があります。

eksctl を使用してクラスターの IAM OIDC ID プロバイダーを作成するには

以下のコマンドを使用して、eksctl のバージョンを確認します。この手順では、eksctl をインストール済みで、お使いの eksctl のバージョンが 0.32.0 以上であることを前提としています。

eksctl version

eksctl のインストールまたはアップグレードの詳細については、「eksctl のインストールまたはアップグレード」を参照してください。

次のコマンドを使用して、クラスターの OIDC ID プロバイダーを作成します。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. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[ID プロバイダー] を選択し、[プロバイダーの作成] をクリックします。

    1. [プロバイダーのタイプ] で [Choose a provider type] を選択してから、[OpenID Connect] を選択します。

    2. Provider URL に、クラスターの OIDC 発行者 URL を貼り付けます。

    3. [対象者] に、「sts.amazonaws.com」と入力し、[次のステップ] を選択します。

  3. プロバイダー情報が正しいことを確認し、[作成] を選択して ID プロバイダーを作成します。