このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
OIDC トークンを検証するための署名キーを取得する
Kubernetes は、各 Kubernetes Service
Account に ProjectedServiceAccountToken
を発行します。このトークンは OIDC トークンであり、さらに JSON
web token (JWT) の一種です。Amazon EKS は、外部システムでトークンを検証できるように、トークンの署名キーを含むクラスターごとにパブリック OIDC エンドポイントをホストします。
ProjectedServiceAccountToken
を検証するには、JSON Web Key Set (JWKS) とも呼ばれる OIDC パブリック署名キーを取得する必要があります。アプリケーションでこれらのキーを使用してトークンを検証します。例えば、PyJWT Python ライブラリProjectedServiceAccountToken
の詳細については、「IAM、Kubernetes、および OpenID Connect (OIDC) の背景情報」を参照してください。
前提条件
-
クラスター用の既存 AWS Identity and Access Management IAM OpenID Connect (OIDC) プロバイダー。既に存在しているかどうかを確認する、または作成するには「クラスターの IAM OIDC プロバイダーを作成する」を参照してください。
-
AWS CLI – Amazon EKS など AWS のサービスを操作するためのコマンドラインツールです。詳細については、 ユーザーガイドの、AWS CLI のインストール、更新、およびアンインストールAWS Command Line Interfaceを参照してください。AWS CLI のインストール後は、設定も行っておくことをお勧めします。詳細については、 ユーザーガイドの
aws configure
でクイック設定AWS Command Line Interfaceを参照してください。
OIDC パブリック署名キーを取得する (AWS CLI)
-
AWS CLI を使用して Amazon EKS クラスターの OIDC URL を取得します。
$
aws eks describe-cluster --name
"my-cluster
--query 'cluster.identity.oidc.issuer'https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE
" -
curl、または同様のツールを使用して、パブリック署名キーを取得します。結果は、JSON Web Key Set (JWKS)
です。 重要
Amazon EKS は、OIDC エンドポイントへの呼び出しをスロットリングします。パブリック署名キーをキャッシュする必要があります。レスポンスに含まれる
cache-control
ヘッダーを考慮します。重要
Amazon EKS は OIDC 署名キーを 7 日ごとにローテーションします。
$
curl
{"keys":[{"kty":"RSA","kid":"2284XXXX4a40","use":"sig","alg":"RS256","n":"wklbXXXXMVfQ","e":"AQAB"}]}https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE
/keys