クラスタに接続して認証する
このページでは、GKE on Azure に接続して認証する方法について説明します。
GKE クラスタに対して認証を行う方法は複数あります。次の方法はすべて、Connect ゲートウェイまたはユーザーがクラスタのコントロール プレーンに接続できることを前提としています。
Google ID: GKE on Azure によって提供される、デフォルトの構成のオプション。追加構成は不要です。
Open ID Connect(OIDC): GKE Identity Service でサポートされています。
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 Azure に接続するをご覧ください。
OIDC で認証する
OIDC を使用したクラスタの認証については、GKE Identity Service を使用して ID を管理するをご覧ください。
外部 ID で認証する
外部 ID を使用したクラスタの認証については、外部 ID を使用して認証を行う方法についてのページをご覧ください。
クラスタのコントロール プレーンに接続する
GKE on Azure はすべてプライベート サブネットに作成されます。基盤となるクラスタ インフラストラクチャ(ノードやロードバランサ エンドポイントなど)はすべて、プライベートの RFC 1918 IP アドレスのみでプロビジョニングされます。
クラスタを直接管理するには、クラスタのコントロール プレーン ロードバランサに接続できる必要があります。クラスタがコントロール プレーンに直接接続できないが、アウトバウンド接続が可能な場合、Connect ゲートウェイ(Google がホストするクラスタへのリバース プロキシ)を介してコントロール プレーンに接続できます。詳細については、Connect ゲートウェイを使用して登録済みクラスタに接続するをご覧ください。
Azure の ExpressRoute サービスを介して接続することもできます。