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 値をリクエストして取得します。