クラスタに接続して認証する

このページでは、GKE on AWS に接続して認証する方法について説明します。

GKE クラスタに対して認証を行う方法は複数あります。次の方法はすべて、Connect ゲートウェイまたはユーザーがクラスタのコントロール プレーンに接続できることを前提としています。

Google ID 認証

デフォルトでは、GKE Multi-Cloud API は、クラスタを作成するユーザーに Kubernetes ロールベース アクセス制御(RBAC)ポリシーを付与します。これにより、ユーザーは Google ID を使用してクラスタを認証できます。クラスタを作成したユーザーは、クラスタに対する完全な管理者権限を持つ他のユーザーを管理者ユーザーとして追加できます。

管理者ユーザーに clusterrole/cluster-admin ロールを付与する RBAC 権限ポリシーに加え、GKE Multi-Cloud API により、管理者ユーザーに代わって Connect エージェントを承認し Kubernetes API サーバーにリクエストを送信する権限借用ポリシーが構成されます。

Google ID を使用すると、次の方法でクラスタを認証できます。

gcloud CLI から ID を使用して kubectl を実行する

Google Cloud CLI を使用して、gcloud auth login で認証されたユーザーの ID を使用する kubeconfig を作成できます。その後、kubectl を使用してクラスタにアクセスできます。

Connect ゲートウェイを使用する際の kubectl アクセス権に関しては、管理者ユーザーがプロジェクト オーナーでない場合、ユーザーに対してプロジェクトで次のロールが付与されている必要があります。

  • roles/gkehub.gatewayAdmin: このロールにより、ユーザーは Connect Gateway API にアクセスして、kubectl を使用してクラスタを管理できます。

    • ユーザーが、接続されたクラスタに対する読み取り専用アクセス権のみを必要とする場合は、代わりに roles/gkehub.gatewayReader を付与します。

    • ユーザーが接続されたクラスタへの読み取り / 書き込みアクセス権を必要とする場合は、roles/gkehub.gatewayEditor を付与します。

  • roles/gkehub.viewer: このロールを使用すると、ユーザーがクラスタ kubeconfigs を取得できます。

これらのロールに含まれる権限の詳細については、IAM のドキュメントの GKE Hub のロールをご覧ください。

IAM の権限とロールの付与については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。

管理者ユーザーに必要なロールが付与されたら、kubectl のクラスタ アクセスを構成するの説明に従って操作します。

Google Cloud コンソールを使用する

プロジェクト オーナー以外の管理者がコンソールでクラスタを操作する場合は、少なくとも次のロールが必要です。

  • roles/container.viewer。このロールを使用すると、ユーザーは Google Cloud コンソールで GKE クラスタのページやその他のコンテナ リソースを表示できます。このロールに含まれる権限の詳細については、IAM のドキュメントの Kubernetes Engine のロールをご覧ください。

  • roles/gkehub.viewer。このロールを使用すると、ユーザーは Google Cloud コンソールで Google Cloud 外のクラスタを表示できます。これは、kubectl のアクセスに必要なロールの一つです。このロールをすでにユーザーに付与している場合は、再度付与する必要はありません。このロールに含まれる権限の詳細については、IAM のドキュメントの GKE Hub のロールをご覧ください。

IAM の権限とロールの付与については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。

コンソールからクラスタにログインする方法については、Google Cloud ID を使用してログインするをご覧ください。

Google グループを使用する

Google グループのメンバーとしてクラスタに接続するには、Google グループを GKE on AWS に接続するをご覧ください。

OIDC で認証する

OIDC を使用したクラスタの認証については、GKE Identity Service を使用して ID を管理するをご覧ください。

AWS IAM で認証する

AWS IAM を使用したクラスタの認証については、GKE Identity Service を使用して ID を管理するをご覧ください。

外部 ID で認証する

外部 ID を使用したクラスタの認証については、外部 ID を使用して認証を行う方法についてのページをご覧ください。

クラスタのコントロール プレーンに接続する

GKE on AWS はすべてプライベート サブネットに作成されます。基盤となるクラスタ インフラストラクチャ(ノードやロードバランサ エンドポイントなど)はすべて、プライベートの RFC 1918 IP アドレスのみでプロビジョニングされます。

クラスタを直接管理するには、クラスタのコントロール プレーン ロードバランサに接続できる必要があります。クラスタがコントロール プレーンに直接接続できないが、アウトバウンド接続が可能な場合、Connect ゲートウェイ(Google がホストするクラスタへのリバース プロキシ)を介してコントロール プレーンに接続できます。詳細については、Connect ゲートウェイを使用して登録済みクラスタに接続するをご覧ください。

AWS Direct Connect を介して接続することもできます。