GKE on AWS の新しいバージョンが 11 月 2 日にリリースされました。詳細については、リリースノートをご覧ください。

認証

Anthos clusters on AWS(GKE on AWS)は、次の認証方法をサポートしています。

  • Connect
  • OpenID Connect(OIDC)。詳細については、OIDC による認証をご覧ください。

Connect

Google Cloud Console から Connect を使用してログインする場合、Anthos clusters on AWS は Kubernetes サービス アカウントの署名なしトークンを使用できます。詳細については、Cloud Console からクラスタにログインするをご覧ください。

Kubernetes API サーバーと ID トークン

クラスタが認証されると、Cloud SDK の kubectl CLI を使用してやり取りできます。kubectl がユーザーに代わって Kubernetes API サーバーを呼び出すと、API サーバーによって OpenID プロバイダの公開証明書を使用したトークンの検証が行われます。次に、API サーバーはトークンを解析して、ユーザーの ID とセキュリティ グループを確認します。

API サーバーは、ユーザーのセキュリティ グループをクラスタのロールベースのアクセス制御(RBAC)ポリシーと比較することで、この特定の呼び出しを承認します。

OIDC

このセクションでは、OAuth 2.0OpenID Connect について理解していることを前提にしています。また、OpenID 認証のスコープクレームについて理解している必要もあります。

概要

OIDC を使用すると、組織内の標準的な手順に従って Kubernetes クラスタへのアクセスを管理し、従業員アカウントの作成、有効化、無効化を行うことが可能です。また、組織のセキュリティ グループを使用して、Kubernetes クラスタやクラスタ内の特定のサービスへのアクセスを構成することもできます。

一般的な OIDC ログインのフローは次のとおりです。

  • ユーザーは、ユーザー名とパスワードを入力して OpenID プロバイダにログインします。

  • OpenID プロバイダによりユーザーの ID トークンが署名され、発行されます。

  • gcloud ツールは HTTPS リクエストを Kubernetes API サーバーに送信します。アプリケーションは、リクエスト ヘッダーにユーザーの ID トークンを含めます。

  • Kubernetes API サーバーにより、プロバイダの証明書を使用してトークンが検証されます。

企業で Active Directory フェデレーション サービス(ADFS)サーバーが実行されている場合、ADFS サーバーは OpenID プロバイダとして機能します。もう一つの方法は、OpenID プロバイダとしてサードパーティを使用することです。たとえば、Google、Microsoft、Facebook、Twitter はすべて OpenID プロバイダです。

gcloud ツールでのログイン

gcloud anthos auth login コマンドを実行して、クラスタを認証します。gcloud ツールは、Kubernetes API サーバーへのリクエストを認証します。

gcloud ツールを使用するには、OIDC ID トークンが kubeconfig ファイルに保存されている必要があります。gcloud anthos create-login-config を使用して kubeconfig ファイルにトークンを追加します。Anthos clusters on AWS は、gcloud ツールを使用し、kubeconfig ファイル内の ID トークンと他の OIDC 値をリクエストして取得します。