認証

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

  • 接続
  • OpenID Connect(OIDC)

接続

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

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

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

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

OIDC

Anthos clusters on AWS は、Anthos Identity Service を使用した OIDC 認証をサポートしています。Anthos Identity Service は、多くの ID プロバイダをサポートしています。詳細については、サポートされている ID プロバイダをご覧ください。

概要

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

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

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

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

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

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

gcloud CLI でログイン

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

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