既存のサードパーティ ID プロバイダを使用して、フリートに登録されている Kubernetes クラスタに対する認証を行うことができます。このドキュメントでは、サポートされている認証プロトコルと、各プロトコルをサポートするクラスタのタイプについて説明します。ユーザーは、ID プロバイダを変更することなく、コマンドラインまたは Google Cloud コンソールからクラスタにアクセスして管理できます。
ID プロバイダではなく Google ID を使用してクラスタにログインする場合は、Connect Gateway を使用して登録済みクラスタに接続するをご覧ください。
サポートされる ID プロバイダ
サードパーティの ID プロバイダがある場合、次のプロトコルを使用してクラスタに対する認証を行うことができます。
- OpenID Connect(OIDC): OIDC は、OAuth 2.0 認可フレームワーク上に構築された最新かつ軽量な認証プロトコルです。ここでは、Microsoft を含む一部の一般的な OpenID Connect プロバイダに関する特定の設定手順を説明しますが、OIDC を実装する任意のプロバイダを使用できます。
- Security Assertion Markup Language(SAML): SAML は、当事者間(主に ID プロバイダ(IdP)とサービス プロバイダ(SP))の間で認証と認可のデータを交換するための XML ベースの標準です。
- Lightweight Directory Access Protocol(LDAP): LDAP は、ディレクトリ情報サービスへのアクセスと管理のための成熟した標準プロトコルです。ユーザー名、パスワード、グループ メンバーシップなどのユーザー情報を保存および取得するためによく使用されます。Active Directory または LDAP サーバーで LDAP を使用して認証できます。
サポートされるクラスタタイプ
この認証サービスは、フリートに登録されているクラスタにのみインストールできます。ほとんどのクラスタタイプは常にフリートに登録されます。 Google Cloud上の GKE クラスタの場合、このサービスを使用するには、クラスタをフリートに明示的に登録する必要があります。
次の表に、サードパーティ認証をサポートするクラスタタイプと、各タイプで使用できる特定のプロトコルを示します。
| サポートされているクラスタタイプとプロトコル | |
|---|---|
| GDC(VMware) |
次のプロトコルをサポート:
|
| GDC(ベアメタル) |
次のプロトコルをサポート:
|
| GKE on Google Cloud (フリート メンバーのみ) | OIDC をサポート |
| GKE on AWS |
OIDC をサポート |
| GKE on Azure |
OIDC をサポート |
次の構成はサポートされていません。
- GKE 接続クラスタ: EKS、AKS、その他の Kubernetes インストールはサポートされていません。これらの GKE 接続クラスタに接続するには、Connect Gateway を使用します。
- Google Distributed Cloud の VMware デプロイでは、LDAP プロトコルを使用した認証はユーザー クラスタに対してのみ可能です。VMware 上の管理クラスタは、LDAP による認証をサポートしていません。
- Google Cloud上の GKE クラスタ: GKE クラスタがフリートに登録されている必要があります。 フリートにない GKE クラスタに接続するには、Workforce Identity 連携を使用します。
設定プロセス
サードパーティの ID プロバイダからの認証を設定するには、次のユーザーと手順が必要です。
- プロバイダを構成する: プラットフォーム管理者がクライアント アプリケーションを ID プロバイダに登録します。このクライアント アプリケーションには、Kubernetes のプロトコル固有の構成があります。プラットフォーム管理者が ID プロバイダからクライアント ID とシークレットを取得します。
クラスタを設定する: クラスタ管理者が Identity Service のクラスタを設定します。クラスタ管理者は、次のようにクラスタを設定できます。
- フリートレベルの設定: クラスタ管理者が特定のフリートに登録されているすべてのクラスタを構成します。この方法を使用すると、同様の構成で複数のクラスタを一度に設定できます。詳細については、フリートレベルの認証を設定するをご覧ください。
個々のクラスタの設定: クラスタ管理者が各クラスタを個別に構成します。この方法は、クラスタタイプごとに異なる認証構成が必要なシナリオで使用します。詳細については、次のドキュメントをご覧ください。
ユーザー アクセスを設定する: クラスタ管理者が FQDN アクセス(推奨)またはファイルベースのアクセスのアプローチを使用してクラスタの認証を行うユーザー ログイン アクセスを設定し、必要に応じて、これらのクラスタのユーザーに対する Kubernetes ロールベース アクセス制御(RBAC)を構成します。